home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 23 / IOPROG_23.ISO / SOFT / DELPHIX.ZIP / Source / DXGUIDEdit.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-10-06  |  1.9 KB  |  91 lines

  1. unit DXGUIDEdit;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, ActiveX, ComObj;
  8.  
  9. type
  10.   TDelphiXGUIDEditForm = class(TForm)
  11.     Edit: TEdit;
  12.     OKButton: TButton;
  13.     CancelButton: TButton;
  14.     NewButton: TButton;
  15.     procedure NewButtonClick(Sender: TObject);
  16.     procedure EditChange(Sender: TObject);
  17.     procedure CancelButtonClick(Sender: TObject);
  18.     procedure OKButtonClick(Sender: TObject);
  19.     procedure EditExit(Sender: TObject);
  20.     procedure FormShow(Sender: TObject);
  21.     procedure EditEnter(Sender: TObject);
  22.   private
  23.     FChanged: Boolean;
  24.     FOldGUID: string;
  25.   public
  26.     GUID: string;
  27.   end;
  28.  
  29. var
  30.   DelphiXGUIDEditForm: TDelphiXGUIDEditForm;
  31.  
  32. implementation
  33.  
  34. uses DXConsts;
  35.  
  36. {$R *.DFM}
  37.  
  38. procedure TDelphiXGUIDEditForm.OKButtonClick(Sender: TObject);
  39. begin
  40.   if FChanged then
  41.   begin
  42.     GUID := GUIDToString(StringToGUID(Edit.Text));
  43.     Tag := 1;
  44.   end;
  45.   Close;
  46. end;
  47.  
  48. procedure TDelphiXGUIDEditForm.CancelButtonClick(Sender: TObject);
  49. begin
  50.   Close;
  51. end;
  52.  
  53. procedure TDelphiXGUIDEditForm.NewButtonClick(Sender: TObject);
  54. var
  55.   GUID: TGUID;
  56. begin
  57.   if Application.MessageBox(PChar(SIsGUIDnewlyMade), 'GUID', MB_YESNO or MB_ICONQUESTION or MB_DEFBUTTON2)<>IDYES then Exit;
  58.  
  59.   if CoCreateGuid(GUID)<>0 then
  60.     raise Exception.CreateFmt(SCannotMade, ['GUID']);
  61.   Edit.Text := GUIDToString(GUID);
  62.   FChanged := True;
  63. end;
  64.  
  65. procedure TDelphiXGUIDEditForm.EditChange(Sender: TObject);
  66. begin
  67.   FChanged := True;
  68. end;
  69.  
  70. procedure TDelphiXGUIDEditForm.EditExit(Sender: TObject);
  71. begin
  72.   try
  73.     Edit.Text := GUIDToString(StringToGUID(Edit.Text));
  74.   except
  75.     Edit.Text := FOldGUID;
  76.     raise;
  77.   end;
  78. end;
  79.  
  80. procedure TDelphiXGUIDEditForm.FormShow(Sender: TObject);
  81. begin
  82.   Edit.Text := GUIDToString(StringToGUID(GUID));
  83. end;
  84.  
  85. procedure TDelphiXGUIDEditForm.EditEnter(Sender: TObject);
  86. begin
  87.   FOldGUID := Edit.Text;
  88. end;
  89.  
  90. end.
  91.