掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
デフォルト値を保存しておくには? (ID:8831)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
全然違うかもしれませんが、こんなんでいいんだろうか。 あんまりプログラム得意じゃないけど。 フォーム上にEdit3つとButton2つあります。 キャンセルボタン押すと、Editの中身を変更しても更新ボタン押した直後 に戻ります。 これだと、exeのあるフォルダに'Edits.edi'がないときに キャンセルボタンを押すとエラーになりますけど。 初めて起動するときだけ1回だけ更新ボタン押して'Edits.edi'を作成してくだされ。マンドクセ('A`)んで察しください。 配列の要素が文字列なのになぜバイナリで保存したかというのも、 マンドクセ('A`)んで無視してください。 プログラムに問題があればフォローしてください。 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TEdits = record a : string[100]; b : string[100]; c : string[100]; end; TForm1 = class(TForm) Button1: TButton; Button2: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure BinarySave; private { Private 宣言 } Edits : TEdits; public { Public 宣言 } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.BinarySave; var fs : TFileStream; fn : String; begin Edits.a := Edit1.Text; Edits.b := Edit2.Text; Edits.c := Edit3.Text; fn := ExtractFilePath(Application.ExeName) + 'Edits.edi' ; fs := TFileStream.Create(fn , fmCreate); try fs.WriteBuffer(Edits, SizeOf(TEdits)); finally fs.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); begin BinarySave; end; procedure TForm1.Button2Click(Sender: TObject); var fs : TFileStream; fn : String; begin fn := ExtractFilePath(Application.ExeName) + 'Edits.edi' ; fs := TFileStream.Create(fn , fmOpenRead); try fs.ReadBuffer(Edits, SizeOf(TEdits)); Edit1.Text := Edits.a; Edit2.Text := Edits.b; Edit3.Text := Edits.c; finally fs.Free; end; end; procedure TForm1.FormCreate(Sender: TObject); begin BinarySave; end; end.
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.