假设有一个文件 c:\test.txt同时有一数组: a:array[0..100] of string;要求在文件中查出 a[i] 第一次出现的所在行数
var f:textfile;
i,j:integer;
s:string;
begin
for i:=low(a) to high(a) do begin
j:=0;
assignfile(f,'c:\test.txt');
reset(f);
while not eof(f) do begin
readln(f,s);
j:=j+1;
if s=a[i] then begin
memo1.lines.add(inttostr(j));
continue;
end;
end;
closefile(f);
end;运行后出现死循环请高手指点,谢谢
var f:textfile;
i,j:integer;
s:string;
begin
for i:=low(a) to high(a) do begin
j:=0;
assignfile(f,'c:\test.txt');
reset(f);
while not eof(f) do begin
readln(f,s);
j:=j+1;
if s=a[i] then begin
memo1.lines.add(inttostr(j));
continue;
end;
end;
closefile(f);
end;运行后出现死循环请高手指点,谢谢
解决方案 »
- 关于Form关闭和调用问题
- 高手给看看这几行代码错在哪里?
- 帮我介绍几本初学delphi的书籍吧!谢谢大家!!!
- 有关在Delphi7中用Indy组件实现类似QQ的文件传送功能的问题
- 关于adotable的enablecontrols,disablecontrols
- >经常来CSDN,有厦门的程序员朋友吗? <
- 原来可以正确执行,现在不正常地定义参数对象.提供了不一致或不完整的信息
- 有没有执行SQL脚本的控件啊?〔ADO方式〕
- !!!请推荐一本DELPHI 7 网络编程方面的书,比较急!!!
- 经举报发现 tgmgj SQL5560 间存在严重的倒分现象,现作出处理如下:
- 请问EhLib 6.1 有Full Source版本吗?
- 使用 label 要 usus 什么吗?
效率低啊
放在循环中,效率低啊事先加载到一个stringlist中
procedure TForm2.Button1Click(Sender: TObject);
var
slFile: TStringList;
i,j:integer;
s:string;
begin
slFile := TStringList.Create;
slFile.LoadFromFile('c:\test.txt');
for i:=low(a) to high(a) do
for j:=0 to slFile.Count - 1 do
if slFile.Strings[j]=a[i] then
memo1.lines.add(inttostr(j+1));
slFile.Free;
end;
begin
memo1.lines.add(inttostr(j+1));
Continue;
end;