お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"VB,VBA とのレジストリ共有"







VB, VBA の GetSetting と SaveSetting とほぼ同様の記述で、VB, VBA 
で登録したレジストリにアクセスする関数と手続き。
つまり、この手続きで保存した値には VB, VBA からもアクセス可能。

(もしかしたら、VB, VBA ではVariant型をString型にして保存するのかも?
 本当に共有する場合は、数字はString型にキャストしないといけないかも?)

Uses
  Registry;

Const
  VB_REGISTRY = '\Software\VB and VBA Program Settings\';


//String型レジストリ値を得る
function GetSettingStr(AplName,SctName,KeyName,DflWord:String):String;
var
  WinReg: TRegIniFile;
begin
  WinReg := TRegIniFile.Create(VB_REGISTRY + AplName);
  try
    Result:=WinReg.ReadString(SctName, KeyName, DflWord)
  finally
    WinReg.Free;
  end;
end;

//String型の値をレジストリに保存する
Procedure SaveSettingStr(AplName,SctName,KeyName,SaveWord:String);
var
  WinReg: TRegIniFile;
begin
  WinReg := TRegIniFile.Create(VB_REGISTRY + AplName);
  try
    WinReg.WriteString(SctName, KeyName, SaveWord);
  finally
    WinReg.Free;
  end;
end;

//Integer型レジストリ値を得る
function GetSettingInt(AplName,SctName,KeyName:String;
                                             DflInt:Integer):Integer;
var
  WinReg: TRegIniFile;
begin
  WinReg := TRegIniFile.Create(VB_REGISTRY + AplName);
  try
    Result:= WinReg.ReadInteger(SctName, KeyName, DflInt)
  finally
    WinReg.Free;
  end;
end;

//Integer型の値をレジストリに保存する
Procedure SaveSettingInt(AplName,SctName,KeyName:String;
                                               SaveInt:Integer);
var
  WinReg: TRegIniFile;
begin
  WinReg := TRegIniFile.Create(VB_REGISTRY + AplName);
  try
    WinReg.WriteInteger(SctName, KeyName, SaveInt);
  finally
    WinReg.Free;
  end;
end;



//**使い方

  Form1.Caption:=GetSettingStr('MyAppl','Form1','Caption','初期設定');
  Form1.Height :=GetSettingInt('MyAppl','Form1','Height' ,500);
  
  SaveSettingStr('MyAppl','Form1','Caption',Form1.Caption);
  SaveSettingInt('MyAppl','Form1','Height', Form1.Height);
  


   ζξζ〜     六角〔〕 三房 ‰  Rokkaku Sanbou
   \__/         1997. 10. 28. Tuesday, AM 12:09
     ̄    CXE02604@niftyserve.or.jp_ [Sasaki, K.] @Tukuba

Original document by 六角三房        氏 ID:(CXE02604)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum