- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 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
TheHamstertamer 01.07.2011 10:57 # 0
kipar 01.07.2011 11:32 # +3
inc(ptr,sizeof(filrec)*(row+x));
Когда можно было выделять память под массив и обращаться по индексу.
А так - для седьмого класса имхо гениально.
Tronix 01.07.2011 12:30 # +1
Все комментарии примерно такие как в вышеприведенном участке -)
bugmenot 01.07.2011 13:20 # +2
Tronix 01.07.2011 17:09 # 0
LegionDead 01.07.2011 16:33 # −6
TheHamstertamer 01.07.2011 16:47 # +4
LegionDead 01.07.2011 16:48 # −3
Tronix 01.07.2011 17:10 # +2
guest 01.07.2011 17:29 # −3
Tronix 01.07.2011 17:49 # +2
TheHamstertamer 02.07.2011 19:13 # +1
guest 03.07.2011 00:13 # −1
carsten 05.07.2011 07:05 # +2
gegMOPO4 06.07.2011 19:50 # −1
guest 06.07.2011 20:02 # −2
gegMOPO4 06.07.2011 20:23 # 0
bugmenot 06.07.2011 21:38 # 0
пропустит вундеркинда и отгонит 3 курс педоучилища
Tronix 06.07.2011 23:13 # 0
SmackMyBitchUp 06.07.2011 23:54 # 0
guest 07.07.2011 00:41 # −1
Ага, ботов и почти слепых.
bugmenot 07.07.2011 01:28 # −1
ну вот, QED, МАИ - пропустит, а текстильный - нет, как и задумывалось
guest 07.07.2011 02:37 # −1
Вы думаете, большую часть лаб сюда постят студенты данного учебного заведения?
guest8 09.04.2019 18:11 # −999