考虑我有一个包含员工信息的文件(员工在该文件上重复)。我必须创建一个相同类型的新文件(具有相同的信息),但我必须做的唯一改变是我需要在变量上累积每个员工(薪水)中常见的数量。 当员工在第一个文件上重复时,我必须在变量上累积薪水,然后将其上传到新文件,当然要检查员工是否在第一个文件中更改了。< / p>
之后我需要更换&#39;带有新文件的第一个文件(包含所有更新的信息)。我不知道该怎么做。这是我的代码:
Assign(firstFile, 'employeesFile');
createFirstFile(firstFile); //this creates the 'old' file
Assign(NEWfile, 'NEWEmployeesFile');
updateInformation(firstFile, NEWfile); //this creates the new file, with updated information
接下来我该怎么办?我应用了此代码,但它会抛出一条错误消息:
分配(firstFile,NEWfile);
错误:不兼容的类型是arg no。 2:得到文件,预期CHAR
答案 0 :(得分:1)
错误是因为第二个参数必须是String(与文件类型的变量关联的文件名)。
假设您已经有两个文件,如果您需要进行替换,您应该: 1-删除原始文件。 2-将第二个文件重命名为与上一个(已删除)文件相同的文件名。
1 -
Erase(FirstFile);
删除变量“FirstFile”上的已分配文件。注意:必须分配文件变量,但不能打开。请参阅https://www.freepascal.org/docs-html/rtl/system/erase.html。
2-
Rename(NEWFile,'employeesFile');
将指定的文件重命名为第二个参数中指定的新名称。如果目标名称已存在,则无法重命名。同样:必须分配文件变量,但不能打开。有关详细信息,请参阅https://www.freepascal.org/docs-html/rtl/system/rename.html。