- 1
- 2
- 3
while (FilePos(SrcFile) <> FileSize(SrcFile)) do begin
BlockRead(SrcFile,Res,1);
...
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+112
while (FilePos(SrcFile) <> FileSize(SrcFile)) do begin
BlockRead(SrcFile,Res,1);
...
Пытаюсь одному объяснить кое-что из основ. Мне плохо от его перлов.
Нехорошо смеяться над новичками, но я уже не выдержал...
http://www.gamedev.ru/flame/forum/?id=147021&page=10#m148
+145
while ( strlen ( &ParseSMS[pos] ) != 0 )
{
Byte0 = HexToByte(&ParseSMS[pos]);
pos += 2;
pSMS->sms[txt_counter] = Byte0;
txt_counter ++;
}
достались исходнички. Человек не знает, как работает strlen
а буфер то на 140 байт !
+121
for i:=1 to 200000000 do;//имитация паузы
ggProcess.Progress:=ggProcess.Progress+13;
Ксакеп снова в теме:
http://www.xakep.ru/magazine/xa/016/050/2.asp
Имитация паузы, блеять.
+167
#include <windows.h>
struct io
{
io()
{
SetConsoleTitle(__FUNCSIG__);
}
~io()
{
DebugBreak();
}
} io_obj;
int main()
{
}
typedef void(fn_t)();
#pragma comment(linker, "/merge:.CRT=.rdata")
#pragma data_seg(".CRT$XCA")
extern "C" fn_t * start[] = {0};
#pragma data_seg(".CRT$XCZ")
extern "C" fn_t * finish[] = {0};
#pragma data_seg()
void call_dtors();
extern "C" void _initterm()
{
fn_t **p = start, **q = finish;
while (p < q)
{
if (*p)
(*p)();
++p;
}
main();
call_dtors();
}
fn_t * dtors[999];
int c_dtors;
void call_dtors()
{
while (c_dtors--)
dtors[c_dtors]();
}
extern "C" int atexit(void (__cdecl *func )( void ))
{
dtors[c_dtors++] = func;
return !"unspecified";
}
если клепаем что то без CRT и хотим чтоб вызывались
конструкторы деструкторы статических объектов и хотим свое то
вот реализация для тех кто этого еще неделал
https://wasm.ru/forum/viewtopic.php?pid=428250#p428250
+143
void foo()
{
#define A_LEN 32
#define B_LEN 40
void* tmp_a = malloc(A_LEN);
memset(tmp, 0, A_LEN);
void* tmp_b = malloc(B_LEN);
memset(tmp, 0, B_LEN);
/* ... тело функции ...*/
free(tmp_a);
free(tmp_b);
}
Выложил болванку правда, а не сам код, но за то все сразу очень наглядно. При чем дефайны повторяются в каждой функции.
−162
USE [VOLTAREN]
GO
/****** Object: UserDefinedFunction [dbo].[myReplace] Script Date: 04/05/2011 12:11:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[myReplace](@NAME varchar(255))
RETURNS varchar(255)
BEGIN
set @NAME = (
UPPER(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
replace(
@NAME,'*','')
,'табл','таб')
,'~','')
,'`','')
,'<','')
,'>','')
,'}','')
,'{','')
,']','')
,'[','')
,'=','')
,'_','')
,'#','')
,'$','')
,'?','')
,'^','')
,'&','')
,'@','')
,'''','')
,'"','')
,':','')
,'%','')
,'-','')
,'+','')
,')','')
,'(','')
,'N','')
,'№','')
,'|','')
,'\','')
,'/','')
,'!','')
,';','')
,',','')
,'.','')
,' ','')));
return(
replace(
@NAME,
'покробол','по')
)
END;
функция удаления не нужных символов из строки
+155
private $data = array(
'name' => '',
'organization' => '',
'mail' => '',
'phone' => '',
'comment' => '',
'model' => '',
);
Так адекватные люди создают асоциативные массивы? Или по другому?
+125
#line 411 "ext/standard/var_unserializer.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
yych = *YYCURSOR;
switch (yych) {
case 'C':
case 'O': goto yy13;
case 'N': goto yy5;
case 'R': goto yy2;
case 'S': goto yy10;
case 'a': goto yy11;
case 'b': goto yy6;
case 'd': goto yy8;
case 'i': goto yy7;
case 'o': goto yy12;
case 'r': goto yy4;
case 's': goto yy9;
case '}': goto yy14;
default: goto yy16;
}
yy2:
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case ':': goto yy95;
default: goto yy3;
}
yy3:
#line 733 "ext/standard/var_unserializer.re"
{ return 0; }
#line 442 "ext/standard/var_unserializer.c"
yy4:
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case ':': goto yy89;
default: goto yy3;
}
yy5:
yych = *++YYCURSOR;
switch (yych) {
case ';': goto yy87;
default: goto yy3;
}
yy6:
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case ':': goto yy83;
default: goto yy3;
}
yy7:
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case ':': goto yy77;
default: goto yy3;
}
yy8:
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case ':': goto yy53;
default: goto yy3;
}
yy9:
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case ':': goto yy46;
default: goto yy3;
}
yy10:
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case ':': goto yy39;
default: goto yy3;
}
yy11:
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case ':': goto yy32;
default: goto yy3;
}
yy12:
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case ':': goto yy25;
default: goto yy3;
}
yy13:
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case ':': goto yy17;
default: goto yy3;
}
yy14:
++YYCURSOR;
/* далее еще несколько похожих кусков кода чуть менее хардкорных */
http://svn.php.net/viewvc/php/php-src/trunk/ext/standard/var_unserializer.c?view=markup
Исходники функции unserialize в php, не зря она так медленно работает на больших массивах...
+72
Object key = (Object) (iterator.next());
+128
uses crt;
var
d,m,k:integer;
begin
write('Введите день - ');readln(d);
write('Введите месяц - ');readln(m);
case m of
1: k:=365-d;
2: k:=365-(31+d);
3: k:=365- (31+28+d);
4: k:=365- (31+28+31+d);
5: k:=365- (31+28+31+30+d);
6: k:=365- (31+28+31+30+31+d);
7: k:=365- (31+28+31+31+30+30+d);
8: k:= 365-(31+28+31+31+30+30+31+d);
9: k:= 365- (31+28+31+31+30+31+30+31+d);
10: k:=365- (31+28+31+31+30+31+31+30+30+d);
11: k:=365- (31+28+31+31+30+31+31+30+30+31+d);
12: k:=365- (31+28+31+31+30+31+31+30+31+30+30+d);
end;
writeln('До конца года осталось ',k,' дн.');
end.