以下代码尝试将一个TextFile变量分配给另一个,但不编译:
[Error] Operator not applicable to this operand type
program Project1; {$APPTYPE CONSOLE} uses SysUtils; var t1, t2: TextFile; begin t1 := t2; // <-- [Error] Operator not applicable to this operand type end.
如果有可能分配给一个文本文件变量,人们可以能够之间切换System.Output
,Sytem.ErrOutput
和/或其它TextFile
容易实例.但是,作业可能吗?
TextFile
似乎不支持对变量的赋值,但您可以声明并使用指针类型:
type PTextFile = ^TextFile; var F: PTextFile; begin F := @Output; Writeln(F^, 'Hello'); F := @ErrOutput; Writeln(F^, 'Hello'); AssignFile(F^, 'test.txt'); Rewrite(F^); Writeln(F^, 'Hello'); CloseFile(F^); end;