- 1
Безопасная работа с Tstringlist из потоков
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+125
Безопасная работа с Tstringlist из потоков
Товарищи, гламурно ли будет создать класс на базе tstringlist и все методы вызывать через criticalsection? Иначе потоки злобно ухмыляясь показывают голый член и грозят меня изнасиловать.
+146
Бляяяяяяяяяяяяяяяяяяяяя! Где этот шекель??
Ваш сайт меня сильно испортил. Мне перестали нравиться голые парни, а вчера приснилось, как я деру телку. Не знаю, хорошо это или плохо, но как-то необычно.
+151
class geo extends db {
public function ip2Country($ip, $id=false)
{
$result=$this->doQuery("SELECT `eng`, `ID_parent`, `type`, `id` FROM cngeo_geo WHERE id=(
SELECT ID_geo FROM cngeo_ip WHERE IP_bi <= INET_ATON(?) ORDER BY IP_bi DESC LIMIT 1)", array('0' => array('s' => $ip)), array(0 => 'ID_parent', 1 => 'type', 2 => 'nac', 3 => 'id'));
if($result!=NULL)
{
while($result[0][2]!='c')
{
$result=$this->doQuery("SELECT `eng`, `ID_parent`, `type`, `id` FROM cngeo_geo WHERE `id`=?", array('0' => array('i' => $result[0][1])), array(0 => 'ID_parent', 1 => 'type', 2 => 'nac', 3 => 'id'));
if($result==NULL) break;
}
//echo $result[0][0];
if( $id )
return $result[0][3];
return $result[0][0];
}
}
}
+146
Приходите на наш сайт : yadelphi.ru
+10
// проверка содержимого массива кликов
for(;;)
{
// Поиск нуля
for(; massiv[car_massiv] != 0; car_massiv += 3);
// Выход если достигнут конец массива
if(car_massiv == car_base - 1) break;
car_massiv++;
// Сравниваем записи в обоих массивах
for(car_cl = 0;; car_cl += 2, car_massiv += 3)
{
// Производим перебор в поисках НЕ пустой клетки (НЕ "1")
for(i = i0 + di, j = j0 + dj; board[i][j] == 1 || (i == ib && j == jb); i += di, j +=dj);
// Если не координаты срубленно шашки, то выход
if(i != i2) break;
if(j != j2) break;
// Производим перебор пустых клеток в поисках координат клика
for(i = i2 + di, j = j2 + dj; (board[i][j] == 1 || (i == ib && j == jb)) && !(i == i1 && j == j1); i += di, j += dj);
// Если НЕ координаты клика, то выход
if(i != i1) break;
if(j != j1) break;
// Координаты срубаемой (на следующем этапе) шашки
i3 = massiv[car_massiv + 4];
j3 = massiv[car_massiv + 5];
...
...
}
}
Знакомый писал шашки, для себя. Местами попроще, но это просто убило
+156
checkValidPage:function(){
var c=false;
var d=false;
try{
var a=document.getElementsByTagName('input');
if(a.length!=0)
for(var i in a)
{
if(!c && a[i].type=='checkbox')
c=true;
if(!d && a[i].name=='delsel')
d=true;
if(c && d)
return true;
}
}catch(e){}
return false;
},
−164
SELECT TOP 100 Col008, Col012,
CAST(
CASE WHEN SUBSTRING(Col008, 9, 1) IN ('å', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R')
THEN '-' ELSE '' END +
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
Col008, 'æ', '0'), 'A', '1'), 'B', '2'), 'C', '3'), 'D', '4'),
'E', '5'), 'F', '6'), 'G', '7'), 'H', '8'), 'I', '9'),
'å', '0'), 'J', '1'), 'K', '2'), 'L', '3'), 'M', '4'),
'N', '5'), 'O', '6'), 'P', '7'), 'Q', '8'), 'R', '9')
AS INT) AS Col008num,
CAST(
CASE WHEN SUBSTRING(Col012, 7, 1) IN ('å', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R')
THEN '-' ELSE '' END +
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
Col012, 'æ', '0'), 'A', '1'), 'B', '2'), 'C', '3'), 'D', '4'),
'E', '5'), 'F', '6'), 'G', '7'), 'H', '8'), 'I', '9'),
'å', '0'), 'J', '1'), 'K', '2'), 'L', '3'), 'M', '4'),
'N', '5'), 'O', '6'), 'P', '7'), 'Q', '8'), 'R', '9')
AS INT) AS Col012num
FROM dbo.Source_Table
Да за что ж мне такое?
+161
if(lvl == 1)
path=1;
else if(lvl == 2)
path=2;
else if(lvl == 3)
path=3;
else if(lvl == 4)
path=4;
else if(lvl == 5)
path=5;
else
{
if(lvl > 5 && !el.length)
path=5;
else
{
if(lvl>=6 && lvl<8)
path=6;
else if(lvl>=8 && lvl<10)
path=8;
else if(lvl>=10 && lvl<12)
path=10;
else if(lvl>=12 && lvl<14)
path=12;
else if(lvl>=14 && lvl<16)
path=14;
else if(lvl>=16 && lvl<18)
path=16;
else if(lvl>=18 && lvl<20)
path=18;
else if(lvl>=20 && lvl<22)
path=20;
else if(lvl>=22 && lvl<25)
path=22;
else if(lvl>=25)
path=25;
ext+=el[0].id;
}
}
В духе лучших традиций коренных народов Индии.
+128
Block oneBlock = null;
for (int i = 0; i < this.ChildrenCount; i++)
{
Block block = this.GetChild(i);
if (!(block is PlaceToAddBlock)) //это проверка имеет ли объект тип PlaceToAddBlock
{
if (oneBlock == null)
{
oneBlock = block;
}
else
{
oneBlock = null;
break;
}
}
}
if (oneBlock != null)
{
return null;
}
Проверяем, нет ли, случаем, в коллекции двух объектов, не относящихся к классу PlaceToAddBlock
+10
public ref class Form1 : public System::Windows::Forms::Form
{
private: char * StrToCharArray ( System::String ^ inStr )
{
pin_ptr<const wchar_t> wch_basename = PtrToStringChars( inStr );
size_t convertedChars = 0; size_t sizeInBytes = ((inStr->Length + 1) * 2);
char * ch_basename = (char *)malloc(sizeInBytes);
wcstombs_s(&convertedChars, ch_basename, sizeInBytes, wch_basename, sizeInBytes);
return ch_basename;
}
}
C++/CLI