16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"履歴保存ComboBox"
この発言に対し以下のコメントが寄せられています
#00516 HATENA さん RE:履歴保存ComboBox
#00519 凛 さん RE:履歴保存ComboBox
履歴を保存するComboBoxです。選択されたItemが一番先頭に来ます。
FormにComboBoxを貼り付けて使用します。
実行ディレクトリにMyApp.datというファイルを作り,履歴を保存します。
========================================================================
implementation
{$R *.DFM}
var
Path, IniName, FileName : String;
procedure TForm1.FormCreate(Sender: TObject);
begin
Path := ExtractFilePath(ParamStr(0)); //実行ディレクトリ取得
IniName := 'MyApp.dat'; //iniファイルの名前
FileName := Path + IniName; //iniファイルの所在の定義
if FileExists(FileName) then //iniファイルがあれば
ComboBox1.Items.LoadFromFile(FileName); //項目を読み込む
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
if ComboBox1.Items.Count > 0 then //リストが0でなければ
ComboBox1.Items.SaveToFile(FileName); //iniファイルに登録
end;
procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
var i: integer;
begin
If Key = Chr(Vk_Return) then begin //リターンキーが押されたら
i := ComboBox1.Items.IndexOf(ComboBox1.Text); //同じのがあるか検索
If i >= 0 Then begin //あったら
ComboBox1.Items.Insert(0,ComboBox1.Text); //リストの最初に登録して
ComboBox1.Items.Delete(i+1); //古いのを消す
ComboBox1.Text := ComboBox1.Items[0]; //テキストを書き直す
end
Else //なければ
ComboBox1.Items.Insert(0,ComboBox1.Text); //リストの最初に登録する
end;
end;
========================================================================
レジストリについてはいじる勇気も技術もないので,今後の課題とします。
凛さんの『動けば可』の言葉に勇気づけられてのUPだったりします。(^^;;
もう少しスッキリといけそうな気もしますので,よければ添削してください。
========================================================================
U10 (RXF13224)
Original document by U10 氏 ID:(RXF13224)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|