1. Pascal / Говнокод #813

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    case PInboxMessage(InboxMessagesList.Items[Item.Index])^.MsgState of
        0 : Item.ImageIndex:=0;
        1 : Item.ImageIndex:=1;
      end;
        1 : Item.ImageIndex:=1;  end;

    Зачем использовать оператор case для проверки...

    guest, 04 Апреля 2009

    Комментарии (0)
  2. Pascal / Говнокод #809

    +148

    1. 1
    2. 2
    3. 3
    if ((x0+a[i,1]{-1}) in [1..8])or((y0+a[i,2]) in [1..8]{2}){and(brd[(x0+a[i,1]),(y0+a[i,2])]=0) } then begin
          reit[i]:=stepsreit(brd,x0+a[i,1],y0+a[i,2]);
        end;

    А почему оно не работает?

    guest, 03 Апреля 2009

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

    −107.4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    w := ord(CHar(Pbyte(Pointer(Integer(IN_BUFFER)+ inpos))^));
    s := ord(Char(Pbyte(Pointer(Integer(IN_BUFFER)+ inpos + 1))^));
    PByte(Pointer(Integer(out_buf)+ outpos))^ := w and 255;        {?????? ?? ?????? ??????}
    PByte(Pointer(Integer(out_buf)+ outpos + 1))^ := w shr 8;
     PByte(Pointer(Integer(out_buf)+ outpos))^ := PByte(Pointer(Integer(out_buf)+ outpos))^ or ((W and 15) shl 4);

    доступ к указателям как к массивам

    guest, 31 Марта 2009

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

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    b:=['F','G','K','L','N'];
    for i:=1 to 10 do
    for j:=1 to 10 do
    begin
    repeat
    M[i,j] := chr(random(9)+70);
    until M[i,j] in b;
    end;

    Надо заполнить массив случайными буквами из набора. Бросаем монетку, пока не выпадет решка...

    guest, 22 Марта 2009

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

    +152

    1. 1
    for i=1 to 10 do i=i+1- ошибка в дельфи .как отключить эту фишку

    улыбнуло)

    guest, 17 Марта 2009

    Комментарии (6)
  6. Pascal / Говнокод #674

    +153

    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
    var c:longint;
    begin
      c:= 12345;
      write( char(  ( ((( (c div 10000) mod 10 ) mod 2) + 1) mod 2) * (( (c div 10000) mod 10 ) +
             byte( '0' )) + (( (c div 10000) mod 10 ) mod 2) * byte(' ') ) ,
             char(  ( ((( (c div 1000)  mod 10 ) mod 2) + 1) mod 2) * (( (c div 1000)  mod 10 ) +
             byte( '0' )) + (( (c div 1000)  mod 10 ) mod 2) * byte(' ') ) ,
             char(  ( ((( (c div 100)   mod 10 ) mod 2) + 1) mod 2) * (( (c div 100)   mod 10 ) +
             byte( '0' )) + (( (c div 100)   mod 10 ) mod 2) * byte(' ') ) ,
             char(  ( ((( (c div 10)    mod 10 ) mod 2) + 1) mod 2) * (( (c div 10)    mod 10 ) +
             byte( '0' )) + (( (c div 10)    mod 10 ) mod 2) * byte(' ') ) ,
             char(  ( ((( (c div 1)     mod 10 ) mod 2) + 1) mod 2) * (( (c div 1)     mod 10 ) +
             byte( '0' )) + (( (c div 1)     mod 10 ) mod 2) * byte(' ') ) );
    
    readln;
    end.

    На одном чайникофоруме попросили решить задачу на паскале: вывести все чётные цифры пятизначного числа. При этом нельзя пользоваться функциями, циклами и условными операторами. Вот, что у меня из этого получилось :)

    guest, 05 Марта 2009

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

    +150

    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
    VAR FL:TEXTFILE;
        l:string;
        i:integer;
        xmass,itrmass:array [1..100] of real;
    begin
    {...}
     ASSIGNfile(FL,'results.txt');
       reset(fl);
       readln(fl,l);
       i:=1;
        while L[i]<>' ' do begin
         xmass[i]:=strtoint(L[1]);
         i:=i+1;
                           end;
    {...}
    end;

    В файле хранилась последовательность вещественных чисел... Такой вот вариант ее оттуда выкорчевать о_О

    guest, 19 Февраля 2009

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

    +152

    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
    if currIndex=2 then
          begin
          // разкрываем выделенные узлы
            TreeView_U.Items[r].Expanded:=true;
            if TreeView_U.Items[r].Parent <> nil then
            begin
              TreeView_U.Items[r].Parent.Expanded:=true;
              if TreeView_U.Items[r].Parent.Parent <> nil then
              begin
                TreeView_U.Items[r].Parent.Parent.Expanded:=true;
                if TreeView_U.Items[r].Parent.Parent.Parent <> nil then
                TreeView_U.Items[r].Parent.Parent.Parent.Expanded:=true;
              end;
            end;

    Наткнулся тут в прокете. Поначалу просто кусок закоментировал не разбираясь, потому что просто не нужен. Суть - попытка раскрыть полностью ветвь дерева, если в ней есть хоть один выбранный (с помеченным чекбоксом) элемент, о чём говорит currIndex=2.
    Весь офис валяется под столами :)))

    guest, 13 Февраля 2009

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

    +148

    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
    if currIndex=2 then
     begin
      // разкрываем выделенные узлы
      TreeView_U.Items[r].Expanded:=true;
      if TreeView_U.Items[r].Parent <> nil then
       begin
        TreeView_U.Items[r].Parent.Expanded:=true;
        if TreeView_U.Items[r].Parent.Parent <> nil then
         begin
          TreeView_U.Items[r].Parent.Parent.Expanded:=true;
          if TreeView_U.Items[r].Parent.Parent.Parent <> nil then
           TreeView_U.Items[r].Parent.Parent.Parent.Expanded:=true;
         end;
       end;

    Это попытка раскрыть полностью ветвь дерева, если в ней есть хоть один выбранный (с помеченным чекбоксом) элемент, о чём говорит currIndex=2
    Вообще-то оно даже работает, ибо вложенность дерева маленькая. Но увеличиться запросто может...

    guest, 13 Февраля 2009

    Комментарии (0)
  10. Pascal / Говнокод #529

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    { Units of time }
    
      HoursPerDay   = 24;
      MinsPerDay    = HoursPerDay * 60;
      SecsPerDay    = MinsPerDay * 60;
      MSecsPerDay   = SecsPerDay * 1000;

    SysUtils.pas из delphi 6

    guest, 10 Февраля 2009

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