下面这段代码,执行到rewrite时,有时报错,有时通过,不知到底是什么原因?
procedure form1.button1Click(Sender:Object);
var
f: textfile;
begin
//定义文件名
assignfile(f,'e:\1.txt');
rewrite(f);
writeln(f,'Test');
CloseFile(f);
end;
procedure form1.button1Click(Sender:Object);
var
f: textfile;
begin
//定义文件名
assignfile(f,'e:\1.txt');
rewrite(f);
writeln(f,'Test');
CloseFile(f);
end;
或者reset.
isfileexist(filename)
unit SelPath;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, FileCtrl;type
TSelPathFrm = class(TForm)
DirectoryListBox1: TDirectoryListBox;
DriveComboBox1: TDriveComboBox;
Label1: TLabel;
Label2: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure DriveComboBox1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
sPath : string;
end;var
SelPathFrm: TSelPathFrm;implementation
uses PutUp;
{$R *.dfm}//取消选定
procedure TSelPathFrm.BitBtn2Click(Sender: TObject);
begin
sPath := '';
PutUpFrm.Efilename.Text := '';
SelPathFrm.Close;
end;//选定目录
procedure TSelPathFrm.BitBtn1Click(Sender: TObject);
begin
DirectoryListBox1.OpenCurrent;
sPath := DirectoryListBox1.Directory ; if sPath = '' then
begin
PutUpFrm.Efilename.Text := DirectoryListBox1.Directory ;
end
else
PutUpFrm.Efilename.Text := sPath;
SelPathFrm.Close;
end;procedure TSelPathFrm.FormCreate(Sender: TObject);
begin
DriveComboBox1.Drive := 'e' ;
DriveComboBox1.DirList := DirectoryListBox1;
DirectoryListBox1.Directory := DriveComboBox1.Drive + 'windows\system\';
sPath := '';
end;procedure TSelPathFrm.DriveComboBox1Change(Sender: TObject);
begin
DirectoryListBox1.Drive := DriveComboBox1.Drive;
end;end.