実行ファイルの変更を保存するには?

解決


きゃな  2005-09-10 01:27:24  No: 17480

実行ファイルの内容を変えてから終了して、次に実行したときに変更が反映されているためにはどうすればよいのですか?

例えば、Edit1の内容で、
最初の実行では'Edit1'って書いてあったとして、それを'1'とかに変えてから終了する。次に実行したときに'1’となっているためにはどうすればよいのでしょうか?

Editに限らず、全ての状態を保存しておきたいのです。


お気に召すまま  2005-09-10 01:39:58  No: 17481

そうですね〜
INIふぁいる、れじすとり...などへの保存が普通ですけど。


きゃな  2005-09-10 01:56:46  No: 17482

すみません。初心者なため、「INIふぁいる」「レジストリ」って言うのがよくわかりません。

説明がめんどくさくなるなら  参考URL  を教えてくれると助かります。


検索エンジン  2005-09-10 02:01:47  No: 17483

http://www.google.co.jp/search?hl=ja&q=Delphi+INI%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB&lr=lang_ja

ぐぐればいくらでも出てくる


きゃな  2005-09-10 02:19:41  No: 17484

検索エンジンの一番上のURLに書いてあったことを、適当に貼り付けて実行したのですが、できませんでした。

貼り付け方がおかしいのですか?
とりあえず、書いてあることは全然わかりません。
procedure TForm1.Button1Click(Sender: TObject);
var
  FStyle:TFontStyles;
  Fs    :Byte absolute FStyle;
  FPitch:TFontPitch;
  Fp    :Byte absolute FPitch;
  FontIni: TIniFile;
begin
  FStyle:=Memo1.Font.Style;
  FPitch:=Memo1.Font.Pitch;

  FontIni:= TIniFile.Create('FONTINI.INI');
  try
    FontIni.WriteInteger('Font','Style',Fs);
    FontIni.WriteInteger('Font','Pitch',Fp);
    FontIni.WriteString('Font','Color',colortostring(Memo1.Font.Color));
  finally FontIni.Free;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  FStyle:TFontStyles;
  Fs    :Byte absolute FStyle;
  FPitch:TFontPitch;
  Fp    :Byte absolute FPitch;
  FontIni: TIniFile;
begin
  FStyle:=Memo1.Font.Style;
  FPitch:=Memo1.Font.Pitch;

  FontIni:= TIniFile.Create('FONTINI.INI');
  try
    Fs:= FontIni.ReadInteger('Font','Style',0);
    Fp:= FontIni.ReadInteger('Font','Pitch',0);
  finally FontIni.Free;
  end;
  Memo1.Font.Style:= FStyle;
  Memo1.Font.Pitch:= FPitch;
end;


質問下手  2005-09-10 03:59:44  No: 17485

「できませんでした」と書かれても、「何が出来なかったのか」こちらには伝わりませんよ。
まずは、TIniFile をヘルプで調べてから必要なものを保存しましょう。


こんな感じ  2005-09-10 09:09:54  No: 17486

フォームにTEditを一つ配置し、uses に Inifiles を追加。

//INIファイル読み込み
var
  Ini : TIniFile;
begin
  Ini := TIniFile.Create('Config.ini');
  try
    Edit1.Text := Ini.ReadString('Section', 'Key', 'DefaultValue');
  finally
    Ini.Free;
  end;
end;

//INIファイル書き込み
begin
  Ini := TIniFile.Create('Config.ini');
  try
    Ini.WriteString('Section', 'Key', Edit1.Text);
  finally
    Ini.Free;
  end;
end;


きゃな  2005-09-12 22:54:33  No: 17487

ありがとうございます。
できました。


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

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






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