- 1
- 2
- 3
- 4
procedure PP.Execute;
begin inherited;
(Sender as TIndusImage).KOT;
end;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1000
procedure PP.Execute;
begin inherited;
(Sender as TIndusImage).KOT;
end;
В Delphi XE, не знаю с какой версии начиная (в XE7 и XE8 точно) крупные проблемы с TGifImage, а если точнее - если быстро и много их менять, то рано или поздно вываливается тупо всё вместе с интерфейсом (100% где-то в потоках налажали), причем если быстро менять BMP, то всё ОК.
Пришла в голову идея в потоке самому менять кадры анимации, подгружая их как BMP, и дабы затестить сработает ли вообще, начал писать тестовую прогу.
Писал особо не заботясь ни о чем, а потом заметил вот таких индусских котов.
+1000
int cutNCountLt3(char *in, char *out, long min) {
int lt3 = 0;
char *i = in, *j = in, *k = out;
while (*j && *i) {
j = i;
while (*j != ' ' && *j)
*k++ = *j++;
*k++ = *j;
int len = j - i;
lt3 += len < 3;
if (len < min)
*(k -= len + 1) = '\0';
i = j + 1;
}
return lt3;
}
К #9911
А конкретнее http://govnokod.ru/9911#comment295215
После нескольких ревизий в комментах, подумал, что наложить здесь будет лучше... Прошу любить, но не жаловать
+1000
uint16_t swap_bytes(uint16_t a){
uint16_t tmp = *((uint8_t*)&a+1);
*(((uint8_t*)&tmp)+1) = *((uint8_t*)&a);
return tmp;
}
+1000
template<class THTTPServerSettings_>
class TSettingsApplyer: public TAbstractSettingsApplyer
{
private:
enum
{
RESPONSE_BUFFER_SIZE=THTTPServerSettings_::ResponseBufferSize>THTTPServerSettings_::FullBufferedResponseSize?THTTPServerSettings_::ResponseBufferSize:THTTPServerSettings_::FullBufferedResponseSize
};
char _requestBuffer[THTTPServerSettings_::RequestBufferSize];
char _responseBuffer[RESPONSE_BUFFER_SIZE];
char _requestHeaderBuffer[THTTPServerSettings_::RequestHeaderBufferSize];
char _responseHeaderBuffer[THTTPServerSettings_::ResponseHeaderBufferSize];
public:
TSettingsApplyer(void);
virtual void* const GetRequestBuffer(void) const;
virtual void* const GetRequestHeaderBuffer(void) const;
virtual void* const GetResponseBuffer(void) const;
virtual void* const GetResponseHeaderBuffer(void) const;
virtual const size_t GetPort(void) const;
virtual const size_t GetRequestBufferSize(void) const;
virtual const size_t GetRequestHeaderBufferSize(void) const;
virtual const size_t GetResponseBufferSize(void) const;
virtual const size_t GetResponseHeaderBufferSize(void) const;
};
//...
template<class TSettings>
THTTPServer( TSettings settings ):
_SettingsApplyer(*(::new TSettingsApplyer< TSettings >)),
+1000
// Array below is for faster processing of variable length fields with ascii length.
// Varbuut sho var arii initcializeet dinamiski.
char an[1000][3] =
{
{'0','0','0'},{'0','0','1'},{'0','0','2'},{'0','0','3'},{'0','0','4'},{'0','0','5'},{'0','0','6'},{'0','0','7'},{'0','0','8'},{'0','0','9'},
{'0','1','0'},{'0','1','1'},{'0','1','2'},{'0','1','3'},{'0','1','4'},{'0','1','5'},{'0','1','6'},{'0','1','7'},{'0','1','8'},{'0','1','9'},
{'0','2','0'},{'0','2','1'},{'0','2','2'},{'0','2','3'},{'0','2','4'},{'0','2','5'},{'0','2','6'},{'0','2','7'},{'0','2','8'},{'0','2','9'},
{'0','3','0'},{'0','3','1'},{'0','3','2'},{'0','3','3'},{'0','3','4'},{'0','3','5'},{'0','3','6'},{'0','3','7'},{'0','3','8'},{'0','3','9'},
// 84 lines deleted
{'8','8','0'},{'8','8','1'},{'8','8','2'},{'8','8','3'},{'8','8','4'},{'8','8','5'},{'8','8','6'},{'8','8','7'},{'8','8','8'},{'8','8','9'},
{'9','0','0'},{'9','0','1'},{'9','0','2'},{'9','0','3'},{'9','0','4'},{'9','0','5'},{'9','0','6'},{'9','0','7'},{'9','0','8'},{'9','0','9'},
// 6 lines deleted
{'9','7','0'},{'9','7','1'},{'9','7','2'},{'9','7','3'},{'9','7','4'},{'9','7','5'},{'9','7','6'},{'9','7','7'},{'9','7','8'},{'9','7','9'},
{'9','8','0'},{'9','8','1'},{'9','8','2'},{'9','8','3'},{'9','8','4'},{'9','8','5'},{'9','8','6'},{'9','8','7'},{'9','8','8'},{'9','8','9'}
};
int ll = f->cfg.len_len;
long dl = f->data_len;
// Prepare length
if ( NULL == dst )
{
dst_len = f->data_len + ll + 1 ;
dst = (char*) malloc ( dst_len );
}
else
//if( dst_len < ll + dl )
if( dst_len < (unsigned) (ll + dl) )
{
// TO DOO - error should be processed
break;
}
long i2;
if ( ll < 2 )
{
dst[0]=an[dl][2];
}
else if ( ll < 3 )
{
dst[0]=an[dl][1];
dst[1]=an[dl][2];
}
else if ( ll < 4 )
{
dst[0]=an[dl][0];
dst[1]=an[dl][1];
dst[2]=an[dl][2];
}
else if ( ll < 5 )
{
i2 = dl / 1000;
dst[0]=an[i2][2];
i2 = dl % 1000;
dst[3]=an[i2][2];
dst[2]=an[i2][1];
dst[1]=an[i2][0];
}
else if ( ll < 6 )
{
i2 = dl / 1000;
dst[0]=an[i2][1];
dst[1]=an[i2][2];
i2 = dl % 1000;
dst[4]=an[i2][2];
dst[3]=an[i2][1];
dst[2]=an[i2][0];
}
else
{
// General case
for ( int k = ll ; k > 0 ; k-- )
{
dst[k-1] ='0' + dl % 10;
dl/=10;
}
}
dst[dl]=0;
This is a faster version of itoa() or sprintf(str,"%d",value)...
Unfortunately it has a bug - lines of array with numbers 890-899 and 990-999 is missing.
+1000
enum IsHaveItem{
//...
switch(Havelo)
{
case IsHaveItem::Have: have();
case IsHaveItem::Havent: haveOrNotHave();break;
default:assert(false&&"Признай, что ты идиот и это не лечится!");
}
Нашёл в проекте. Нет, ни тогда, когда сработал ассерт.
+1000
void drawFigure()
{
for(int i=0;i<figMaxI;i++)
for(int j=0;j<figMaxY;j++)
if(figure.space[i][j].wut==1)
{
if(figure.y+i>=2)
if(figureEffekt == 1)
{
engine->drawTexture2D(figure.picture.texID, gameSpace.x+((figure.x+j)*34)-effekt[0].x, gameSpace.y+((figure.y+i)*34)-effekt[0].y, 34, 34, 0.4, 0, 0);
engine->drawTexture2D(figure.picture.texID, gameSpace.x+((figure.x+j)*34)+effekt[0].y, gameSpace.y+((figure.y+i)*34)+effekt[0].x, 34, 34, 0.8, 0, 0);
engine->print(fontAlphabet,0, figure.space[i][j].letter , gameSpace.x+((figure.x+j)*34)+6+effekt[0].y,gameSpace.y+((figure.y+i)*34)+4+effekt[0].x,1,0,2);
}
else
{
engine->drawTexture2D(figure.picture.texID, gameSpace.x+((figure.x+j)*34), gameSpace.y+((figure.y+i)*34), 34, 34, 1, 0, 0);
engine->print(fontAlphabet,0, figure.space[i][j].letter , gameSpace.x+((figure.x+j)*34)+6,gameSpace.y+((figure.y+i)*34)+4,1,0,2);
}
}
}
великое и могучее ООП в действии
+1000
while (cin >> v1 >> v2 >> t >> f >> c)
{
...
}
Олимпиадная задачка, на вход подается всего 5 чисел. Все решение находится внутри вышеприведенного while'а.
+1000
QString dump_str = "dump";
log4cplus::tstring tdump = (std::wstring((wchar_t*)dump_str.unicode(), dump_str.length()));
XLogger::dumper = log4cplus::Logger::getInstance(std::wstring(tdump));
Мой "шедевр"
Три преобразования подряд
Если кто подскажет как это по человечески приписать буду благодарен.
+1000
if(m_numberColors>1)
{
m_colorComboColor2.ShowWindow(SW_SHOW);
}
else
{
m_colorComboColor2.ShowWindow(SW_HIDE);
}
if(m_numberColors>2)
{
m_colorComboColor3.ShowWindow(SW_SHOW);
}
else
{
m_colorComboColor3.ShowWindow(SW_HIDE);
}
if(m_numberColors>3)
{
m_colorComboColor4.ShowWindow(SW_SHOW);
}
else
{
m_colorComboColor4.ShowWindow(SW_HIDE);
}
if(m_numberColors>4)
{
m_colorComboColor5.ShowWindow(SW_SHOW);
}
else
{
m_colorComboColor5.ShowWindow(SW_HIDE);
}
if(m_numberColors>5)
{
m_colorComboColor6.ShowWindow(SW_SHOW);
}
else
{
m_colorComboColor6.ShowWindow(SW_HIDE);
}
if(m_numberColors>6)
{
m_colorComboColor7.ShowWindow(SW_SHOW);
}
else
{
m_colorComboColor7.ShowWindow(SW_HIDE);
}
if(m_numberColors>7)
{
m_colorComboColor8.ShowWindow(SW_SHOW);
}
else
{
m_colorComboColor8.ShowWindow(SW_HIDE);
}
if(m_numberColors>8)
{
m_colorComboColor9.ShowWindow(SW_SHOW);
}
else
{
m_colorComboColor9.ShowWindow(SW_HIDE);
}
if(m_numberColors>9)
{
m_colorComboColor10.ShowWindow(SW_SHOW);
}
else
{
m_colorComboColor10.ShowWindow(SW_HIDE);
}
Есть десять элементов!
Нужно в зависимости от числа управлять видимостью.
Страшно подумать если бы их было 1000!!!!