テキストファイルで指定した行を読み込むにはどのようにすればよいでしょうか?
Readlnに読み込みたい行を指定できるような関数はあるでしょうか?
ご教授お願いします。
> Readlnに読み込みたい行を指定できるような関数はあるでしょうか?
ないと思います。読み飛ばしてください。
jokさん、有難うございました。
ではその様な機能を何とかして実現させるためにはどのような方法があるでしょうか?
ちなみに、そのテキストファイルは何千行とあり、かなりサイズが大きいです。
もしあれば教えていただけませんでしょうか?
僕も詳しくは知りませんが、、、
こんなのでいいんじゃないかと、、、
procedure TForm1.Button1Click(Sender: TObject);
var
txt : TextFile;
i : integer ; //-- とりあえず i
L : integer ; //-- 欲しい行の番号?
z : string ; //-- テキストを格納しておく
begin
i := 0;
L := 12345; //--欲しい行を入れとく
AssignFile(txt,'C:\test.txt');
Reset(txt);
while not Eof(txt) do
begin
Readln(txt,z);
if i = L then ShowMessage(z);
i := i + 1;
end;
end;
一応、91519行のテキストファイルで成功しましたが、、
ついでに、L って1行目は 0 でお願いします...
CloseFile(txt);
を発行し忘れました。
TStringListを使用してはどうでしょう?
var
SL:TStringList;
begin
SL := TStringList.Create;
try
SL.LoadFromFile('ABC.txt');
ShowMessage(SL[100]);
finally
SL.Free;
end;
end;
返信遅くなりました。うまく読み込めました。
忙しい暇人さん、有難うございました。
ただ、この読み込みを何回も繰り返したいので、もう少し高速に処理させたいのですが・・・
無理な相談でしょうか?
すみません。返信をのろのろ書いていたため、LupinⅢさんの書き込みに気付くのが遅くなってしまいました。
LupinⅢさんの方法だと見事に早く読み込めました。
有難うございました。
ツイート | ![]() |