16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"ソフト起動時に指定ファイルを読込む"
この発言に対し以下のコメントが寄せられています
#00300 MISO さん 起動時に自動読込み(アイコンへのD&D対応)
◆説明◆
ソフトの起動時に、指定されたファイルの読み込みを行います。
◆注意◆
1: 仮に2つ以上のフォームを持つソフトで、それぞれのフォームにデータ
を読み込む必要があるような場合、MainForm の OnCreate でファイルの読
み込み処理を行うと、その時点ではまだ Form2 が Create されていないた
め、サブフォームに読み込むべきデータを代入することが出来ずにエラー
となってしまいます。
それを避けるためには、そのソフトの「一番最後に自動作成されるフォ
ーム」の OnCreate でファイルの読み込みを行う必要があります。
2: "1" の OnCreate において、その「一番最後に自動作成されるフォーム」
自体の初期設定コードなどが書かれている場合は、それら処理の後に読込
み処理を行う方が良いと思います。
3: この "指定ファイル" というのは、例えば「オプション設定フォームの
CheckBox1 がチェックされている場合は Edit1 に入力された指定ファイル
を読み込む」というような場合もあり、このような場合には INI ファイル
やレジストリなどで、指定ファイルの読込み処理の前に「指定ファイルそ
のもの」が認識出来るようにしておく必要があります。
◆サンプルコード◆
procedure オプション設定用のフォーム.FormCreate(Sender: TObject);
begin
{ INI ファイルやレジストリなどで、まず指定ファイル名を認識出来
るようにしておく。
例えばこの場合、CheckBox1・Edit1 のデータを代入しておく。 }
end;
procedure 最後に自動作成されるフォーム.FormCreate(Sender: TObject);
var
Load: TextFile;
data: String;
begin
// ・・・そのフォーム自体の初期設定処理。
// ・・・あるいは
// ・・・そのフォームで必要となる OnCreate 処理。
// ファイルの読込み処理
if オプション設定用フォーム.CheckBox1.Checked = True then
begin
try
AssignFile(Load, オプション設定用フォーム.Edit1.Text);
Reset(Load);
try
Readln(Load, data);
Form1.Label1.Caption := data;
Readln(Load, data);
Form2.Label1.Caption := data;
finally
CloseFile(Load);
end;
except
on EConvertError do
ShowMessage('ファイルを新規作成します。');
end;
end;
end;
J-OH!(VEC05267)
Original document by J-OH! 氏 ID:(VEC05267)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|