home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 January / Chip_1999-01_cd.bin / zkuste / delphi / QDB / QDB.ZIP / qdbreg.pas < prev    next >
Pascal/Delphi Source File  |  1998-01-06  |  1KB  |  57 lines

  1. unit qdbreg;
  2.  
  3. interface
  4.  
  5. procedure Register;
  6.  
  7. implementation
  8.  
  9. uses
  10.   SysUtils, Classes, Dialogs, Forms, DsgnIntf, TypInfo,
  11.   QDB, QDBU;
  12.  
  13. const
  14.   SFilter = 'QDB files (*.QDB)|*.QDB|Any Files (*.*)|*.*';
  15.  
  16. {$IFDEF WIN32}
  17.   {$R QDBREG.R32}
  18. {$ELSE}
  19.   {$R QDBREG.R16}
  20. {$ENDIF}
  21.  
  22. type
  23.   TQDBFilenameProperty = class(TStringProperty)
  24.   public
  25.     procedure Edit; override;
  26.     function GetAttributes: TPropertyAttributes; override;
  27.   end;
  28.  
  29. procedure TQDBFilenameProperty.Edit;
  30. var
  31.   QDBFileOpen: TOpenDialog;
  32. begin
  33.   QDBFileOpen:=TOpenDialog.Create(Application);
  34.   QDBFileOpen.Filename:=GetValue;
  35.   QDBFileOpen.Filter:=SFilter;
  36.   QDBFileOpen.HelpContext:=0;
  37.   QDBFileOpen.Options:=[ofPathMustExist];
  38.   try
  39.     if QDBFileOpen.Execute then SetValue(QDBFileOpen.Filename);
  40.   finally
  41.     QDBFileOpen.Free;
  42.   end;
  43. end;
  44.  
  45. function TQDBFilenameProperty.GetAttributes: TPropertyAttributes;
  46. begin
  47.   Result := [paDialog{$IFDEF WIN32}, paRevertable{$ENDIF}];
  48. end;
  49.  
  50. procedure Register;
  51. begin
  52. RegisterComponents('IHSoftware', [TQDB, TQDBNavigator]);
  53. RegisterPropertyEditor(TypeInfo(TQDBFileName), TQDB, 'FileName', TQDBFileNameProperty);
  54. end;
  55.  
  56. end.
  57.