home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 August / VPR9708A.ISO / D3TRIAL / INSTALL / DATA.Z / REGINID.PAS < prev    next >
Pascal/Delphi Source File  |  1997-05-07  |  3KB  |  114 lines

  1. unit reginid;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, ExtCtrls, Registry;
  8.  
  9. type
  10.   TRegIniForm = class(TForm)
  11.     GroupBox1: TGroupBox;
  12.     Label1: TLabel;
  13.     CheckBox_Write: TCheckBox;
  14.     RadioGroup_Write: TRadioGroup;
  15.     Edit_Write: TEdit;
  16.     GroupBox2: TGroupBox;
  17.     Label3: TLabel;
  18.     CheckBox_Read: TCheckBox;
  19.     RadioGroup_Read: TRadioGroup;
  20.     Edit_Read: TEdit;
  21.     Memo_Read: TMemo;
  22.     Button_Write: TButton;
  23.     Button_Read: TButton;
  24.     procedure FormCreate(Sender: TObject);
  25.     procedure FormDestroy(Sender: TObject);
  26.     procedure Button_WriteClick(Sender: TObject);
  27.     procedure Button_ReadClick(Sender: TObject);
  28.     procedure CheckBox_ReadClick(Sender: TObject);
  29.     procedure RadioGroup_ReadClick(Sender: TObject);
  30.   private
  31.     { Private 宣言 }
  32.     procedure Read_Registry;
  33.     procedure Write_Registry;
  34.   public
  35.     { Public 宣言 }
  36.     FIniFile: TRegIniFile;
  37.   end;
  38.  
  39. var
  40.   RegIniForm: TRegIniForm;
  41.  
  42. implementation
  43.  
  44. {$R *.DFM}
  45.  
  46. const
  47.   SECTION = 'Sample';
  48.  
  49. procedure TRegIniForm.FormCreate(Sender: TObject);
  50. begin
  51.   FIniFile := TRegIniFile.Create('Sample Registry');
  52. end;
  53.  
  54. procedure TRegIniForm.FormDestroy(Sender: TObject);
  55. var
  56.   Cleanup: TRegistry;
  57.   key: string;
  58. begin
  59.   key := FIniFile.FileName;
  60.   FIniFile.Free;
  61.  
  62.   // レジストリに加えた変更をすべて削除する。
  63.   Cleanup := TRegistry.Create;
  64.   try
  65.     Cleanup.DeleteKey(key);
  66.   finally
  67.     Cleanup.Free;
  68.   end;
  69. end;
  70.  
  71. procedure TRegIniForm.Write_Registry;
  72. begin
  73.   FIniFile.WriteBool(SECTION, 'BooleanTest', CheckBox_Write.Checked);
  74.   FIniFile.WriteInteger(SECTION, 'IntegerTest', RadioGroup_Write.ItemIndex);
  75.   FIniFile.WriteString(SECTION, 'StringTest', Edit_Write.Text);
  76.  
  77.   if not Button_Read.Enabled then Button_Read.Enabled := True;
  78. end;
  79.  
  80. procedure TRegIniForm.Read_Registry;
  81. begin
  82.   CheckBox_Read.Checked := FIniFile.ReadBool(SECTION, 'BooleanTest', False);
  83.   RadioGroup_Read.ItemIndex := FIniFile.ReadInteger(SECTION, 'IntegerTest', 0);
  84.   Edit_Read.Text := FIniFile.ReadString(SECTION, 'StringTest', '');
  85.  
  86.   Memo_Read.Lines.Clear;
  87.   FIniFile.ReadSectionValues(SECTION, Memo_Read.Lines);
  88.  
  89.   Button_Read.Enabled := False;
  90. end;
  91.  
  92. procedure TRegIniForm.Button_WriteClick(Sender: TObject);
  93. begin
  94.   Write_Registry;
  95. end;
  96.  
  97. procedure TRegIniForm.Button_ReadClick(Sender: TObject);
  98. begin
  99.   Read_Registry;
  100. end;
  101.  
  102.  
  103. procedure TRegIniForm.CheckBox_ReadClick(Sender: TObject);
  104. begin
  105.   Read_Registry;
  106. end;
  107.  
  108. procedure TRegIniForm.RadioGroup_ReadClick(Sender: TObject);
  109. begin
  110.   Read_Registry;
  111. end;
  112.  
  113. end.
  114.