如何分配TextFile变量?

时间:2015-12-01 14:48:05

标签: delphi

以下代码尝试将一个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.

如果可以分配给TextFile变量,则可以轻松地在System.OutputSytem.ErrOutput和/或其他TextFile个实例之间切换。但是,作业可能吗?

1 个答案:

答案 0 :(得分:6)

似乎不支持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;