EditBoxの内容をテキストファイルで保存するには?

解決


ゆきお  2003-12-09 06:26:05  No: 6003

いつもお世話になっております。
SaveDialogを使ってEditBox内の数字を新規のテキストファイル
に保存したいと思っております。次回起動した時にこの内容を
読込んで元の画面に戻したい時があるからです。
1個だけで挑戦してみました

procedure TForm1.Button1Click(Sender: TObject);
var
  fstr:string;
  filelist:tstringlist;
begin
  if SaveDialog1.Execute then
  begin
    filelist:=tstringlist.create;
    fstr:=SaveDialog1.FileName;
    filelist[0]:=edit1.text;
    filelist.savetofile(fstr);
    filelist.Free;
  end;
end;

結果は「リストのインデックスが範囲を超えています(0)」と
エラーが出てしまいます。
>filelist[0]:=edit1.text;
等に無理があるのでしょうか?
ご指導いただきたく宜しくお願い申し上げます。


Halbow  2003-12-09 06:59:51  No: 6004

Halbow です。

> 結果は「リストのインデックスが範囲を超えています(0)」と
> エラーが出てしまいます。
> >filelist[0]:=edit1.text;
> 等に無理があるのでしょうか?

無理がありますね。つくられた直後の TStringList のインスタンスには、
行はありません。ないものに代入することはできませんね。正解は

filelist.Add(edit1.text);

です。


ゆきお  2003-12-09 18:57:22  No: 6005

Halbowさんおはようございます。
無理があるっぽいとは感じてましたが原因がはっきりせず歯がゆい
次第でした。的確なご指導どうもありがとうございます。
>filelist.Add(edit1.text);
実行したらばっちりでした。ご親切にどうもありがとうございました。


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

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






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