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を始めてまだ一月ほどで基本中の基本しかわからない初心者ですが、ご教授頂ければ嬉しいです。
至らぬ質問文で申し訳ありません。
いろいろありますが、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を別にすれば、自由度が増します。
ありがとうございます。
無事表示させることが出来ました。
TStringListやCommaTextを知らなかったものですから、またひとつ勉強になりました。
参考までにcommmatextを使わずにカンマで区切った文字列を分割させる方法というのはあるのでしょうか?
おそらくcommatextを使うためにカンマで区切るテキストファイルを保存するのでしょうが…pos関数を使うと出来る、と人からヒントを頂いたのですが…。
Posでカンマを探して、Copyで切り出します。
ありがとうございます。
いろいろなやり方があるんですね。
勉強になりました。
ツイート | ![]() |