1行が256文字以上あるテキストファイルを1行ごとhennsuuni するには?

解決


簡単な方で  2006-04-08 06:55:40  No: 20910

1行が256文字以上あるテキストファイルを
1行ごと読み込んで文字列変数longstr(AnsiString)に格納したいのですが、

Var
  F :TextFile;
  longstr: AnsiString;
begin
  AssignFile(F,'C:\TEST.txt') ;
  //既存のファイルを開く
  Reset(F);
  //ファイルの最後まで一行づつ読み込む
  While not Eof(F) do
  begin
    Readln(F,longstr);
  end;
  CloseFile(F);
end;


簡単な方で  2006-04-08 07:03:48  No: 20911

すみません。入力ミスです。タイトルは
1行が256文字以上あるテキストファイルを1行ごと変数に格納するには?
です。
ポインタを使う方法は難しそうなので
上記のようにTextFileのReadlnを使う方法でも
Tstringlistを使う方法でも何でもいいのですが、
できるだけ簡単にできる方法が知りたいのです。
よろしくお願いします。


えーと  2006-04-08 07:09:43  No: 20912

256文字以下でできてるなら、それと同じ方法でできますが。


igy  2006-04-08 07:21:18  No: 20913

StringListを使うなら、こんな感じですか?

procedure TForm1.Button5Click(Sender: TObject);
var
    FileName: String;
    StringList1: TStringList;
begin
    FileName := ExtractFilePath(Application.ExeName) + 'test.txt';
    StringList1 := TStringList.Create;
    try
        if FileExists(FileName) then
        begin
            StringList1.LoadFromFile(FileName);
            
        end;
    finally
        StringList1.Free;
    end;
end;


Fusa  2006-04-08 08:17:47  No: 20914

さらに追加させてもらうと
こんな感じですかね。

ポインタを使わずにもっとも簡単に実現できる方法ですよ。
procedure TForm1.Button5Click(Sender: TObject);
var
    FileName: String;
    StringList1: TStringList;
    i: Integer;
    LineText: String;
begin
    FileName := ExtractFilePath(Application.ExeName) + 'test.txt';
    StringList1 := TStringList.Create;
    try
        if FileExists(FileName) then
        begin
            StringList1.LoadFromFile(FileName);
            
            for i := 0 to StringList.Count-1 do
            begin
                LineText := StringList.Strings[i];

            end;
        end;
    finally
        StringList1.Free;
    end;
end;


簡単な方で  2006-04-08 11:09:16  No: 20915

皆様ありがとうございました。
256文字以上でもTStringListでもReadlnでもOKだったのですね。
テキストを読み込んで-文字置換して-別名テキストで保存という
プログラムだったのですが、置換後のテキストに一部欠落がみられ、
それが256文字以上のデータであった為、読み込めないものと勘違いして
しまいました。指摘されて見直したら読み込み以外の過程でのミスでした。
申し訳ありませんでした。


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

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






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