テキストファイルのファイルポインタを先頭に戻すには?


わからね-  2006-02-12 09:49:29  No: 19995

Readln(P,Data);
にて、テキストファイルを先頭から読み出し、ある値をのところで再度ファイルポインタを先頭に戻したいのですが、どのようにしたらよいのでしょうか?Reset(P);はファイルを開いて先頭にファイルポインタを動かしますが、再度Reset(P);を使うのでしょうか?その場合一度ファイルを閉じなければいけないのでしょうか?


'  2006-02-12 19:10:58  No: 19996

わからないなら  使うな。

他のがあるだろ  他のが
  他の関数やコンポーネントがたくさん。


夢謝野交児詐祢熱  2006-02-12 20:04:00  No: 19997

> ある値をのところで再度ファイルポインタを先頭に戻したいのですが、どのようにしたらよいのでしょうか?
知らんけど無理じゃね?

Readln で一行づつ読んでるんだから、TStringListに変える。


ResetでOK  2006-02-12 20:08:23  No: 19998

Reset(F)手続きは、F がすでに開かれている場合には,いったん閉じてから再び開き、現在のファイル位置をファイルの先頭に設定します。自分で「閉じる/開く」をする必要はないです。Reset(F)手続きは繰り返し使えます。


夢謝野交児詐祢熱  2006-02-12 20:12:46  No: 19999

> Reset(F)手続きは繰り返し使えます。
へ〜、初めて知ったわ。
ありがとうございます。

でも、指定位置に戻すとかはできないんでしょ?
・・・Resetして、必要分Readlnしたらいいのか・・・。


Seekもあるよ  2006-02-12 21:42:51  No: 20000

何使ってるか知りませんがSeekってのがあります。


F: TextFile;  2006-02-12 22:26:11  No: 20001

ファイル変数Fが「テキストファイル」の場合、Seekは使えないです。
指定位置に戻すのはムリですね。


Basser  2006-02-13 20:57:49  No: 20002

TTextRec型に型キャストすれば、FileSeekできると思います。
詳しくはヘルプを参照して下さい。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加