喫茶XRAYトップページ

[スレッド全体
]

[10570] Re3:リンク切れ返信 削除
2016/11/28 (月) 09:58:33 Mr.XRAY
> こういう質問を受けたことはないですが,来たら悩んでしまいます.

例えばですね.Delphi 2010 以降だとします.
TEdit に数字が入力されているとします.
(数字を数値に変換して数値型の変数に代入すると数値として処理できます)

procedure TForm1.Button1Click(Sender: TObject);
begin
  TFile.WriteAllText('000.txt', Edit1.Text);
end;

というコードをレスしたとします.で,例によって
「できました」とか「ありがとうございました」
で終わっていいのか ?
あるいは考え方だけを提示した方がいいのか ?
もしかしたら,処理したい「数値」はいくつもあるのかも ?
レスした後で「実は...」というのはいくらでもありますからね.

※ 上のコードの実行には uses に IOUtils が必要です.

まっ,検索キーワードですからね.
質問する時は,実際の状況の説明があるとは思いますが...
そういう説明がない質問も結構ありますけど (^^;


[10571] いただき・・ましたっ!返信 削除
2016/11/30 (水) 14:02:18 taki
▼ Mr.XRAYさん
 
> procedure TForm1.Button1Click(Sender: TObject);
> begin
>   TFile.WriteAllText('000.txt', Edit1.Text);
> end;
>


フォームを開くたびに入力するのがめんどうで、一時的にEditの内容を
保存したい時ってありますよね。
今まではTStringListを使って保存していたのですが、
TFileを使うとコードが簡単になりますね。

ありがたや、ありがたや。

procedure TForm1.FormHide(Sender: TObject);
var
  sl:TStringList;
  s:string;
begin
{
  s := 'Edit2Text.txt';
  sl := TStringList.Create;
  try
    sl.Text := Edit2.Text;
    sl.SaveToFile(s);
  finally
    FreeAndNil(sl);
  end;
}
  // 代替コード
  TFile.WriteAllText('Edit2Text.txt', Edit2.Text, TEncoding.UTF8);
end;

procedure TForm1.FormShow(Sender: TObject);
var
  sl:TStringList;
  s:string;
begin
{
  s := 'Edit2Text.txt';
  if FileExists(s) then begin
    sl := TStringList.Create;
    try
      sl.LoadFromFile(s);
      Edit2.Text := trim(sl.Text);  // 改行を取り除く
    finally
      FreeAndNil(sl);
    end;
  end;
}
  // 代替コード
  if FileExists('Edit2Text.txt') then begin
    Edit2.Text := TFile.ReadAllText('Edit2Text.txt', TEncoding.UTF8);
  end;
end;


[10572] Re:いただき・・ましたっ!返信 削除
2016/11/30 (水) 14:49:23 Mr.XRAY
▼ takiさん

>いただき・・ましたっ!

持ってけ !! 泥棒 !! (笑)
で,この内容に関しての質問はきませんでした.よかった〜.
でも,ちょっと寂しい...


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82