Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program FindPas;
- Uses Dos,crt;
- Type
- List = record
- fName: string[20];
- Date: string[10];
- Hour: string;
- Size: longint;
- Attr: boolean;
- Sc: integer;
- end;
- Var
- Date:DateTime; {}
- Fil:SearchRec; {}
- Plist: array [1..100] of List;
- Imya,StrI,c,im,pas,textF,nameFolder, nameFolderDel: string;
- Hour, Min, Sec: string;
- Day, Month, Year: string;
- I,j,m,l,s,p: integer;
- F: file;
- dir:dirstr;
- nam: namestr;
- ext: extstr;
- fText: text;
- SimvViv:char;
- ParamStr: pathstr;
- k: longint;
- key: char;
- function Menu(m: integer):integer;
- Begin
- ClrScr;
- Writeln('F1 - ', ' ', 'F2 - Open a text document',' ',
- 'F3 - Create a text document', ' ', 'F4 - Delete a file', ' ',
- 'F5 - Delete empty directory',' ', 'F6 - Search for a file in a directory',' ',
- 'ESC - Exit');
- Writeln;
- End;
- function I2S(i : integer):string;
- var
- l : string;
- begin
- I2S := '';
- str(i,l);
- I2S := l;
- end;
- Procedure EntName(StrI: string);
- Begin
- {Poluchit put v tekusch katalog}
- I:= length(nameFolder);
- StrI:= nameFolder;
- For j:=1 to i do
- Begin
- If StrI[j]='.' then
- If (StrI[j+1]='p') or
- (StrI[j+1]='e') or
- (StrI[j+1]='b') or
- (StrI[j+1]='d') or
- (StrI[j+1]='s') or
- (StrI[j+1]='t') or
- (StrI[j+1]='*') then
- Begin
- Delete(StrI,j,5);
- m:=j;
- while StrI[m]<>'\' do
- begin
- m:=m-1;
- Delete(StrI,m,1);
- NameFolder:=StrI;
- end;
- Break;
- End;
- End;
- End;
- Procedure enterFolder(nameFolder:string);
- Begin
- {Vivod elementov dannoy directorii}
- i:=0;
- FindFirst (nameFolder+'*.*',Directory,Fil);
- While DosError=0 do
- Begin
- i:=i+1;
- FSplit(Fil.name, dir,nam,ext);
- UnpackTime (Fil.Time,Date);
- PList[i].fName:=nam+ext;
- If Date.Day <10 then
- Day:='0'+I2S(Date.Day)
- Else Day:=I2S(Date.Day);
- If Date.Month <10 then
- Month:='0'+I2S(Date.Month)
- Else Month:=I2S(Date.Month);
- Year:= I2S(Date.Year);
- PList[i].Date:=Day+'.'+Month+'.'+Year;
- If Date.Hour <10 then
- Hour:='0'+I2S(Date.Hour)
- Else Hour:=I2S(Date.Hour);
- If Date.Min <10 then
- Min:='0'+I2S(Date.Min)
- Else Min:=I2S(Date.Min);
- If Date.Sec <10 then
- Sec:='0'+I2S(Date.Sec)
- Else Sec:=I2S(Date.Sec);
- PList[i].Hour:=Hour+':'+Min+':'+Sec;
- PList[i].Size:=Fil.Size;
- PList[i].Sc:=PList[i].Sc+1;
- FindNext(Fil);
- j:=i;
- End;
- Menu(m);
- For i:=1 to j do
- Begin
- WriteLn(PList[i].fName:20, PList[i].Date:15, PList[i].Hour:10,PList[i].Size:10,' byte.');
- End;
- End;
- Procedure createTextFile ();
- Begin
- Writeln('Im sozd');
- Readln(Im);
- Im:=nameFolder+'\'+Im;
- Assign(FText,Im);
- Rewrite(FText);
- Writeln('Vv text');
- Readln(TextF);
- Writeln(FText,TextF);
- Close(FText);
- Writeln('sozd');
- End;
- Procedure enterTextF();
- Begin
- Im:=nameFolder+'\'+Plist[m-3].fname;
- assign (FText,im);
- reset(FText);
- While not eof(FText) do
- begin
- read(FText,SimvViv);
- write(SimvViv);
- end;
- close(FText);
- End;
- BEGIN
- TextBackGround (3);
- Textcolor(5);
- GotoXY(1,1);
- ClrScr;
- m:=1;
- nameFolder:='C:\';
- enterFolder(nameFolder);
- Repeat
- key:= ReadKey;
- Case key of
- #50:
- Begin
- M:=m+1; write(m);
- GotoXY(1,m);
- If Key=chr(13)then
- Begin
- NameFolder:= nameFolder + Plist[m-3].fname+'\';
- EnterFolder(nameFolder);WriteLn(nameFolder);
- m:=3;
- End;
- End;
- #56:
- Begin
- M:=m-1;
- GotoXY(1,m);
- If Readkey=chr(13) then
- Begin
- NameFolder:= nameFolder + Plist[m-3].fname+'\';
- EnterFolder(nameFolder);
- m:=3;
- End;
- End;
- #49: {Open a text document. 1}
- Begin
- ClrScr;
- Writeln(PList[m-3].fname);
- Writeln;
- enterTextF();
- Writeln;
- Writeln('To exit, click BackSpace.');
- EntName(nameFolder);
- If Readkey = chr(8) then
- enterFolder(nameFolder);
- m:=3;
- End;
- #61: {Create a text document. F3} {Ne menyat}
- Begin
- Writeln(nameFolder);
- CreateTextFile();
- enterFolder(nameFolder);
- End;
- #51: {Delete a file. F4}
- Begin
- Im:=nameFolder+Plist[m-3].fname;
- Assign(f,Im);
- Erase(f);
- enterFolder(nameFolder);
- End;
- #52: {Delete empty Directory}
- Begin
- NameFolderDel:=nameFolder+PList[m-3].fname;
- RmDir(nameFolderDel);
- EnterFolder(nameFolder);
- End;
- #53: {Search for a file in a directory}
- Begin
- Writeln('Enter the name and extension of the file you want to find in this directory.');
- Readln(Imya);
- nameFolder:=nameFolder+'\'+Imya;
- enterFolder (nameFolder);
- Readln;
- EntName(nameFolder);
- EnterFolder(nameFolder);
- Writeln(nameFolder);
- End;
- End;
- Until key=сhr(27);
- End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement