|
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"IniFileにフォントを保存・復帰"
<<フォント>
{パラメータ aControlにフォントを保存したいコントロールの Nameプロ
パティ、aFontにそのコントロールの Fontプロパティを指定します。
例: IniSaveFont(Form1, Form1.Font);
IniSetFont(Form1, Form1.Font);
absolute指令は、特定のメモリアドレスに位置する変数を宣言します。
ここでは、TFontStyles型変数 FStyleと同じメモリアドレスを持つ変数と
して Byte型変数 Fsを宣言しています。
こうすることにより型互換性のない変数間で値の受け渡しを実現している
・・のではないか・・と思う・・多分・・
}
// コントロールのフォントを保存する
procedure IniSaveFont(aControl: TControl; aFont: TFont);
var
Ini: TInifile;
FStyle: TFontStyles;
Fs: Byte absolute FStyle;
begin
try
Ini:= TInifile.Create(ChangeFileExt(ParamStr(0),'.ini'));
with Ini, aControl do
begin
WriteString('Fonts', Name + 'FontName', aFont.Name);
WriteInteger('Fonts', Name + 'FontSize', aFont.Size);
WriteInteger('Fonts', Name + 'FontColor', aFont.Color);
FStyle:= aFont.Style;
WriteInteger('Fonts', Name + 'FontStyle', Fs);
end;
finally
ini.Free;
end;
end;
// 保存したフォントをコントロールにセットする
procedure IniSetFont(aControl: TControl; aFont: TFont);
var
Ini: TInifile;
FStyle: TFontStyles;
Fs: Byte absolute FStyle;
begin
try
Ini:= TInifile.Create(ChangeFileExt(ParamStr(0),'.ini'));
with Ini, aControl do
begin
aFont.Name:= ReadString('Fonts', Name + 'FontName', aFont.Name);
aFont.Size:= ReadInteger('Fonts', Name + 'FontSize', aFont.Size);
aFont.Color:= ReadInteger('Fonts', Name + 'FontColor', aFont.Color);
Fs:= ReadInteger('Fonts', Name + 'FontStyle', 0);
If Fs <> 0 Then aFont.Style:= FStyle;
end;
finally
ini.Free;
end;
end;
☆ H-Triton (^^) since 1996 ☆
Avalon友の会第80008号
玉でも石でもお預かりします FDELPHIサンプル蔵下足札番
Original document by H-Triton 氏 ID:(QZV11422)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|