Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 如何在delphi中检查文件指针是否已分配?_File_Delphi - Fatal编程技术网

File 如何在delphi中检查文件指针是否已分配?

File 如何在delphi中检查文件指针是否已分配?,file,delphi,File,Delphi,在delphi中,我们可以创建文件指针来读写字符串到文件中。在我的项目中,如果没有指定文件指针,我必须创建它 请分享实现它的想法 AssignFile(FilePtr, 'File1.txt'); Rewrite(FilePtr); closeFile(FilePtr); 我假设FilePtr是一个文本文件,因为您正在写入一个.TXT文件 如果FilePtr是类的成员,则它从一开始就被归零。如果它是一个全局变量,那么它也有。如果它是一个局部变量,您需要在定义它的方法开始时自己这样做: TTe

在delphi中,我们可以创建文件指针来读写字符串到文件中。在我的项目中,如果没有指定文件指针,我必须创建它

请分享实现它的想法

AssignFile(FilePtr, 'File1.txt');
Rewrite(FilePtr);
closeFile(FilePtr); 

我假设FilePtr是一个文本文件,因为您正在写入一个.TXT文件

如果FilePtr是类的成员,则它从一开始就被归零。如果它是一个全局变量,那么它也有。如果它是一个局部变量,您需要在定义它的方法开始时自己这样做:

TTextRec(FilePtr).Handle:=0;
然后,您可以检查是否已将其分配给具有以下内容的文件:

IF TTextRec(FilePtr).Handle=0 THEN BEGIN
  AssignFile(FilePtr,'File1.txt');
  Rewrite(FilePtr)
END;
关闭时,还必须添加此行:

CloseFile(FilePtr);
TTextRec(FilePtr).Handle:=0;

如果您的FilePtr是一个文件而不是一个文本文件,请用TFileRec替换TTextRec。

实际上,
FilePtr
不是一个指针,而是一个记录。您要查找的是一个
Boolean
变量。或者,您可以进入21世纪,从遗留的Pascal I/O继续前进。这是一个有用的解决方案。