adbtlcad.pas

来自「delphi编程控件」· PAS 代码 · 共 77 行

PAS
77
字号
unit adbtlcad;
(*
 COPYRIGHT (c) RSD Software 1997 - 98
 All Rights Reserved.
*)

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, adbtempl, typinfo;

type
  TFDBDefControlAdd = class(TForm)
    BOk: TButton;
    BCancel: TButton;
    BHelp: TButton;
    ComboBox: TComboBox;
    LType: TLabel;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

function CreateAutoDBDefControl(ARepository : TAutoRepository) : TAutoDBDefControl;

implementation
uses autostrs, audbstrs;
{$R *.DFM}
{$I aclver.inc}

function CreateAutoDBDefControl(ARepository : TAutoRepository) : TAutoDBDefControl;
Var
  AForm : TFDBDefControlAdd;
begin
  Result := Nil;
  AForm := TFDBDefControlAdd.Create(Nil);
  AForm.ComboBox.ItemIndex := 0;
  AForm.Caption := LoadStr(ACDB_REPOSDEFCONTROLCREATING);
  AForm.ShowModal;
  if(AForm.ModalResult = mrOk) then
    Result := ARepository.CreateDBDefControl(TAutoDBDefControlType(AForm.ComboBox.ItemIndex + 1));
  AForm.Free;
end;

type
TDummyAutoDBDefControl = class(TAutoDBDefControl)
published
  property DBDefControlType;
end;

procedure TFDBDefControlAdd.FormCreate(Sender: TObject);
Var
  i : Integer;
  pInfo : PPropInfo;
  St : String;
begin
  pInfo := GetPropInfo(TDummyAutoDBDefControl.ClassInfo, 'DBDefControlType');
  if (pInfo <> Nil) And (pInfo^.PropType^.Kind = tkEnumeration) then begin
    i := 1;
    St := GetEnumName(pInfo^.PropType{$IFDEF DELPHI3_0}^{$ENDIF}, i);
    while Pos('adct', St) > 0 do begin
      ComboBox.Items.Add(St);
      Inc(i);
      St := GetEnumName(pInfo^.PropType{$IFDEF DELPHI3_0}^{$ENDIF}, i);
    end;
  end;
  BOK.Caption := LoadStr(ACB_OK);
  BCancel.Caption := LoadStr(ACB_CANCEL);
  BHelp.Caption := LoadStr(ACB_HELP);
  LType.Caption := LoadStr(ACDB_TYPE);
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?