⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 baseinfo_m.pas

📁 用delphi编写的数据库管理软件
💻 PAS
字号:
unit BaseInfo_M;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Base_DLL, StdCtrls, Mask, wwdbedit, ExtCtrls, DB, DBClient,
  ComCtrls, wwcheckbox, Wwdotdot, wwdblook, Wwdbcomb, DBCtrls,
  DBCtrlsEh;

type
  TfrmBaseInfo_M = class(TfrmBase_DLL)
    Panel1: TPanel;
    Bevel1: TBevel;
    btnExit: TButton;
    btnSave: TButton;
    btnsaveadd: TButton;
    pnedit: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    DBEDITcode: TwwDBEdit;
    wwDBEdit1: TwwDBEdit;
    procedure btnExitClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure btnSaveClick(Sender: TObject);
    procedure btnsaveaddClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
  private
    isEdit:boolean;
    function GetDataSet:Tdataset;
    function ISunique:Boolean;
  protected
    Maintable:String;
    MasterField:String;
    ParentForm:TForm;
    { Private declarations }
  public
    property DataSet:Tdataset Read GetDataSet;  
    { Public declarations }
  end;

var
  frmBaseInfo_M: TfrmBaseInfo_M;

implementation

uses DataProcess, Global;

{$R *.dfm}

procedure TfrmBaseInfo_M.btnExitClick(Sender: TObject);
begin
  inherited;
  if Dataset.State in [dsInsert,dsEdit] then
    Dataset.Cancel;
  close;
end;

procedure TfrmBaseInfo_M.FormShow(Sender: TObject);
var
  I:integer;
  ParentC:Tcomponent;
  TMPCDS:TclientDataset;
begin
  inherited;
  ParentC:=ParentForm.FindComponent('DSbaseinfo');
  try
    TMPCDS:=Tclientdataset.Create(nil);
    TMPCDS.FetchOnDemand:=False;
    GetsqlData(TMPCDS,'TTablefield','fid','ftableName='+vartosql(Maintable),20);
    if TMPCDS.RecordCount > 0 then
      begin
        TMPCDS.First;
        while not TMPCDS.Eof do
          begin
            for i:=0 to pnEdit.ControlCount - 1 do
              begin
                if (pnedit.Controls[i] is TwwDBEdit) then
                  begin
                    if Trim(UpperCase((pnedit.Controls[i] as TwwDBEdit).Hint))=Trim(UpperCase(TMPCDS.fieldbyname('fname').AsString)) then
                      begin
                        (pnEdit.Controls[i] as TwwDBEdit).DataSource:=Tdatasource(ParentC);
                        (pnedit.Controls[i] as TwwDBEdit).DataField:=Trim(TMPCDS.fieldbyname('fname').AsString);
                        (pnedit.Controls[i] as TwwDBEdit).MaxLength:=TMPCDS.fieldbyname('flength').AsInteger;
                      end;
                  end;
                if (pnedit.Controls[i] is TwwDBComboBox) then
                  begin
                    if Trim(UpperCase((pnedit.Controls[i] as TwwDBComboBox).Hint))=Trim(UpperCase(TMPCDS.fieldbyname('fname').AsString)) then
                      begin
                        (pnEdit.Controls[i] as TwwDBComboBox).DataSource:=Tdatasource(ParentC);
                        (pnedit.Controls[i] as TwwDBComboBox).DataField:=Trim(TMPCDS.fieldbyname('fname').AsString);
                        (pnedit.Controls[i] as TwwDBComboBox).MaxLength:=TMPCDS.fieldbyname('flength').AsInteger;
                      end;
                  end;
                if (pnedit.Controls[i] is TwwCheckBox) then
                  begin
                    if Trim(UpperCase((pnedit.Controls[i] as TwwCheckBox).Hint))=Trim(UpperCase(TMPCDS.fieldbyname('fname').AsString)) then
                      begin
                        (pnEdit.Controls[i] as TwwCheckBox).DataSource:=Tdatasource(ParentC);
                        (pnedit.Controls[i] as TwwCheckBox).DataField:=Trim(TMPCDS.fieldbyname('fname').AsString);
                      end;
                  end;
                if (pnedit.Controls[i] is TwwDBLookupCombo) then
                  begin
                    if Trim(UpperCase((pnedit.Controls[i] as TwwDBLookupCombo).Hint))=Trim(UpperCase(TMPCDS.fieldbyname('fname').AsString)) then
                      begin
                        (pnEdit.Controls[i] as TwwDBLookupCombo).DataSource:=Tdatasource(ParentC);
                        (pnedit.Controls[i] as TwwDBLookupCombo).DataField:=Trim(TMPCDS.fieldbyname('fname').AsString);
                        (pnedit.Controls[i] as TwwDBLookupCombo).MaxLength:=TMPCDS.fieldbyname('flength').AsInteger;
                      end;
                  end;
                if (pnedit.Controls[i] is TDBMemo) then
                  begin
                    if Trim(UpperCase((pnedit.Controls[i] as TDBmemo).Hint))=Trim(UpperCase(TMPCDS.fieldbyname('fname').AsString)) then
                      begin
                        (pnEdit.Controls[i] as TdBMemo).DataSource:=Tdatasource(ParentC);
                        (pnedit.Controls[i] as TDBMemo).DataField:=Trim(TMPCDS.fieldbyname('fname').AsString);
                        (pnedit.Controls[i] as TDBmemo).MaxLength:=TMPCDS.fieldbyname('flength').AsInteger;
                        (pnedit.Controls[i] as TDBmemo).ScrollBars:=ssVertical;
                      end;
                  end;
                if (pnedit.Controls[i] is TDBDateTimeEditEh) then
                  begin
                    if Trim(UpperCase((pnedit.Controls[i] as TDBDateTimeEditEh).Hint))=Trim(UpperCase(TMPCDS.fieldbyname('fname').AsString)) then
                      begin
                       (pnEdit.Controls[i] as TDBDateTimeEditEh).DataSource:=Tdatasource(ParentC);
                       (pnedit.Controls[i] as TDBDateTimeEditEh).DataField:=Trim(TMPCDS.fieldbyname('fname').AsString);
                      end;
                  end;
              end;
            TMPCDS.Next;
          end;
      end;
  finally
    TMPCDS.Close;
    TMPCDS.Free;
  end;
  if Dataset.State = dsEdit then
    IsEdit:=True;
end;


function TfrmBaseInfo_M.GetDataSet: Tdataset;
begin
  if DBEditCode.DataSource <> nil then
    Result:=DBEditCode.DataSource.DataSet
    Else
    Result:=nil;
end;

function TfrmBaseInfo_M.ISunique: Boolean;
begin
  if Dataset.State = dsInsert then
    begin
      If CISunique(Maintable,MasterField,DBEditCode.Text) then
        Result:=True
        else
        Result:=False;
    end
    else
    Result:=False;
end;

procedure TfrmBaseInfo_M.btnSaveClick(Sender: TObject);
begin
  inherited;
  if Trim(DBEDITCode.Text)='' then
    begin
      Messagedlg('代码不可以为空 ! ',mtError,[mbok],0);
      Exit;
    end;

  if not isEdit then
    begin
      if isUnique then
        begin
          Messagedlg('重复编号 ! ',mtError,[mbok],0);
          Exit;
        end;
    end;

  Dataset.Post;
  close;
end;

procedure TfrmBaseInfo_M.btnsaveaddClick(Sender: TObject);
begin
  inherited;
  if Trim(DBEDITCode.Text)='' then
    begin
      Messagedlg('代码不可以为空 ! ',mtError,[mbok],0);
      Exit;
    end;

  if not isEdit then
    begin
      if isUnique then
        begin
          Messagedlg('编号重复 ! ',mtError,[mbok],0);
          Exit;
        end;
    end;

  Dataset.Post;
  Dataset.Append;
  Isedit:=False;
  DBEDITCode.SetFocus;
end;

procedure TfrmBaseInfo_M.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  frmBaseinfo_m:=nil;
end;

procedure TfrmBaseInfo_M.FormCreate(Sender: TObject);
begin
  inherited;
  IsEdit:=False;
end;

end.

⌨️ 快捷键说明

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