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

📄 pfm_wizard.pas

📁 POS收银系统
💻 PAS
字号:
unit pfm_wizard;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, ExtCtrls, StdCtrls, Mask, DBCtrls, Db, DBTables, Grids, DBGrids,
  Buttons, Menus, pvar_lib;

type
  Tfm_wizard = class(TForm)
    DataSource1: TDataSource;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    DBGrid1: TDBGrid;
    BitBtn_add: TBitBtn;
    BitBtn_del: TBitBtn;
    BitBtn_save: TBitBtn;
    BitBtn_first: TBitBtn;
    BitBtn_prev: TBitBtn;
    BitBtn_next: TBitBtn;
    BitBtn_last: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    Query1: TQuery;
    BitBtn_cancel: TBitBtn;
    BitBtn_quit: TBitBtn;
    procedure BitBtn_addClick(Sender: TObject);
    procedure BitBtn_delClick(Sender: TObject);
    procedure BitBtn_saveClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn6Click(Sender: TObject);
    procedure Query1AfterScroll(DataSet: TDataSet);
    procedure BitBtn_prevClick(Sender: TObject);
    procedure BitBtn_nextClick(Sender: TObject);
    procedure BitBtn_lastClick(Sender: TObject);
    procedure BitBtn_firstClick(Sender: TObject);
    procedure Query1AfterInsert(DataSet: TDataSet);
    procedure Query1AfterPost(DataSet: TDataSet);
    procedure BitBtn_cancelClick(Sender: TObject);
    procedure BitBtn_quitClick(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fm_wizard: Tfm_wizard;
  sDbTable:String;
  strFCnName:TStringList;
implementation

uses pfm_query;

{$R *.DFM}




procedure Tfm_wizard.BitBtn_addClick(Sender: TObject);
begin
        Query1.Insert;

end;

procedure Tfm_wizard.BitBtn_delClick(Sender: TObject);
begin
        if application.MessageBox('确信要删除该列?','警告',MB_OKCANCEL)=IDOK then
        begin
                query1.Delete;
                query1.applyupdates;
        end

end;

procedure Tfm_wizard.BitBtn_saveClick(Sender: TObject);
begin
        if query1.state=dsEdit then
        begin
              try
              query1.ApplyUpdates;
            //  query1.refresh;
              showmessage('更改数据成功');
              except
              showmessage('更改数据不成功!');
              end;
        end
        else if query1.state=dsInsert then
        begin
              try
              query1.ApplyUpdates;
            //  query1.refresh;
              showmessage('保存成功');
              except
              showmessage('保存数据不成功!');
              end;
        end
        else
        begin
                showmessage('不是处于修改状态');
        end;


end;

procedure Tfm_wizard.FormCreate(Sender: TObject);
var i:integer;
begin

   for i:=0 to dbgrid1.Columns.Count-1 do
          dbgrid1.Columns.Items[i].Title.caption:=strFcnName.Values[dbgrid1.Columns.Items[i].FieldName];



end;

procedure Tfm_wizard.FormClose(Sender: TObject; var Action: TCloseAction);
begin
      
           if strFcnName<>nil then
                strFcnname.Free;
        Action:=caFree;
end;

procedure Tfm_wizard.BitBtn6Click(Sender: TObject);
var
        i:integer;
begin
        for i:=0 to dbgrid1.Columns.Count-1 do
        begin
                mFieldCap[i]:=dbGrid1.Columns[i].Title.Caption;
                mFieldName[i]:=dbGrid1.Columns[i].fieldname;
                mFieldType[i]:=dbGrid1.Columns[i].Field.datatype;
                mFieldNum:=i;
        end;

        fm_query:=Tfm_query.Create(self);
        if fm_query.ShowModal=mrOK then
        begin
                query1.Close;
                query1.sql.Clear;
                Query1.SQL.add('select * from  '+ sDbTable+' where ' + sQuerySql);
                query1.open;

        end;


end;

procedure Tfm_wizard.Query1AfterScroll(DataSet: TDataSet);
begin
        if query1.Bof then
        begin
               bitbtn_first.Enabled:=false;
                bitbtn_prev.Enabled:=false;
        end
        else
        begin
               bitbtn_first.Enabled:=true;
                bitbtn_prev.Enabled:=true;
        end;
        if query1.Eof then
        begin
                bitbtn_last.Enabled:=false;
                bitbtn_next.Enabled:=false;
        end
        else
       begin
                bitbtn_last.Enabled:=true;
                bitbtn_next.Enabled:=true;
        end;

end;

procedure Tfm_wizard.BitBtn_prevClick(Sender: TObject);
begin
        if not query1.Bof then
                query1.Prior;
        
end;

procedure Tfm_wizard.BitBtn_nextClick(Sender: TObject);
begin
        if not query1.Eof then
                query1.Next;
end;

procedure Tfm_wizard.BitBtn_lastClick(Sender: TObject);
begin
        if not query1.Eof then
                query1.Last;
                
end;

procedure Tfm_wizard.BitBtn_firstClick(Sender: TObject);
begin
        if not query1.Bof then
                query1.First;
end;

procedure Tfm_wizard.Query1AfterInsert(DataSet: TDataSet);
begin
        bitbtn_save.Enabled:=true;
        bitbtn_cancel.enabled:=true;
        bitbtn_del.enabled:=false;

end;

procedure Tfm_wizard.Query1AfterPost(DataSet: TDataSet);
begin
        bitbtn_save.Enabled:=false;
        bitbtn_cancel.Enabled :=false;
        bitbtn_add.enabled:=true;
        bitbtn_del.Enabled :=true;
end;

procedure Tfm_wizard.BitBtn_cancelClick(Sender: TObject);
begin
        if (query1.State=dsEdit) or (query1.State=dsInsert) then
        begin
        query1.CancelUpdates;
       // query1.Refresh;
        end;
end;

procedure Tfm_wizard.BitBtn_quitClick(Sender: TObject);
begin
        if (query1.state=dsEdit) or (query1.state=dsInsert) then
        begin
                if application.MessageBox('需要先保存修改的数据吗?','警告',MB_YESNO)=IDYES then
                begin
                if query1.state=dsEdit then
                begin
                        try
                        query1.ApplyUpdates;
                        //  query1.refresh;
                        showmessage('更改数据成功');
                except
                        showmessage('更改数据不成功!');
                end;
                end
                else if query1.state=dsInsert then
                begin
                        try
                        query1.ApplyUpdates;
                        //  query1.refresh;
                        showmessage('保存成功');
                except
                showmessage('保存数据不成功!');
                end;
                end
                end
        end;
        close;
end;

procedure Tfm_wizard.BitBtn5Click(Sender: TObject);
var
i:integer;
begin
 query1.Close;
  query1.sql.Clear;
  Query1.SQL.add('select * from '+sDbTable);
  query1.open;
    for i:=0 to dbgrid1.Columns.Count-1 do
          dbgrid1.Columns.Items[i].Title.caption:=strFcnName.Values[dbgrid1.Columns.Items[i].FieldName];
end;

end.

⌨️ 快捷键说明

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