Advertisement
Guest User

Untitled

a guest
Oct 19th, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 3.35 KB | None | 0 0
  1. Program FindPas;
  2. Uses Dos,crt;
  3. Type
  4.    List = record
  5.            fName: string[20];
  6.            Date: string[10];
  7.            Hour: string;
  8.            Size: Byte;
  9.            Attr: boolean;
  10.            Sc: integer;
  11.         end;
  12.  
  13. Var
  14. Date:DateTime;   {}
  15. Fil:SearchRec;   {}
  16. Imya,StrI,c,im,pas,TextF,nameFolder: string;
  17. I,j,m,l,s,p: integer;
  18. F: file;
  19. x,y: byte;
  20. dir:dirstr;
  21. nam: namestr;
  22. ext: extstr;
  23. FText: text;
  24. SimvViv:char;
  25. ParamStr: pathstr;
  26.  
  27. Procedure enterFolder(nameFolder:string);
  28.   Begin
  29.    {Vivod elementov dannoy directorii}
  30.    FindFirst (nameFolder+'*.*',Directory,Fil);
  31.    While DosError=0 do
  32.      Begin
  33.        I:=i+1;
  34.        FSplit(ParamStr, dir,nam,ext);
  35.        UnpackTime (Fil.Time,Date);
  36.        List.fName[i]:=nam+ext;
  37.        List.Date[i]:=Date.Day+'.'+Date.month+'.'+Date.Year;
  38.        List.Hour[i]:=Date.Hour+':'+Date.Min+':'+Date.Sec;
  39.        List.Size[i]:=Fil.Size;
  40.        Sc:=Sc+1;
  41.        FindNext(Fil);
  42.      End;
  43.      For i:=1 to List.Sc do
  44.        Begin
  45.        WriteLn(List.Name:20, List.Date:15, List.Hour:10,List.Size:10,' byte.');
  46.      End;
  47.   End;
  48.  
  49. Procedure sozdTextFile ();
  50.   Begin
  51.     Writeln('Im sozd');
  52.     Readln(Im);
  53.     Assign(FText,Im);
  54.     Rewrite(FText);
  55.     Writeln('Vv text');
  56.     Readln(TextF);
  57.     Writeln(FText,TextF);
  58.     Close(FText);
  59.   End;
  60.  
  61. Procedure enterTextF();
  62.   Begin
  63.     Writeln('viv');
  64.     readln(im);
  65.     assign (FText,im);
  66.     reset(FText);
  67.     While not eof(FText) do
  68.       begin
  69.         read(FText,SimvViv);
  70.         write(SimvViv);
  71.       end;
  72.     close(FText);
  73.     readln;
  74.   End;
  75.  
  76. BEGIN
  77. TextBackGround (3);
  78. Textcolor(5);
  79.  
  80. ClrScr;
  81. Writeln;
  82.  nameFolder:='C:\;
  83. enterFolder(nameFolder);
  84.                 i:=0;
  85.  
  86. Write('1-prevkat  2-sl kat');
  87. Repeat
  88. Case ReadKey of
  89.     #49:
  90.         Begin {Prev katalog}
  91.             {nameFolder[0]:=chr(ord(nameFolder[0])-1);}
  92.             ClrScr;
  93.             I:=length(nameFolder);
  94.             Writeln('..');
  95.             m:=i-1;
  96.             while nameFolder[m]<>'\' do
  97.                 begin
  98.                     If nameFolder='C:\' then break
  99.                        Else
  100.                            Begin
  101.                                 m:=m-1;
  102.                                 Delete(nameFolder,m+1,1);
  103.                            End;
  104.                 end;
  105.             Delete(nameFolder,m,2);
  106.             nameFolder:=nameFolder+'\';
  107.             Writeln(nameFolder);
  108.             enterFolder(nameFolder);
  109.         End;
  110.  
  111.     #50:
  112.         Begin
  113.               {Perehod po papkam vniz}
  114.             Delete(StrI,1,80);
  115.             Writeln('Vv imya papki');
  116.             Readln(StrI);
  117.             nameFolder:= nameFolder+strI+'\';
  118.             Writeln(nameFolder);
  119.             ClrScr;
  120.             enterFolder(nameFolder);
  121.            I:=length(nameFolder);
  122.         End;
  123. End;
  124.  
  125. Until(ReadKey=chr(27));
  126. {Poluchit put v tekusch katalog}
  127. Imya:= FExpand(Fil.name);
  128. I:= length(Imya);
  129. StrI:= Imya;
  130. For j:=1 to i do
  131.   Begin
  132.     If StrI[j]='.' then
  133.       If (StrI[j+1]='p') or
  134.          (StrI[j+1]='e') or
  135.          (StrI[j+1]='b') or
  136.          (StrI[j+1]='d') or
  137.          (StrI[j+1]='s') or
  138.          (StrI[j+1]='*') then
  139.       Begin
  140.         Delete(StrI,j,5);
  141.         m:=j;
  142.         while StrI[m]<>'\' do
  143.         begin
  144.         m:=m-1;
  145.         Delete(StrI,m,1);
  146.         end;
  147.         Break;
  148.       End;
  149.   End;
  150.  
  151. I:=length(StrI);
  152.  
  153. {Udaleniye f}
  154. {Writeln('Imya ud');
  155. Readln(Im);
  156. Assign(f,im);
  157. Erase(f);}
  158.  
  159. {Poisk konkretnogo f v kataloge}
  160. Writeln('Imya s rashireniem');
  161. Readln(Imya);
  162. nameFolder:=nameFolder+'\'+Imya;
  163. enterFolder (nameFolder);
  164.  
  165. Readln;
  166. End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement