1. Список говнокодов пользователя bugmenot

    Всего: 51

  2. JavaScript / Говнокод #5185

    +166

    1. 1
    2. 2
    3. 3
    function isArray(o) {
      return Object.prototype.toString.call(o) === '[object Array]';
    }

    ЖИСТОКЕ

    bugmenot, 08 Января 2011

    Комментарии (13)
  3. Pascal / Говнокод #5172

    +109

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    procedure TfmLab3.mmVesClick(Sender: TObject);
    var
      sngVes, sngFlag: single;
      intFlag: integer;
    begin
      try
        sngVes:=StrToFloat(InputBox('Ввод исходных данных','Введите вес от 40 до 170',''));
        sngFlag:=sqrt(sngVes-40);
        if sngVes>170 then
          begin
            sngFlag:=1/intFlag;
            //ShowMessage(FloatToStr(sngFlag));
          end;
        edWeight.Text:=FloatToStr(sngVes);
      except
        on EConvertError do ShowMessage('Вводить можно только действительные числа!');
        on EInvalidOp do ShowMessage('Минимальный вес 40кг');
        on EZeroDivide do ShowMessage('Максимальный вес 170кг');
      end;
     
    end;

    Брутальненькая лаба с венгеркой и исключениями.

    bugmenot, 07 Января 2011

    Комментарии (23)
  4. Pascal / Говнокод #5022

    +106

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    function IsRunningWithAdminPrivs: Boolean;
    begin
    var
      List: TStringList;
    begin
      List := TStringList.Create;
      try
        try
          List.Text := 'Sample';
          // Use SHGetFolder path to retreive the program files folder
          // here is hardcoded for the sake of the example
          List.SaveToFile('C:\program files\test.txt');
          Result := True;
        except
          Result := False;
        end;
      finally
        List.Free;
        DeleteFile('C:\program files\test.txt');
      end;
    end;

    Нуфф Саид

    bugmenot, 22 Декабря 2010

    Комментарии (63)
  5. JavaScript / Говнокод #5017

    +160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    var countdownfrom=35*10
    
    
    	var currentsecond=document.getElementById('countdown').innerHTML=countdownfrom+1
    
    
    	function cntredirect(){
    
    	if (currentsecond!=0){
    	currentsecond-=1
    	curs=currentsecond/10
    	cc=curs
    	cc=cc.toString();
    	if(curs>=10)
    	if(cc.length<4)cc=cc+".0";
    
    	if(curs<10){
    
    	if(cc.length<3)cc=cc+".0";
    	}
    	document.getElementById('countdown').innerHTML=cc
    	}
    	else{
        		document.getElementById('linkplace').innerHTML=' <a href="'+'http://dl4.rapidshare.ru/1710955/24966/GK.komprenda.user.js">Щелкните здесь для скачивания файла (ссылка активна 12 часов)</a>'
        
    	return
    	}
    	setTimeout("cntredirect()",100)
    	}
    	
    	cntredirect()

    славянская рапида, реализация обратного отсчета

    bugmenot, 22 Декабря 2010

    Комментарии (23)
  6. JavaScript / Говнокод #4923

    +171

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <!DOCTYPE html> 
    
    <html>      
    <head>      
        <!--[if lt IE 10]>
        <script>
            location.href = "http://www.getfirefox.com";
        </script>
        <![endif]-->

    IE == 'НЕНАВИСТЬ!!!11'

    bugmenot, 15 Декабря 2010

    Комментарии (40)
  7. Pascal / Говнокод #4887

    +102

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    function FileIsBusy(AFileName: string): Boolean;
    var
      F: Integer;
    begin
      F := FileOpen(AFileName, fmShareExclusive);
      Result := F = -1;
      FileClose(F);
    end;
    
    function WaitFile(AFileName: string; ASpeepDelay: integer): Boolean;
    begin
      while FileIsBusy(AFileName) do
        Sleep(ASpeepDelay);
      Result := True;
    end;

    пока юзверь ковыряется в Ворде, другой процесс мечтает овладеть файлом
    "It is necessary to wait of end of editing Microsoft Office files.I use next conventional approach: file is editing While file is busy" (ингриш - питерского разлива)

    это stackoverflow такими сниппетами переполнено

    bugmenot, 10 Декабря 2010

    Комментарии (24)
  8. Pascal / Говнокод #4852

    +96

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    procedure TForm1.Button2Click(Sender: TObject);
    var stSQL: string;
    i: integer;
    begin
    
    try
    SQLConnection1.Params.Values['HostName']:=Server; // имя сервера
    SQLConnection1.Params.Values['DataBase']:=MyBase ;
    SQLConnection1.Params.Values['OS Authentication']:= 'True';
    SQLConnection1.Open;
    except
    MessageDlg('Соединение с БД невозможно', mtError, [mbOK], 0);
    exit;
    end;
    
    SQLQuery1.SQL.Add('IF EXISTS (SELECT * FROM sysobjects WHERE name ='+''''+'MyTable'+''''+') DELETE FROM MyTable;');
    SQLQuery1.ExecSQL;
    SQLQuery1.SQL.Clear;
    SQLQuery1.SQL.Add('IF EXISTS (SELECT * FROM sysobjects WHERE name ='+''''+'MyTable'+''''+') DROP TABLE MyTable;');
    SQLQuery1.ExecSQL;
    SQLQuery1.SQL.Clear;
    SQLQuery1.SQL.Add('CREATE TABLE MyTable (VZPROJ varchar(50), PARTITION varchar(50), '+
    'MAKER varchar(50), STATE varchar(50), DATECRT varchar(50), DATEP varchar(50), '+
    'DATEF varchar(50), DATETOCRD varchar(50), DATECRD varchar(50), DATEPLN varchar(50), '+
    'DATEFIN varchar(50), DATECNCL varchar(50))');
    SQLQuery1.ExecSQL;
    
    cdsList.First;
    for i:=1 to cdsList.RecordCount do
    begin
    stSQL:='INSERT INTO MyTable VALUES(';
    if cdsList.FieldByName('VZPROJ').AsString<>'' then
    stSQL:=stSQL+' '''+cdsList.FieldByName('VZPROJ').AsString+''','
    else
    stSQL:=stSQL+' NULL,';
    if cdsList.FieldByName('PARTITION').AsString<>'' then
    stSQL:=stSQL+' '''+cdsList.FieldByName('PARTITION').AsString+''','
    else
    stSQL:=stSQL+' NULL,';
    if cdsList.FieldByName('MAKER').AsString<>'' then
    stSQL:=stSQL+' '''+cdsList.FieldByName('MAKER').AsString+''','
    else
    stSQL:=stSQL+' NULL,';
    if cdsList.FieldByName('STATE').AsString<>'' then
    stSQL:=stSQL+' '''+cdsList.FieldByName('STATE').AsString+''','
    else
    stSQL:=stSQL+' NULL,';
    if cdsList.FieldByName('DATECRT').AsString<>'' then
    stSQL:=stSQL+' '''+cdsList.FieldByName('DATECRT').AsString+''','
    else
    stSQL:=stSQL+' NULL,';
    if cdsList.FieldByName('DATEP').AsString<>'' then
    stSQL:=stSQL+' '''+cdsList.FieldByName('DATEP').AsString+''','
    else
    stSQL:=stSQL+' NULL,';
    if cdsList.FieldByName('DATEF').AsString<>'' then
    stSQL:=stSQL+' '''+cdsList.FieldByName('DATEF').AsString+''','
    else
    stSQL:=stSQL+' NULL,';
    if cdsList.FieldByName('DATETOCRD').AsString<>'' then
    stSQL:=stSQL+' '''+cdsList.FieldByName('DATETOCRD').AsString+''','
    else
    stSQL:=stSQL+' NULL,';
    if cdsList.FieldByName('DATECRD').AsString<>'' then
    stSQL:=stSQL+' "'+cdsList.FieldByName('DATECRD').AsString+''','
    else
    stSQL:=stSQL+' NULL,';
    if cdsList.FieldByName('DATEPLN').AsString<>'' then
    stSQL:=stSQL+' '''+cdsList.FieldByName('DATEPLN').AsString+''','
    else
    stSQL:=stSQL+' NULL,';
    if cdsList.FieldByName('DATEFIN').AsString<>'' then
    stSQL:=stSQL+' '''+cdsList.FieldByName('DATEFIN').AsString+''','
    else
    stSQL:=stSQL+' NULL,';
    if cdsList.FieldByName('DATECNCL').AsString<>'' then
    stSQL:=stSQL+' '''+cdsList.FieldByName('DATECNCL').AsString+''''
    else
    stSQL:=stSQL+' NULL';
    
    stSQL:=stSQL+');';
    
    SQLQuery1.SQL.Clear;
    SQLQuery1.SQL.Add(stSQL);
    SQLQuery1.ExecSQL;
    cdsList.Next;
    end;
    
    end;

    дельфипаста с гарниром

    bugmenot, 07 Декабря 2010

    Комментарии (14)
  9. Pascal / Говнокод #4805

    +97

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    program Project42;
    
    {$APPTYPE CONSOLE}
    
    uses
      SysUtils, Math;
    
    const
      Radix = 10;
    
    function čòũʼnť(N: Integer): Integer;
    begin
      Result := 0;
      while N > 0 do
      begin
        N := N div Radix;
        Inc(Result);
      end;
    end;
    
    function count(N: Integer): Integer;
    begin
    //  Result := Ceil(LogN(Radix, N));     { slow! }
      Result := Ceil(Log10(N));
    end;
    
    function rdtsc: Int64;
    asm
            rdtsc
    end;
    
    var
      I: Integer;
      t0: Int64;
    
    const
      N = 100500;
    
    begin
      try
        Assert((count(42) = čòũʼnť(42)) and (count(100500) = čòũʼnť(100500)));
    
        t0 := rdtsc;
        for I := 1 to N do
          čòũʼnť(Random(MaxInt + 1));
        Writeln('naïve: ', rdtsc - t0, ' ticks');
    
        t0 := rdtsc;
        for I := 1 to N do
          count(Random(MaxInt + 1));
        Writeln('prőper: ', rdtsc - t0, ' ticks');
    
        Writeln(StringOfChar('-', 42));
    
      except
        on E: Exception do
          Writeln(E.ClassName, ': ', E.Message);
      end;
    
      if DebugHook <> 0 then
      begin
        Write('any big key to exit...');
        Readln;
      end;
    
    end.
    
    { http://imgs.xkcd.com/comics/haiku_proof.png :-P }

    матан > метан
    O(1) > O(N)
    логарифм > байтоёбства с делением

    bugmenot, 01 Декабря 2010

    Комментарии (103)
  10. Си / Говнокод #4510

    +109

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    /*
    * The dump header describes the contents of a crash dump.  Two headers
    * are written out: one at the beginning of the dump, and the other at
    * the very end of the dump device.  The terminal header is at a known
    * location (end of device) so we can always find it.  The initial header
    * is redundant, but helps savecore(1M) determine whether the dump has been
    * overwritten by swap activity.  See dumpadm(1M) for dump configuration.
    */
    #define	DUMP_MAGIC	0xdefec8edU		/* dump magic number */

    вот такая сигнатура у крэшдампа соляриса

    bugmenot, 02 Ноября 2010

    Комментарии (20)
  11. Pascal / Говнокод #4232

    +105

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    implementation
    uses Unit1,Unit2,Unit3,Unit4,Unit5,Unit6,Unit7,Unit8;
    {$R *.dfm}
    var
    k,Zst,zk,Vm12,Vm23,Vm34,Vm45,Vm56,Z2pr,Z3pr,Z4pr,Z5pr,Z6pr,Lm12,Lm23,Lm34,Lm45,Lm56,Vk,Vst,Q,q11,q2ob,q3ob,q4ob,q5ob,q6ob,
    Sst,P1st,P2st,p0k,p12k,p23k,p34k,p45k,p56k,L0,Dk,Dst,H,Hst: real;
    J0,j, i: integer;
    const a=1.1; g=9.81; Y=0.03; x1=605; Y1=48; X2=772; Y2=104;
    x3=627; Y3=107; X4=646; Y4=379;
    x5=X3; Y5=194; X6=576; Y6=200;
    x7=582; Y7=193; X8=576;
    x9=X3; Y9=285; X10=526; Y10=291;
    x11=532; Y11=284; X12=X10;
    x13=650; Y13=380; X14=395; Y14=399;
    x15=479; Y15=377; X16=473;
    x17=394; Y17=Y13; X18=314; Y18=Y14;
    x19=398; Y19=Y15; X20=392;
    x21=314; Y21=Y13; X22=233; Y22=Y14;
    x23=317; Y23=Y15; X24=311;
    x25=233; Y25=Y13; X26=152; Y26=Y14;
    x27=235; Y27=Y15; X28=229;
    x29=152; Y29=Y13; X30=70; Y30=Y14;
    x31=154 ; Y31=Y15; X32=148;
    X33=70;Y33=Y13;X34=3;Y34=Y14;
    X35=72;Y35=Y15;X36=66;
    procedure TForm9.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
    Form9.visible:=false;
    end;

    куча Паскаля

    bugmenot, 12 Сентября 2010

    Комментарии (109)