【发布时间】:2011-08-06 17:50:53
【问题描述】:
procedure ListMembers;
var
Member, lMembers: string;
lengthOfMember: Longint;
begin
Writeln;
Writeln;
Reset(FileA); //Only need read-only
Reset(FileB); //Only need read-only
while not Eof(FileA) do
begin
Readln(FileA, lMembers);
Write(lMembers);
end;
Writeln(sLineBreak + sLineBreak);
Write('Type the name of the member for more information: ');
Readln(Member);
lengthOfMember := Length(Member) + 2;
Seek(FileB, lengthOfMember);
end;
我在尝试编译时遇到问题。寻找();最后一行返回错误不兼容类型。据我在网上阅读,Seek 接受 var: File 和 var: longint 所以我不明白为什么它被认为是一个坏类型,因为我给它一个文件和一个 longint。
FileB 已分配给代码主要部分中的文本文件。这部分只是一个过程。
感谢任何帮助。更多代码如下。
program WoWProject;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
TMember = record
Name : string;
Level : integer;
CharClass : string;
Role : string;
Spec : string;
DKP : integer;
end;
var
FileA, FileB : Textfile;
//THIS PART IS THE PROCEDURE ABOVE
//ANOTHER PROCEDURE HERE UNRELATED TO THIS
//ANOTHER HERE WHICH IS THE WELCOME PROCEDURE
//MAIN
begin
Assign(FileA, 'CharacterNames.txt');
Assign(FileB, 'CharacterInfo.txt');
repeat
Append(FileA);
Append(FileB);
Welcome;
until 1=2
end.
【问题讨论】:
-
不兼容类型的错误是唯一的,还是还有更多?会不会是
FileB不在范围内,因为编译器假定它是一个整数? -
请发布包含所有定义的完整代码。不要让我们猜测。
-
ain - 这是唯一的错误。我认为这可能是因为 Seek 不喜欢文本文件,对吗?文本文件也在全局变量中定义
-
向我们展示变量
FileB的声明。 -
如果您需要查看其他程序,请告诉我。不想全部添加,因为它可能会很长。其他程序没有给出任何错误。