テキストファイルから文字列を取り出すには?

解決


delphi初心者  2006-12-01 02:37:26  No: 24114

200401,Taro,0101,A,090-1111-1111
200402,Jiro,0202,O,090-2222-2222
200403,Saburo,0303,AB,090-3333-3333

というテキストファイルを読み込み、

Edit1.Text := 200401
Edit2.Text := Taro
Edit3.Text := 0101
Edit4.Text := A
Edit5.Text := 090-1111-1111

上のようにカンマで区切った項目ごとに文字列を取り出して、エディットに表示させるにはどうしたら良いでしょうか?

Delphiを始めてまだ一月ほどで基本中の基本しかわからない初心者ですが、ご教授頂ければ嬉しいです。
至らぬ質問文で申し訳ありません。


HOta  2006-12-01 04:48:57  No: 24115

いろいろありますが、TStringListを使った方法です。

ver
  StringList1,StringList2 : TStringList;
begin
  StringList1 := TStringList.Create;
  StringList2 := TStringList.Create;
  try
    StringList1.LoadFromFile('ファイル名');
    //最初の行を表示
    StringList2.CommaText := StringList1[0];
    Edit1.Text := StringList2[0];
    Edit2.Text := StringList2[1];
    Edit3.Text := StringList2[2];
    Edit4.Text := StringList2[3];
    Edit5.Text := StringList2[4];
  finally
    Freeandnil(StringList1);
    Freeandnil(StringList2);
  end;
end;

コードでStringList1を別にすれば、自由度が増します。


delphi初心者  2006-12-01 23:24:50  No: 24116

ありがとうございます。
無事表示させることが出来ました。
TStringListやCommaTextを知らなかったものですから、またひとつ勉強になりました。

参考までにcommmatextを使わずにカンマで区切った文字列を分割させる方法というのはあるのでしょうか?
おそらくcommatextを使うためにカンマで区切るテキストファイルを保存するのでしょうが…pos関数を使うと出来る、と人からヒントを頂いたのですが…。


HOta  2006-12-02 01:24:44  No: 24117

Posでカンマを探して、Copyで切り出します。


delphi初心者  2006-12-04 19:22:22  No: 24118

ありがとうございます。
いろいろなやり方があるんですね。
勉強になりました。


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

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






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