home *** CD-ROM | disk | FTP | other *** search
- Program stripcr;
-
- const space: byte = 32;
- cr: byte = 13;
- lf: byte = 10;
-
- type
- name = string[66];
-
- var
- infile, outfile: file of byte;
- infilename, outfilename: name;
- reply: name;
- inbyte: byte;
- lastbyte: byte;
-
- function exist(filename: name): boolean;
- var fil: file;
- begin
- assign(fil,filename);
- {$I-}
- Reset(fil);
- {$I+}
- Exist := (IOresult = 0);
- end; (* exist *)
-
-
- begin
-
- If (length(paramstr(1)) > 0)
- then begin
- writeln('>> Strip carriage returns from file: ',paramstr(1));
- infilename := paramstr(1);
- if not exist(infilename) then
- repeat
- write('>> Strip carriage returns from file: ');
- readln(infilename);
- if length(infilename) < 1 then halt;
- until exist(infilename);
- end
- else begin
- repeat
- write('>> Strip carriage returns from file: ');
- readln(infilename);
- if length(infilename) < 1 then halt;
- if not exist(infilename) then writeln('No such file!');
- until exist(infilename);
- end;
-
- If length(paramstr(2)) > 0
- then begin
- writeln('>> Store the resulting text file as: ',paramstr(2));
- outfilename := paramstr(2);
- end
- else begin
- write('>> Store the resulting text file as: ');
- outfilename := copy(infilename,1,length(infilename)-1) + '$';
- writeln(outfilename);
- end;
- Assign(infile, infilename);
- Assign(outfile, outfilename);
- Reset(infile);
- Rewrite(outfile);
- repeat
- read(infile,inbyte);
- if (inbyte <> cr) and (inbyte <> lf)
- and (not eof(infile))
- then write(outfile, inbyte)
- else begin
- repeat
- read(infile,inbyte);
- until (inbyte <> cr) and (inbyte <> lf) or eof(infile);
- if inbyte = space (* new paragraph *)
- then write(outfile,cr,lf,inbyte) (* new paragraph *)
- else if lastbyte <> space (* no space *)
- then write(outfile,space,inbyte)
- else write(outfile,inbyte);
- end;
- lastbyte := inbyte;
- until eof(infile);
- close(outfile);
- close(infile);
- end.
-