RegistryUnit.pas
上传用户:yjb1804
上传日期:2021-01-30
资源大小:3105k
文件大小:1k
源码类别:

Email服务器

开发平台:

Delphi

  1. unit RegistryUnit;
  2. interface
  3. uses SysUtils, Classes;
  4. type
  5.   ERegistrySampleError = class(Exception);
  6.   procedure GetRegData(out InstallPath, ModData: string);
  7. const
  8.   ABaseKey = 'SoftwareSample Co.SampleApp';
  9. implementation
  10. uses Registry;
  11. procedure GetRegData(out InstallPath, ModData: string);
  12. var
  13.   r: TRegistry;
  14. begin
  15.   r := TRegistry.Create;
  16.   try
  17.     if not r.KeyExists(ABaseKey) then
  18.       raise ERegistrySampleError.Create('App key does not exist.');
  19.     if not r.OpenKey(ABaseKey, false) then
  20.       raise ERegistrySampleError.Create('Cannot open app key.');
  21.     InstallPath := r.ReadString('InstallPath');
  22.     if not r.KeyExists('ModuleAData') then
  23.       raise ERegistrySampleError.Create('Module key does not exist.');
  24.     if not r.OpenKey('ModuleAData', false) then
  25.       raise ERegistrySampleError.Create('Cannot open module key.');
  26.     ModData := r.ReadString('Data');
  27.     r.CloseKey;
  28.   finally
  29.     r.Free;
  30.   end;
  31. end;
  32. end.