base.pas

来自「学习程序,用于初学进销存的参考代码学习程序,用于初学进销存的参考代码」· PAS 代码 · 共 75 行

PAS
75
字号
unit base;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, ImgList, Buttons, ToolWin, ComCtrls, ActnList,
  StdCtrls,TypInfo;

type
  TfrmBase = class(TForm)
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public

    procedure RegComponetsInfo(frm:TForm);
   // procedure DisplayComponentsCaption(frm:TFrom);
  end;

var
  frmBase: TfrmBase;

implementation

uses unit_main_dm;

{$R *.dfm}

procedure TfrmBase.FormShow(Sender: TObject);
begin
    RegComponetsInfo(self);
end;
procedure TfrmBase.RegComponetsInfo(frm:TForm);
var frmname:string;
    adoquery:TADOQuery;
    i,j,iColumnIndex,iColumnCount:integer;
begin
    adoquery:=TADOQuery.Create(self);
    adoquery.Connection:=Main_DM.ADOConn;
    frmname:=frm.Name;
    adoquery.Close;
    adoquery.SQL.Clear;
    adoquery.SQL.Add('select * from Sys_Object where FormName='''+frmname+'''');
    adoquery.Open;
    if not adoquery.IsEmpty  then
    begin
        adoquery.Free;
        exit;
    end;
    i:=frm.ComponentCount;
    for j:=0 to i-1 do
    begin
        if (GetPropInfo(frm.Components[j],'Caption')<>nil)   then
        begin
            adoquery.Append;
            adoquery.FieldByName('FormName').AsString:=frmname;
            adoquery.FieldByName('Obj_Name').AsString:=frm.Components[j].Name;
            adoquery.FieldByName('Obj_Caption').AsString:=GetPropValue(frm.Components[j],'Caption');
            adoquery.FieldByName('Obj_Type').AsString:=frm.Components[j].ClassName;
            adoquery.Post;
        end;
    end;
end;
//procedure TfrmBase.DisplayComponentsCaption(frm:TFrom);
//var frmname:string;
//    adoquery:TADOQuery;
//    i,j,iColumnIndex,iColumnCount:integer;
   

//begin

//end;
end.

⌨️ 快捷键说明

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