home *** CD-ROM | disk | FTP | other *** search
- {
- > A friend of mine has a small problem with Binkley connecting, and whenever
- > this happens, Binkley writes a bunch of Line noise characters in his log f
- > Some of these characters are EOF and EOL markers. I am trying to write a s
- > program that will read it, and write the contents to a new file, without a
- > the garbage in it. Of course, when I get to the first EOF, my program thin
- > it's done.
- }
-
- Program KillChar;
-
- { Written by Tom Carroll and released to the public domain
- on 12/11/93.
-
- This program will read any file and delete any characters passed on
- the command line.
-
- For example: KillChar InFile OutFile ASCII Value (of character)
-
- i.e.: KILLCHAR MYFILE.TXT NEWFILE.TXT 12
-
- This will remove all form feeds from a text file.
-
- No error control is included.
-
- }
-
- VAR
- Buffer : ARRAY[0..255] OF Char;
- TmpString,
- StringVar : STRING;
- FileLoc,
- NumBytes : LongInt;
- InFile,
- OutFile : FILE;
- NumRead : Integer;
- StringPos : Integer;
-
- BEGIN
- Val(ParamStr(3), NumRead, StringPos);
- TmpString := Chr(NumRead); {#26;}
- Assign(InFile, ParamStr(1));
- Reset(InFile, 1);
- Assign(OutFile, ParamStr(2));
- Rewrite(OutFile, 1);
- NumBytes := FileSize(InFIle);
- WHILE FilePos(InFile) < NumBytes DO
- BEGIN
- FileLoc := FilePos(InFile);
- IF FileLoc < (NumBytes - 255) THEN
- BlockRead(InFile, Buffer, 255, NumRead)
- ELSE
- BlockRead(InFile, Buffer, FileSize(InFile) - FileLoc,
- NumRead);
- Move(Buffer[0], StringVar[1], NumRead);
- StringVar[0] := Chr(NumRead);
- StringPos := Pos(TmpString, StringVar);
- WHILE StringPos > 0 DO
- BEGIN
- StringPos := Pos(TmpString, StringVar);
- Delete(StringVar, StringPos, 1);
- END;
- StringPos := Length(StringVar);
- Move(StringVar[1], Buffer, Length(StringVar));
- BlockWrite(OutFile, Buffer, Length(StringVar));
- END;
- Close(InFile);
- Close(OutFIle);
- END.