我刚开始使用Delphi,我现在不使用数据库,这只是我正在做的练习(文本文件)
我的程序表单设置如下:
这就是我的文本文件中的内容:
描述:如果用户想要查看国际象棋比赛,他们必须输入国际象棋比赛名称,然后程序必须查找国际象棋比赛名称然后从该线读取所有内容,直到它到达“-------------------------”,然后它必须将其显示在Rich Edit组件
上这是我的代码:
begin
AssignFile(tFile, 'ChessRecords.txt');
Reset(tFile);
while not Eof(tFile) do
begin
sGameName:= '';
Readln(tFile, sLine);
iPos:= Pos('/', sLine);
sGameName:= Copy(sLine, 1,iPos-1);
if sGameName = edtGameName.Text then
begin
repeat
redOut.Lines.Add(sLine);
until (sLine = '-------------------------');
end;
end;
end;
end.
答案 0 :(得分:2)
您的repeat until
循环不再从文件(Readln()
)中读取 - 您还必须这样做(并检查Eof()
)。同样,每次调用该函数时,您也可以执行Inc( iLine )
,但我没有看到您想要计算行数的原因。