Creates a new file and opens it.
procedure Rewrite(var F: File); overload; procedure Rewrite(var F: File; Recsize: Word); overload;
Rewrite(File F); Rewrite(File F, Word Recsize);
In Delphi code, Rewrite creates a new external file with the name assigned to F.
F is a variable of any file type associated with an external file using AssignFile. RecSize is an optional expression, which can be specified only if F is an untyped file. If F is an untyped file, RecSize specifies the record size to be used in data transfers. If RecSize is omitted, a default record size of 128 bytes is assumed.
If an external file with the same name already exists, it is deleted and a new empty file is created in its place.
If F is already open, it is first closed and then re-created. The current file position is set to the beginning of the empty file.
If F was assigned an empty name, such as AssignFile(F,''), then after the call to Rewrite, F refers to the standard output file.
If F is a text file, F becomes write-only.
After calling Rewrite, Eof(F) is always true.
Delphi Examples:
{ This example reads an entire file into a buffer with one command and then writes it into a saved file. Validate the saved file contents. } procedure TForm1.Button1Click(Sender: TObject); var FromF, ToF: file; NumRead, NumWritten: Integer; Buf: array[1..2048] of Char; begin if OpenDialog1.Execute then { Display Open dialog box } begin AssignFile(FromF, OpenDialog1.FileName); Reset(FromF, 1); { Record size = 1 } if SaveDialog1.Execute then { Display Save dialog box} begin AssignFile(ToF, SaveDialog1.FileName); { Open output file } Rewrite(ToF, 1); { Record size = 1 } Canvas.TextOut(10, 10, 'Copying ' + IntToStr(FileSize(FromF)) + ' bytes...'); repeat System.BlockRead(FromF, Buf, SizeOf(Buf), NumRead); BlockWrite(ToF, Buf, NumRead, NumWritten); until (NumRead = 0) or (NumWritten <> NumRead); // Use CloseFile rather than Close; Close provided for backward compatibility CloseFile(FromF); CloseFile(ToF); Canvas.TextOut(120, 10, ' done.'); end; end; end;
{ Rewrite example } procedure TForm1.Button1Click(Sender: TObject); var F: TextFile; begin AssignFile(F, 'NEWFILE.$$$'); Rewrite(F); // default record size is 128 bytes Writeln(F, 'Just created file with this text in it...'); CloseFile(F); MessageDlg('NEWFILE.$$$ has been created in the ' + GetCurrentDir + ' directory.', mtInformation, [mbOk], 0, mbOK); end;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|