-
Лучший говнокод
- В номинации:
-
- За время:
-
-
+162
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
for (DWORD CurItem=0; CurItem<dwNumItems; CurItem++)
{
switch (CurItem)
{
case 0:
description.LoadString(IDS_OPC_PROP_CDT);
pPropertyIDs[CurItem] = OPC_PROP_CDT;
pDescriptions[CurItem] = OpcStrDup(description);
pDataTypes[CurItem] = VT_I2;
break;
case 1:
description.LoadString(IDS_OPC_PROP_VALUE);
pPropertyIDs[CurItem] = OPC_PROP_VALUE;
pDescriptions[CurItem] = OpcStrDup(description);
pDataTypes[CurItem] = pDATag->m_value.vt;
break;
case 2:
description.LoadString(IDS_OPC_PROP_QUALITY); //Item Quality
pPropertyIDs[CurItem] = OPC_PROP_QUALITY;
pDescriptions[CurItem] = OpcStrDup(description);
pDataTypes[CurItem] = VT_I2;
break;
case 3:
description.LoadString(IDS_OPC_PROP_TIME); //Item Timestamp
pPropertyIDs[CurItem] = OPC_PROP_TIME;
pDescriptions[CurItem] = OpcStrDup(description);
pDataTypes[CurItem] = VT_DATE;
break;
case 4:
description.LoadString(IDS_OPC_PROP_RIGHTS); //Item Access Rights
pPropertyIDs[CurItem] = OPC_PROP_RIGHTS;
pDescriptions[CurItem] = OpcStrDup (description);
pDataTypes[CurItem] = VT_I4;
break;
case 5:
description.LoadString(IDS_OPC_PROP_DESC); //Item Description
pPropertyIDs[CurItem] = OPC_PROP_DESC;
pDescriptions[CurItem] = OpcStrDup(description);
pDataTypes[CurItem] = VT_BSTR;
break;
case 6:
description.LoadString(IDS_OPC_PROP_SCANRATE); //Item ScanRate
pPropertyIDs[CurItem] = OPC_PROP_SCANRATE;
pDescriptions[CurItem] = OpcStrDup(description);
pDataTypes[CurItem] = VT_R4;
break;
/////////////////////////////////////////////////////////////////////////
}
}
azote,
20 Сентября 2011
-
+162
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
#ifdef _WIN32
#define BEGIN_ASM
#define END_ASM
#define _DB(a) __asm _emit a
#define _STR(a) a
#else
#define BEGIN_ASM asm (
#define END_ASM );
#define _DB(a) ".byte "#a";"
#define _STR(a) a" \n\t"
#endif
#define PARAMETERS_ESP_VOID_VOID_VOID BEGIN_ASM _STR(_DB(0x8B) _DB(0x44) _DB(0x24) _DB(0x04)) _STR(_DB(0x8B) _DB(0x54) _DB(0x24) _DB(0x08)) \
_STR(_DB(0x8B) _DB(0x4C) _DB(0x24) _DB(0x0C)) END_ASM
#define SAVE_3_PARAMETERS BEGIN_ASM _STR(_DB(0x89) _DB(0x44) _DB(0x24) _DB(0xE4)) _STR(_DB(0x89) _DB(0x54) _DB(0x24) _DB(0xEC)) \
_STR(_DB(0x89) _DB(0x4C) _DB(0x24) _DB(0xE8)) END_ASM
#define LOAD_3_PARAMETERS BEGIN_ASM _STR(_DB(0x8B) _DB(0x44) _DB(0x24) _DB(0xE4)) _STR(_DB(0x8B) _DB(0x54) _DB(0x24) _DB(0xEC)) \
_STR(_DB(0x8B) _DB(0x4C) _DB(0x24) _DB(0xE8)) END_ASM
int rdtc()
{
_asm RDTSC
}
#pragma optimize( "gtp", on )
#define VECTORP2DADDFPU \
BEGIN_ASM \
_STR(_DB(0xD9) _DB(0x00)) \
_STR(_DB(0xD8) _DB(0x02)) \
_STR(_DB(0xD9) _DB(0x19)) \
_STR(_DB(0xD9) _DB(0x40) _DB(0x04)) \
_STR(_DB(0xD8) _DB(0x42) _DB(0x04)) \
_STR(_DB(0xD9) _DB(0x59) _DB(0x04)) \
END_ASM
void __stdcall __VectorP2DAddFPU() {
VECTORP2DADDFPU;
}
// для даной функции компилятор сам зделает так чтобы использовались другие регистры процессора в место eax edx ecx и сохранения не понадобится
#define Vector2DAdd(x,y,z) _asm lea eax,x _asm lea edx,y _asm lea ecx,z _asm call __VectorP2DAddFPU;
void __stdcall _VectorP2DAddFPU(void *,void *,void *) {
// сохранение в данном случае вызывается в ручную так как сам компилятор этого не зделает что приведет к не предвиденниму результату или к подению
SAVE_3_PARAMETERS;
PARAMETERS_ESP_VOID_VOID_VOID;
VECTORP2DADDFPU;
LOAD_3_PARAMETERS;
}
http://www.gamedev.ru/code/forum/?id=152492#m3
>стоит ли писать велосипед, реализующий математику подобным образом?
CPPGovno,
18 Сентября 2011
-
+162
- 1
- 2
- 3
- 4
- 5
void IniRead(UnicodeString Name, int n)
{
TStringList* lst=new TStringList;
Ini->WriteString("CardNames","Card"+(UnicodeString)n,Name);
}
чувак создал переменную lst просто так, для теплоты душевной. ну хотелось ему чтоб создался stringlist!
phys-tech,
14 Сентября 2011
-
+162
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
<?if($page=='/map.php'){
$name='Карта сайта';
}
if($page=='/search.php'){
$name='Поиск по сайту';
}
if($page=='/photo.php'){
$name='Фото';
}
if($page=='/schoolsafety/prirodchs/cynami/istoria.php'){
$name='История цунами';
}
if($page=='/school/art.php'){
$name='Стенгазеты';
}
if($page=='/school/photo.php' or $page=='/school/photo_upload.php'){
$name='Фотогалерея';
}?>
<h1><?=$name;?></h1>
Tairesh,
13 Сентября 2011
-
+162
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
switch($_GET['country']) {
foreach ($getActiveChildren $k=>$v){ // тут цикл который создаёт case, echo, break - но он не работает
case "$v[id]":
echo 'Любой текст';
break;}
default:
print '[{value:"",text:"Выбрать автомобиль"}]';
break;
}
Все поймём сразу что код не работает) Но удивляет пытливый ум новичка, который очень просил ему помочь, и он предлагал свои идеи, и говорил что не работает, это чудо одно из тех предложение) В конце концов бедолага разобрался сам... Но вот какое чудо он написал в итоге останется тайной =(
nethak,
10 Сентября 2011
-
+162
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
/*
Содержимое news.xml
<?xml version="1.0" encoding="utf-8"?>
<news>
<item>
<title>Новые поступления</title>
<text>
This program is free software;
</text>
<date>13:30 - 12.08.2004</date>
</item>
<item>
<title>ERERER поступления</title>
<text>
p pppppppppppppppp p p pp p pppppppppppppppppp pppppppppppppppppppppp
</text>
<date>18:30 - 12.08.2004</date>
</item>
</news>
*/
$file = fopen("news.xml","r");
fseek($file, 47, SEEK_SET);
$other = fread($file, 900000);
fseek($file, 0, SEEK_SET);
$prev = fread($file, 47);
fclose($file);
$file = fopen("news.xml","w");
//...
$text1 = "$text";
$title = "$h1";
$date = "$dates";
echo $other;
$all = $prev.'<item><title>'.$title.'</title><text>'.$text1.'</text><date>'.$date.'</date></item>'.$other;
$buff = fputs ($file, $all);
print $buff;
Оригинальный способ дописывать новую новость в xml файл.
Данный способ уже не кошерный:
$doc = new DOMDocument();
$doc->load($xml);
$item = $doc->createElement('item');
$news = $doc>getElementsByTagName('news')->item(0);
$news->appendChild($item);
$doc->save($xml);
MoLe-X,
09 Сентября 2011
-
+162
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
function validemail($email){
if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email))
return false;
$email_array = explode("@", $email);
$local_array = explode(".", $email_array[0]);
for ($i = 0; $i < sizeof($local_array); $i++) {
if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i]))
return false;
}
jQuery,
08 Сентября 2011
-
+162
- 1
- 2
if (suspended())
resume();
http://www.gamedev.ru/code/forum/?id=152077
CPPGovno,
07 Сентября 2011
-
+162
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
public function editSetting($group, $data, $store_id = 0) {
$this->db->query("DELETE FROM " . DB_PREFIX . "setting WHERE store_id = '" . (int)$store_id . "' AND `group` = '" . $this->db->escape($group) . "'");
foreach ($data as $key => $value) {
if (!is_array($value)) {
$this->db->query("INSERT INTO " . DB_PREFIX . "setting SET store_id = '" . (int)$store_id . "', `group` = '" . $this->db->escape($group) . "', `key` = '" . $this->db->escape($key) . "', `value` = '" . $this->db->escape($value) . "'");
} else {
$this->db->query("INSERT INTO " . DB_PREFIX . "setting SET store_id = '" . (int)$store_id . "', `group` = '" . $this->db->escape($group) . "', `key` = '" . $this->db->escape($key) . "', `value` = '" . $this->db->escape(serialize($value)) . "', serialized = '1'");
}
}
}
Всё оттуда же (Open Cart).
Оно бы вроде и ничего, если бы не id и автоинкрементом в таблице "setting". Вот так вот, каждый раз сохраняя настройки, мы прибиваем стопицот старых значений и заводим столько же совершенно новых, которые, тем не менее, в большинстве своём ничем не отличаются от старых.
cybervantyz,
06 Сентября 2011
-
+162
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
/*
Функция для парсинга CSV файла.
Автор: Федорченко Антон Александрович ([email protected], http://sites.neeweb.com/antfsite)
Возвращает двумерный массив:
array(
array ( ... ) //Строка 1
array ( ... ) //Строка 2
...
array ( ... ) //Строка n
)
*/
function parse_csv($filename, $codepage = 'windows-1251') {
$csv_lines = file($filename);
$skip_char = false;
$column = '';
if (is_array($csv_lines)) {
$cnt = count($csv_lines);
for($i = 0; $i < $cnt; $i++) {
$line = trim($csv_lines[$i]);
$first_char = true;
$col_num = 0;
$length = strlen($line);
for ($b = 0; $b < $length; $b ++) {
if ($skip_char != true) {
$process = true;
if ($first_char == true) {
if($line[$b] == '"') {
$terminator = '";';
$process = false;
} else {
$terminator = ';';
}
$first_char = false;
}
if ($line[$b] == '"') {
$next_char = $line[$b + 1];
if ($next_char == '"') {
$skip_char = true;
} elseif ($next_char == ';') {
if($terminator == '";') {
$first_char = true;
$process = false;
$skip_char = true;
}
}
}
if ($process == true) {
if ($line[$b] == ';') {
if ($terminator == ';') {
$first_char = true;
$process = false;
}
}
}
if ($process == true) $column .= $line[$b];
if ($b == ($length - 1)) $first_char = true;
if ($first_char == true) {
$values[$i][$col_num] = $column;
$column = '';
$col_num ++;
}
} else {
$skip_char = false;
}
}
}
}
if (strtolower($codepage) != "utf-8") {
foreach ($values as $lineIndex => $line) {
foreach ($line as $cellIndex => $cell) $values[$lineIndex][$cellIndex] = iconv($codepage, "UTF-8", $cell);
}
}
return $values;
}
Жаль, не пришло в голову запостить сразу - ОНО ещё и неотворматировано было.
Антон Александрович - мощный дядька =)
cybervantyz,
30 Августа 2011