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

📄 basetoolbar.pas

📁 学习程序,用于初学进销存的参考代码学习程序,用于初学进销存的参考代码
💻 PAS
字号:
unit basetoolbar;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, base, Buttons, ToolWin, ComCtrls, Grids, DBGrids, ImgList, DB,
  ADODB,main, StdCtrls;

type
  TfrmBaseToolBar = class(TfrmBase)
    CoolBar1: TCoolBar;
    SB_Save: TSpeedButton;
    SB_Filter: TSpeedButton;
    SB_Add: TSpeedButton;
    SB_Del: TSpeedButton;
    SB_First: TSpeedButton;
    SB_Forward: TSpeedButton;
    SB_Next: TSpeedButton;
    SB_Last: TSpeedButton;
    TVCustomers: TTreeView;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TBCusterDetail: TTabSheet;
    StatusBar: TStatusBar;
    ImageList1: TImageList;
    ADO_Base: TADOQuery;
    DS_Base: TDataSource;
    SpeedButton1: TSpeedButton;
    procedure SB_AddClick(Sender: TObject);
    procedure DS_BaseStateChange(Sender: TObject);
    procedure SB_SaveClick(Sender: TObject);
    procedure SB_DelClick(Sender: TObject);
    procedure SB_FirstClick(Sender: TObject);
    procedure SB_ForwardClick(Sender: TObject);
    procedure SB_NextClick(Sender: TObject);
    procedure SB_LastClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure DS_BaseDataChange(Sender: TObject; Field: TField);
    procedure TBCusterDetailExit(Sender: TObject);
  private

  public

  end;
const CloseForm = 8888;
var
  frmBaseToolBar: TfrmBaseToolBar;

implementation





{$R *.dfm}

procedure TfrmBaseToolBar.SB_AddClick(Sender: TObject);
begin
  inherited;
    if  (ADO_Base.State=dsEdit) or (ADO_Base.State=dsInsert) then
    begin
        if (MessageBox(self.Handle,'增加数据需要保存当前编辑','提示!',MB_YESNO+MB_ICONQUESTION))=IDYES then
        begin
            ADO_Base.Post;
            SB_Save.Enabled:=false;
        end
        else
        begin
            ADO_Base.Cancel;
            ADO_Base.Append;
        end;
    end
    else
    ADO_Base.Append;

end;

procedure TfrmBaseToolBar.DS_BaseStateChange(Sender: TObject);
begin
  inherited;
    if (ADO_Base.State=dsEdit) or (ADO_Base.State=dsInsert) then
    begin
        SB_Save.Enabled:=true;
        SB_Add.Enabled:=false;
        SB_Del.Enabled:=false;
    end;
    if (ADO_Base.State=dsBrowse) then
    begin
        SB_Save.Enabled:=false;
        SB_Add.Enabled:=true;
        SB_Del.Enabled:=true;

    end;
end;

procedure TfrmBaseToolBar.SB_SaveClick(Sender: TObject);
begin
  inherited;
    if (ADO_Base.State=dsEdit) or (ADO_Base.State=dsInsert) then
    begin
        //ADO_Base.Post;
        ADO_Base.UpdateBatch();
        SB_Save.Enabled:=false;
        SB_Add.Enabled:=true;
        SB_Del.Enabled:=true;

    end;
end;

procedure TfrmBaseToolBar.SB_DelClick(Sender: TObject);
begin
  inherited;
    if((ADO_Base.RecordCount>0) and (MessageBox(handle,'确定删除这笔记录吗?', '提示', MB_YESNO+MB_ICONWARNING)=IDYES)) then
    begin
        ADO_Base.Delete;
        {for i:=0 to TVCustomers.Items.Count   do
        begin
        if(TVCustomers.Items.Item[i].Text=sCNo) then
            begin
                TVCustomers.Items.Item[i].Delete;
                break;
            end;
       end; }

    end;

end;

procedure TfrmBaseToolBar.SB_FirstClick(Sender: TObject);
begin
  inherited;
    if (ADO_Base.State=dsEdit) or (ADO_Base.State=dsInsert) then
    begin
       if MessageBox(self.handle,'保存当前的编辑吗?', '提示', MB_YESNO+MB_ICONWARNING)=IDYES then
       begin
           ADO_Base.Post;
       end
       else
       begin
           ADO_Base.Cancel;
       end;
    end;
  ADO_Base.First;
end;

procedure TfrmBaseToolBar.SB_ForwardClick(Sender: TObject);
begin
  inherited;
  if (ADO_Base.State=dsEdit) or (ADO_Base.State=dsInsert) then
  begin
   if MessageBox(self.handle,'保存当前的编辑吗?', '提示', MB_YESNO+MB_ICONWARNING)=IDYES then
   begin
       ADO_Base.Post;
   end
   else
   begin
       ADO_Base.Cancel;
   end;
   end;
   ADO_Base.Prior;
end;

procedure TfrmBaseToolBar.SB_NextClick(Sender: TObject);
begin
  inherited;
  if (ADO_Base.State=dsEdit) or (ADO_Base.State=dsInsert) then
  begin
   if MessageBox(self.handle,'保存当前的编辑吗?', '提示', MB_YESNO+MB_ICONWARNING)=IDYES then
   begin
       ADO_Base.Post;
   end
   else
   begin
       ADO_Base.Cancel;
   end;
  end;
  ADO_Base.Next;
end;

procedure TfrmBaseToolBar.SB_LastClick(Sender: TObject);
begin
  inherited;
  if (ADO_Base.State=dsEdit) or (ADO_Base.State=dsInsert) then
  begin
   if MessageBox(self.handle,'保存当前的编辑吗?', '提示', MB_YESNO+MB_ICONWARNING)=IDYES then
   begin
       ADO_Base.Post;
   end
   else
   begin
       ADO_Base.Cancel;
   end;
   end;
   ADO_Base.Last;
end;

procedure TfrmBaseToolBar.FormShow(Sender: TObject);
begin
  inherited;
   ADO_Base.Active:=true;
end;

procedure TfrmBaseToolBar.SpeedButton1Click(Sender: TObject);
begin
  inherited;
    PostMessage(frmMain.Handle,CloseForm,0,0);
end;

procedure TfrmBaseToolBar.DS_BaseDataChange(Sender: TObject;
  Field: TField);
begin
  inherited;
    if DS_Base.DataSet.RecNo=DS_Base.DataSet.RecordCount then
    begin
        SB_First.Enabled:=true;
        SB_Forward.Enabled:=true;
        SB_Next.Enabled:=false;
        SB_Last.Enabled:=false;
    end;
    if DS_Base.DataSet.RecNo=1 then
    begin
        SB_First.Enabled:=false;
        SB_Forward.Enabled:=false;
        SB_Next.Enabled:=true;
        SB_Last.Enabled:=true;
    end;
    if  (DS_Base.DataSet.RecNo>1) and (DS_Base.DataSet.RecNo<DS_Base.DataSet.RecordCount) then
    begin
        SB_First.Enabled:=true;
        SB_Forward.Enabled:=true;
        SB_Next.Enabled:=true;
        SB_Last.Enabled:=true;
    end;

end;




procedure TfrmBaseToolBar.TBCusterDetailExit(Sender: TObject);
begin
  inherited;
  inherited;
    if (ADO_Base.State=dsEdit) or (ADO_Base.State=dsInsert) then
    begin
        if MessageBox(self.handle,'保存当前的编辑吗?', '提示', MB_YESNO+MB_ICONWARNING)=IDYES then
        begin
           ADO_Base.Post;
        end
        else
        begin
           ADO_Base.Cancel;
        end;

    end;

end;

end.

⌨️ 快捷键说明

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