从代码看,是对文本文件进行操作的代码。?
错误提示不兼容的类型:TPersistent 和 Text,不兼容的类型:TPersistent 和 Text。
出现这种错误的原因是,Assign 函数有多个同名函数,在上述的代码中,Assign 的函数是给 TextFile 文件变量赋值,这个函数应该使用 System 单元中定义的函数,而在实际运行中默认使用System.Class中的Assign函数,此函数的定义如下:
procedure?TPercient.Assign(Source:?TPercient);所以,会出现上述的?TPercient 和 Text 不匹配的错误。 p>
解决办法:
1、将Assign用AssignFile代替。
AssignFile函数
作用:将一个外部文件的文件名与一个文件类型的变量关联,对象变量进行初始化。
原型:procedureAssignFile(var F;FileName:String);
F:一个文件类型的变量,可以是任意数据类型。
FileName:外部文件的文件名。
2、在Assign前面添加限定:
System.Assign(f1,?'word. txt');