home *** CD-ROM | disk | FTP | other *** search
- program suchtext;
-
- uses crt,extend;
-
- var
- ch : char;
- textzeichen : set of char;
- fsize,fpos,z : longint;
- zeile : string[255];
- infile : file of char;
- outfile : text;
-
- begin
- clrscr;
- write ('Dateiname : ');
- readln (zeile);
- if not exist(zeile) then
- begin
- writeln(zeile,' nicht gefunden...');
- halt;
- end;
- assign (infile,zeile);
- reset (infile);
- fsize := filesize(infile);
- assign (outfile,'suchtext.out');
- rewrite(outfile);
- writeln(outfile,zeile);
- zeile := '';
- textzeichen := [#32..#122,#129,#132,#142,#148,#153,#154,#225];
- z := doszeit;
- while (filepos(infile) < fsize) do
- begin
- if length(zeile) > 59 then
- begin
- fpos := filepos(infile)-length(zeile);
- writeln(fpos:6,' ',length(zeile):3,' "',zeile,'"');
- writeln(outfile,fpos,'/',length(zeile),'/',zeile,'/');
- zeile := '';
- end;
-
- read (infile,ch);
- if (ch in textzeichen) then
- begin
- zeile := zeile + ch;
- end
- else
- begin
- if length(zeile) > 4 then
- begin
- fpos := filepos(infile)-length(zeile)-1;
- writeln(fpos:6,' ',length(zeile):3,' "',zeile,'"');
- writeln(outfile,fpos,'/',length(zeile),'/',zeile,'/');
- end;
- zeile := '';
- fpos := filepos(infile);
- if fpos < (fsize - 10) then
- begin
- seek (infile,fpos+5);
- read (infile,ch);
- if (ch in textzeichen) then
- seek (infile,fpos);
- end;
- end;
- end;
- z := (doszeit - z) div 18 ;
- writeln('Zeitbedarf: ca. ',z,' s');
- close (infile);
- close (outfile);
- end.