[Back to RECORDS SWAG index] [Back to Main SWAG index] [Original]

    {
    Does anyone have any examples of how to Write Text to a File using
    blockWrite?
    }
    Program DemoBlockWrite;

    Const
      { Carriage-return + Line-feed Constant. }
      co_CrLf = #13#10;

    Var
      st_Temp : String;
      fi_Temp : File;
      wo_BytesWritten : Word;

    begin
      { Assign 5 lines of Text to temp String. }
      st_Temp := 'Line 1 of Text File' + co_CrLf + 'Line 2 of Text File'
                 + co_CrLf + co_CrLf + 'Line 4 of Text File' + co_CrLf +
                 ' My name is MUD ' + co_CrLf;

      assign(fi_Temp, 'TEST.TXT');
      {$I-}
      reWrite(fi_Temp, 1);
      {$I+}
      if (ioresult <> 0) then
      begin
        Writeln('Error creating TEST.TXT File');
        Halt
      end;
      { Write 5 lines of Text to File. }
      BlockWrite(fi_Temp, st_Temp[1], length(st_Temp), wo_BytesWritten);
      { Check For errors writing Text to File. }
      if (wo_BytesWritten <> length(st_Temp)) then
      begin
        Writeln('Error writing Text to File!');
        Halt
      end;
      { Close File. }
      Close(fi_Temp);
      { Attempt to open Text File again. }
      Assign(fi_Temp, 'TEST.TXT');
      {$I-}
      Reset(fi_Temp, 1);
      {$I+}
      if (IOResult <> 0) then
      begin
        Writeln('Error opening TEST.TXT File');
        Halt
      end;
      st_Temp := 'Guy';
      { Position File-Pointer just before the 'MUD' in Text. }
      seek(fi_Temp, 77);
      { Correct my name by overwriting old Text With new. }
      blockWrite(fi_Temp, st_Temp[1], length(st_Temp), wo_BytesWritten);
      { Check For errors writing Text to File. }
      if (wo_BytesWritten <> length(st_Temp)) then
      begin
        Writeln('Error writing Text to File!');
        Halt
      end;
      Close(fi_Temp)
    end.

[Back to RECORDS SWAG index] [Back to Main SWAG index] [Original]