Associates the name of an external file with a file variable.
procedure AssignFile(var F; FileName: string);
AssignFile( F, AnsiString FileName);
System
Call AssignFile to initialize a file variable in Delphi code. F is a file variable of any file type. FileName is a string-type expression or an expression of type PChar if extended syntax is enabled.
After calling AssignFile, F is associated with the external file until F is closed. All further operations on the file variable F operate on the external file named by FileName.
When the FileName parameter is empty, AssignFile associates F with the standard input or standard output file. If assigned an empty name, after a call to Reset (F), F refers to the standard input file, and after a call to Rewrite (F), F refers to the standard output file.
Do not use AssignFile on a file variable that is already open.
Delphi Examples:
{ This example uses a file listbox and a regular listbox on a form. The following routine scans through the files listed in the file listbox and lists the sizes of any selected files to the regular list box. To exercise the error condition create a file in the Debug directory, start this application and then delete the file. Now try to list the size of the deleted file. Set the MultiSelect and ExtendedSelect properties on the FileListBox. } procedure TForm1.Button1Click(Sender: TObject); var F: File; i, filehandle: Integer; begin for i := 0 to (FileListBox1.Items.Count - 1) do begin try if FileListBox1.Selected[i] then begin if not FileExists(FileListBox1.Items.Strings[i]) then begin MessageDlg('File: ' + FileListBox1.Items.Strings[i] + ' not found', mtError, [mbOk], 0); Continue; end; filehandle:= FileOpen(FileListBox1.Items.Strings[i], 1); if (filehandle = -1) then begin MessageDlg('File: ' + FileListBox1.Items.Strings[i] + ' cannot be opened with access mode 1.', mtError, [mbOk], 0); Continue; end else FileClose(filehandle); AssignFile(F, FileListBox1.Items.Strings[i]); Reset(F, 1); ListBox1.Items.Add( FileListBox1.Items.Strings[i] + ': ' + IntToStr(FileSize(F))); CloseFile(F); end; finally { do something here } end; end; end;
{ Use a TOpenDialog to select a file. Place the first line of the file into a TEdit. } procedure TForm1.Edit1Click(Sender: TObject); var F: TextFile; S: string; begin if OpenDialog1.Execute then { Display Open dialog box } begin AssignFile(F, OpenDialog1.FileName); { File selected in dialog } Reset(F); Readln(F, S); { Read first line of file } Edit1.Text := S; { Put string in a TEdit control } CloseFile(F); end; end;
procedure TForm1.Button1Click(Sender: TObject); var F: Textfile; begin OpenDialog1.Title := 'Delete File'; if OpenDialog1.Execute then begin AssignFile(F, OpenDialog1.FileName); try Reset(F); if MessageDlg('Erase ' + OpenDialog1.FileName + '?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin CloseFile(F); Erase(F); end; except on EInOutError do MessageDlg('File I/O error.', mtError, [mbOk], 0); end; end; end;
Copyright(C) 2008 CodeGear(TM). All Rights Reserved.
|
What do you think about this topic? Send feedback!
|