從代碼看,是壹段對文本文件進行操作的代碼。?
錯誤提示 Incompatibale types : TPersistent and Text,不兼容的類型:TPersistent 和 Text。
出現這種錯誤的原因在於,Assign 函數有多種同名函數,在上述的代碼中,Assign 的功能是給 TextFile 文件變量賦值,這個函數應該使用 System 單元中定義的函數,而在實際運行中默認使用的 System.Class 中的 Assign 函數,此函數的定義如下:
procedure?TPersistent.Assign(Source:?TPersistent);所以,會出現上述的?TPersistent 和 Text 不匹配錯誤。
解決辦法:
1、將 Assign 用 AssignFile 代替。
AssignFile 函數
作用:將壹個外部文件的文件名與壹個File類型的變量關聯,並對變量進行初始化。
原型:procedure AssignFile(var F; FileName: String);
F:壹個File類型的變量,可以是任何數據類型。
FileName:外部文件的文件名。
2、在 Assign 前面添加限定:
System.Assign(f1,?'word.txt');