Subversion Repositories delphiutils

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. unit ServiceEdit;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, StdCtrls, Registry;
  8.  
  9. type
  10.   TEditForm = class(TForm)
  11.     Edit1: TEdit;
  12.     Edit2: TEdit;
  13.     Button1: TButton;
  14.     Button2: TButton;
  15.     Label1: TLabel;
  16.     Label2: TLabel;
  17.     procedure Button1Click(Sender: TObject);
  18.     procedure Button2Click(Sender: TObject);
  19.   private
  20.     OriginalValue: String;
  21.   public
  22.     function ShowDialog(AServiceName: string): boolean;
  23.   end;
  24.  
  25. var
  26.   EditForm: TEditForm;
  27.  
  28. implementation
  29.  
  30. {$R *.dfm}
  31.  
  32. procedure TEditForm.Button1Click(Sender: TObject);
  33. var
  34.   reg: TRegistry;
  35. begin
  36.   reg := TRegistry.Create;
  37.   try
  38.     reg.RootKey := HKEY_CURRENT_USER;
  39.     if reg.OpenKey('\Software\ViaThinkSoft\StatusMon\3.0\Services\', true) then
  40.     begin
  41.       if OriginalValue <> '' then
  42.       begin
  43.         reg.DeleteKey(OriginalValue);
  44.       end;
  45.       if reg.OpenKey(Edit1.Text, true) then
  46.       begin
  47.         reg.WriteString('URL', Edit2.Text);
  48.       end;
  49.       reg.CloseKey;
  50.     end;
  51.   finally
  52.     reg.Free;
  53.   end;
  54.  
  55.   ModalResult := mrOk;
  56. end;
  57.  
  58. procedure TEditForm.Button2Click(Sender: TObject);
  59. begin
  60.   ModalResult := mrCancel;
  61. end;
  62.  
  63. function TEditForm.ShowDialog(AServiceName: string): boolean;
  64. var
  65.   reg: TRegistry;
  66. begin
  67.   Edit1.Text := AServiceName;
  68.   OriginalValue := AServiceName;
  69.  
  70.   if AServiceName = '' then
  71.     Caption := 'New status monitor'
  72.   else
  73.     Caption := 'Edit status monitor';
  74.  
  75.   reg := TRegistry.Create;
  76.   try
  77.     reg.RootKey := HKEY_CURRENT_USER;
  78.     if reg.OpenKeyReadOnly('\Software\ViaThinkSoft\StatusMon\3.0\Services\') then
  79.     begin
  80.       if reg.OpenKeyReadOnly(AServiceName) then
  81.       begin
  82.         Edit2.Text := reg.ReadString('URL');
  83.       end;
  84.       reg.CloseKey;
  85.     end;
  86.   finally
  87.     reg.Free;
  88.   end;
  89.  
  90.   Show;
  91.   Edit1.SetFocus;
  92.   Hide;
  93.  
  94.   Result := ShowModal() = mrOk;
  95. end;
  96.  
  97. end.
  98.