Школоло / Говнокод #7125 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
if Length(PP.curdir)<36 then
pt:=' '+PP.curdir+' '
else pt:=' \...'+Copy(PP.curdir,Length(PP.curdir)-30,31)+' ';
Ptr:=PP.f_ptr;
if PP.vol='' then PP.vol:='No Label';
WriteString(1,cc+(40-length(pt)) div 2,pt,Pal[8]);
WriteString(22,cc+1+(cc*(34-length(PP.vol))) div 40,'['+PP.vol+']',Pal[7]);
if PP.vol='No Label' then  PP.vol:='';
{if PP.empty then exit;}
inc(ptr,sizeof(filrec)*row);
for i:=row to n+row do begin
if (i <PP.files) and (not PP.empty) then begin fname:=ptr^.filename;
{if (ptr^.fileattr and 16) = 0 then StrLwr(fname);}
if (Ptr^.fileattr and 2) <> 0 then fname[1]:=upcase(fname[1]);
if ((Ptr^.fileattr and Hidden) <> 0) and (Pos('.',Fname)>0) then fname[Pos('.',Fname)+1]:=upcase(fname[Pos('.',Fname)+1]);
SortFIle(fname);
for a := length(fname) to 11 do fname:=fname+' ';
fname:=fname+'│';
if (Ptr^.fileattr and 16) = 0 then Str(Ptr^.filesize:10,pt)
else if fname[1]='.' then pt:='UP──-DIR'
     else pt:='SUB─-DIR';
fname:=fname+pt+'│';
DateTimeCnv(pt,Ptr^.filedttm);
fname:=fname+pt;     {SetFattr}
if Ptr^.selected then WriteString(2+i-row,cc,fname,Pal[1]) else
WriteString(2+i-row,cc,fname,Pal[2]);
inc(ptr,sizeof(filrec));
end
else WriteString(2+i-row,cc,'            │          │        │     ',Pal[1]);
end;
end;
procedure Put_File(PP:Panel;cc,row,x:word;active:boolean);
var
fname,pt:string;
{ptr:P_filrec;}
begin
if PP.empty then exit;
ptr:=PP.F_ptr;
inc(ptr,sizeof(filrec)*(row+x));
fname:=ptr^.filename;
{if (ptr^.fileattr and 16) = 0 then StrLwr(fname);}
if (Ptr^.fileattr and 2) <> 0 then fname[1]:=upcase(fname[1]);
if ((Ptr^.fileattr and Hidden) <> 0) and (Pos('.',Fname)>0) then fname[Pos('.',Fname)+1]:=upcase(fname[Pos('.',Fname)+1]);
SortFile(fname);
for a := length(fname) to 11 do fname:=fname+' ';
fname:=fname+'│';
if (Ptr^.fileattr and 16) = 0 then Str(Ptr^.filesize:10,pt)
else if fname[1]='.' then pt:='UP──-DIR'
     else pt:='SUB─-DIR';
fname:=fname+pt+'│';
DateTimeCnv(pt,Ptr^.filedttm);
fname:=fname+pt;
if active then If Ptr^.selected then WriteString(2+x,cc,fname,Pal[3]) else
WriteString(2+x,cc,fname,Pal[4])
else if Ptr^.selected then WriteString(2+x,cc,fname,Pal[1]) else
WriteString(2+x,cc,fname,Pal[2])

Файловый менеджер по-типу NC. Pascal, 7-ой класс школы. Участок формирования одной из панелей.
PS: Вообще, это даже как-то работало: http://habrastorage.org/storage1/84736ecc/b4711597/5b1d2618/5b60c662.png

Запостил: Tronix Tronix, (Updated )

Комментарии (24) RSS

  • Не пойму зачем там указатели и всякие
    inc(ptr,sizeof(filrec)*(row+x));
    Когда можно было выделять память под массив и обращаться по индексу.

    А так - для седьмого класса имхо гениально.
    Ответить
    • Не помню за давностью, почему так. Весь проект - где-то около ~6000 строк, и всегда идет примерно такой код:
      ut_File(PXx^,1+curac*40,rb,x,True);      {HZ  !!!!!!!! x-1 ??????}
      ClearBox(Pal[10],23,1+length(PXx^.curdir),23,79);
      if CurX > 79-length(PXx^.curdir) then
      WriteString(23,1+length(PXx^.curdir),copy(cmd,CurX - (79-length(PXx^.curdir))+1, 79),pal[10])
      else if Length(cmd) > 79-length(PXx^.curdir) then
      WriteString(23,1+length(PXx^.curdir),copy(cmd,1,79-length(PXx^.curdir)),pal[10])
      else
      WriteString(23,1+length(PXx^.curdir),cmd,pal[10]);
      WriteString(23,0,Pxx^.curdir,pal[11]);
      WriteString(23,length(Pxx^.curdir),'>',pal[12]);
      cursoron;
      if CurX > 79-length(PXx^.curdir) then
      SetPos(23,length(PXx^.curdir)+CurX mod 80)
      else
      SetPos(23,1+length(PXx^.curdir)+CurX);
      b:=GetKeymouse;
      ch:=chr(b{ and 255});
      b:=b shr 8;
      cursoroff;
      Put_File(PXX^,1+curac*40,rb,x,false); {!!!!!!!!!!! WARNING x-1??? !!!!!!}


      Все комментарии примерно такие как в вышеприведенном участке -)
      Ответить
  • Давайте введём возрастной ценз авторов кода. Хотя бы курса до третьего.
    Ответить
      • Ну, кто-то же будет сопровождать код, написанный в первые два года.
        Ответить
        • матан-каптча и что-нибудь из интергрального исчисления
          пропустит вундеркинда и отгонит 3 курс педоучилища
          Ответить
          • Господа, я уже много лет назад окончил высшее учебное заведение (Московский Авиационный Институт, 3-ий фак, Автоматизированных систем обработки информации и управления), перед этим получил средне-специальное образование в техникуме (МГКИТ на курской, 2203 - Программное обеспечение вычислительной техники и автоматизированных систем). Если вы думаете, что меня не гоняли по матану, статистике, матанализу и еще куче дисцеплин - вы ошибаетесь. Сей код - именно что из школы, просто случайно нашел в бекапах. Согласитесь, что в то время, когда еще даже не было интернета, а только пирацкие диски со спеками это все было не так просто... Не понравилось - ну все, удаляюсь.
            Ответить
            • Бля, народ, читаю его и думаю - оставьте простую капчу, она тоже некоторых отпугивает
              Ответить
              • >простую капчу, она тоже некоторых отпугивает
                Ага, ботов и почти слепых.
                Ответить
            • * интегрального
              ну вот, QED, МАИ - пропустит, а текстильный - нет, как и задумывалось
              Ответить
              • >текстильный
                Вы думаете, большую часть лаб сюда постят студенты данного учебного заведения?
                Ответить
  • ф!B(S$T$A.Q"M F,O:H(V$P(CG$Z)L"FJ(L)V.T?A"D(A.X"KB Q)R$C G"B K K.U?AT(E:Q?A,T.Q(Q"W,P!P.S,D,N"Q"H)T$I(A,P P"JC$T,H)Z?Z$B)K!B!MVN?U,T)N.W$G(V?I K"D.WW.H)P:O"S(U Y:Q(K$A?N!E!P.B$I$M:S:E!X.Y"G:S"V?O.Y)K(Y,W,L"F,I J:US:L:T:HE,J?N"I"T JU?MP C:EV"M:I)J(P U:X!D,Z.F"GZ,Z)H,C"B$P"W!U?F?I!JM.M(V.B"B!J?M"W,W!O"F"Q$AC?I!T,LX R"X:V,C:T?X?M(C(G:T(Q.Y"YZ.VJ.Q.E(N?M:AFN$QL.R(V"I,P(W,A(X,U,O?S R$F:L"G,I"W,N.P)Y(H)YQ$X W.D(A,D K.E?B(O:P$T"I(E:F!J"B:RV:UM:N(X?A.R)M!I$Q,YU"X$K AQ)K)A,W Y:S,G,U,S!M)U)O.T?X.M(D?I!J!S,U,A.I.D$Q?G)W:S Z,Q?M$F?C.F$B$K!Y.G!SG Q$M.O$RU$M$Q?M.F MV)W V"M$P?J$N?T:N Q Y,Q"H?V:N R)R"R.S!SH)W.Y(Q.L.T?U I(A.E.K:K.D$A)B)Z G,N(W.C?P"G?G!Z P)O!M M X?H U?V?A$E!R"S?C:G(M(DU$D:D!P?O?J)N)Z)O"R:H,E.U:E(Q"W,O(R.N T P,J.X)R)E:A)P!N!Q)Y.Y:S:C:E S,S"G"B?R,E"Y(H)L:U$F:P(Y(N Z(F,Z"K M$UB)CP$D(P!Y,A.VRC!G$P?SG)J:T,V.S.O"S$T(T(M)E?G:F?MP,J?A"H"HI(G"H?W!Q$F.T)K,D!T O)C"BFQ.U N:O)Q H?R,V(K A(T!R S$W.J!M"F:FH?E:Z VV$X.J.C!Y$T?K?NI)R(R(L:W(N)H?D,W,U)T:X(P(I J$V)T.Y)R(W?IP!Q,P!M(S(R E"ER:N(H:L B!OK"P"E?A!D!X$B,D(Z?X(J"MI,O"S M"H,KY(J(M!P)L?C(A"P?J?F,K:T"BАMVOKTYJYKAODTDEGIVEYOMCUWGMXJEAQNVHMKKVEUQSLKPBBKKHHGALLFCOMGQGIJFOXZFWOWBIPQOGVHBGMGNGSNDGLMRTNKEJBLCSAETOAMIMXEVJPHQIYZHXOUBJOVAVPUKDPNMHLIEGEFSUZLUINNFGZACXGQSVKBPVAOUBEAJAVUJNWXKZBETYVNFOTDNVDLDZSURBWCETFE
    Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8