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

📄 u_zhxd.pas

📁 相关的销售服务管理行业的一个软件
💻 PAS
字号:
unit U_ZHXD;

interface

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

type
  TF_ZHXD = class(TForm)
    Panel1: TPanel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    Panel5: TPanel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    DBEditDingDanNo: TDBEdit;
    Panel6: TPanel;
    Label29: TLabel;
    Label30: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N3: TMenuItem;
    DBMemo11: TDBMemo;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    DataSourceZHXD: TDataSource;
    DBRichEdit1: TDBRichEdit;
    DBRichEdit2: TDBRichEdit;
    PopupMenu2: TPopupMenu;
    N2: TMenuItem;
    FontDialog1: TFontDialog;
    Panel2: TPanel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Panel1DblClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure SpeedButton1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure SpeedButton2MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure SpeedButton3MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure SpeedButton4MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure SpeedButton5MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure N3Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure DataSourceZHXDDataChange(Sender: TObject; Field: TField);
    procedure N2Click(Sender: TObject);
    procedure DBEditDingDanNoKeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit1KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit2KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit4KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit5KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit6KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit7KeyPress(Sender: TObject; var Key: Char);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  private
    { Private declarations }
    procedure HandleMag(var Msg: TMessage);message WM_HOTKEY;
  public
    { Public declarations }
  end;

var
  F_ZHXD: TF_ZHXD;
  FlagZHXD: Boolean;   //定义为是否保存过标志,为真:已保存,为假:未保存
  RecNoZHXD: Integer;  //定义为当前所指向的记录
  ZHXDshow:boolean;

implementation

uses U_DM, U_P_ZHXD,U_ZHXDCX,umain,U_XGDW,U_P_Choose, U_Modal;// ;



{$R *.DFM}

procedure TF_ZHXD.FormClose(Sender: TObject; var Action: TCloseAction);
  //释放装箱单子窗体
begin
  DM.ADOTableZHXD.close;
  Frmmain.Outlook1.Visible :=true;
  frmmain.Panel1.Visible:=true;
  Frmmain.Panel2.Visible:=True;
  frmmain.Label1.Caption:='';
  F_ZHXD:=nil;
  Action:=caFree;
end;

procedure TF_ZHXD.SpeedButton5Click(Sender: TObject);
begin
  Close;
  //Frmmain.Outlook1.Visible:=true;
end;

procedure TF_ZHXD.SpeedButton1Click(Sender: TObject);
begin
 DBEditDingDanNo.ReadOnly:=false;
 DBEdit1.ReadOnly:=false;
 DBEdit2.ReadOnly:=false;
 DBMemo11.ReadOnly:=false;
 DBEdit4.ReadOnly:=false;
 DBEdit6.ReadOnly:=false;
 DBEdit5.ReadOnly:=false;
 DBEdit7.ReadOnly:=false;
 DBRichEdit2.ReadOnly:=false;
 DBRichEdit1.ReadOnly:=false;
 SpeedButton2.Enabled:=true;
 if DM.ADOTableZHXD.RecordCount<=0 then
    FlagZHXD:=False;     //如果没有记录,则将保存标志设置为假
  //F_ZHXD.SpeedButton2Click(Sender);  //如果连续点击增加按钮,则将上一条记录保存
  //DM.ADOTableZHXD.Close;
  DM.ADOTableZHXD.Append;
  DBEditDingDanNo.SetFocus;
  FlagZHXD:=False;
  //
  F_Modal := TF_Modal.Create(self);
  F_Modal.Label1.Caption := '到货地点';
  F_Modal.Label2.Caption := '订单编号';
  TN := 'xs_ZHXD';
  F1 := 'Messrs';
  F2 := 'DingDanNo';
  Md := 1;
  if F_Modal.ModalSet(TN, F1, F2, Md) then
    F_Modal.ShowModal
  else
    Application.MessageBox('无法生成参考模板!','提示',0+64);
  F_Modal.Free;
end;

procedure TF_ZHXD.SpeedButton2Click(Sender: TObject);
begin
  if FlagZHXD then
    begin
      Application.MessageBox('该数据已保存!','装箱单管理',0+64);
      Exit;
    end;
  if DBEditDingDanNo.Text='' then
  begin
    Application.MessageBox('订单编号不许为空,请重新输入!','装箱单管理',0+64);
    DBEditDingDanNo.SetFocus;
    Exit;
  end;
  if DBMemo11.text='' then
   begin
    Application.MessageBox('到货地点不许为空,请重新输入!','装箱单管理',0+64);
    DBEditDingDanNo.SetFocus;
    Exit;
   end;
  try
    DM.ADOTableZHXD.edit;
    DM.ADOTableZHXD.Post;
    DBEditDingDanNo.ReadOnly:=true;
    DBEdit1.ReadOnly:=true;
    DBEdit2.ReadOnly:=true;
    DBMemo11.ReadOnly:=true;
    DBEdit4.ReadOnly:=true;
    DBEdit6.ReadOnly:=true;
    DBEdit5.ReadOnly:=true;
    DBEdit7.ReadOnly:=true;
    DBRichEdit2.ReadOnly:=true;
    DBRichEdit1.ReadOnly:=true;
    FlagZHXD:=True;
    SpeedButton2.Enabled:=false;
    F_ZHXD.Caption:='装箱单管理';
    Application.MessageBox('数据保存成功!','提示',0+64);
  except
    Application.MessageBox('数据保存错误,请重新输入!', '装箱单管理',0+16);
  end;
end;

procedure TF_ZHXD.SpeedButton3Click(Sender: TObject);
begin
  if  DM.ADOTableZHXD.RecordCount<=0 then
  begin
    Application.MessageBox('没有记录可以删除!','装箱单管理',0+16);
    FlagZHXD:=True;
    Exit;
  end
  else
    if Application.MessageBox('确实要删除此记录?','装箱单管理',4+16)=IDYES then
    begin
      DM.ADOTableZHXD.Delete;
      FlagZHXD:=True;
    end;
  DBEditDingDanNo.ReadOnly:=true;
    DBEdit1.ReadOnly:=true;
    DBEdit2.ReadOnly:=true;
    DBMemo11.ReadOnly:=true;
    DBEdit4.ReadOnly:=true;
    DBEdit6.ReadOnly:=true;
    DBEdit5.ReadOnly:=true;
    DBEdit7.ReadOnly:=true;
    DBRichEdit2.ReadOnly:=true;
    FlagZHXD:=True;
    SpeedButton2.Enabled:=false;  
end;

procedure TF_ZHXD.SpeedButton4Click(Sender: TObject);
begin
  ZHXDshow:=true;
  strP_ZHXD := DBEditDingDanNo.Text;
  if F_P_choose =nil then
    Application.CreateForm(TF_P_choose,F_P_choose);
  F_P_choose.ShowModal;
end;

procedure TF_ZHXD.FormShow(Sender: TObject);
begin
  FlagZHXD:=True;
end;

procedure TF_ZHXD.Panel1DblClick(Sender: TObject);
begin
  F_ZHXDCX:=TF_ZHXDCX.Create(self);
  F_ZHXDCX.PageControl1.ActivePageIndex:=0;
  F_ZHXDCX.Show;
end;

procedure TF_ZHXD.FormActivate(Sender: TObject);
begin
  frmmain.Label1.Caption:='装箱单管理';
  POPUPM:=0;
  RegisterHotKey(Handle,0,MOD_CONTROL,83);
  RegisterHotKey(Handle,1,MOD_CONTROL,65);
  DM.ADOTableZHXD.Last;
  frmmain.Outlook1.Visible:=False;
  frmmain.Panel1.Visible:=true;
  frmmain.Panel2.Visible:=False;
end;

procedure TF_ZHXD.SpeedButton1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
SpeedButton1.Cursor:=crHandPoint;
end;

procedure TF_ZHXD.SpeedButton2MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
SpeedButton2.Cursor:=crHandPoint;
end;

procedure TF_ZHXD.SpeedButton3MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
SpeedButton3.Cursor:=crHandPoint;
end;

procedure TF_ZHXD.SpeedButton4MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
SpeedButton4.Cursor:=crHandPoint;
end;

procedure TF_ZHXD.SpeedButton5MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
SpeedButton5.Cursor:=crHandPoint;
end;

procedure TF_ZHXD.N3Click(Sender: TObject);
begin
  close;
end;

procedure TF_ZHXD.N1Click(Sender: TObject);
begin
  POPUPM:=4;
  Application.createform(Tf_xgdw,f_xgdw);
  F_XGDW.Showmodal;
end;
procedure TF_zhxd.HandleMag(var Msg: TMessage);
begin
 case msg.wparam of
  0:SpeedButton2.Click;
  1:SpeedButton1.Click;
 end;
end;
procedure TF_ZHXD.FormCreate(Sender: TObject);
begin
  DM.ADOTableZHXD.Active:=true ;
end;

procedure TF_ZHXD.DataSourceZHXDDataChange(Sender: TObject; Field: TField);
begin
  if DM.ADOTableZHXD.RecNo=RecNoZHXD then
  begin
    FlagZHXD:=False;     //当数据有改动时,如果仍是当前记录,则设保存标志为假
  end
  else   
  begin
    RecNoZHXD:=Dm.ADOTableZHXD.RecNo;   //保存新记录指针
    DM.ADOTableMXD.Cancel;
//    case PageControl1.ActivePageIndex of
//     0:  DBEditDingDanNo.SetFocus;
//     1:  DBMemo7.SetFocus;
//    end;
  end;
end;

procedure TF_ZHXD.N2Click(Sender: TObject);
begin
  if FontDialog1.Execute then
  begin
    DBRichEdit1.SelAttributes.Size:=Fontdialog1.Font.Size;
    DBRichEdit1.SelAttributes.Color:=Fontdialog1.Font.Color;
    DBRichEdit1.SelAttributes.Style:=Fontdialog1.Font.Style;
  end;
end;

procedure TF_ZHXD.DBEditDingDanNoKeyPress(Sender: TObject; var Key: Char);
begin
   if key = #13 then
     DBEdit1.SetFocus
   else
    exit;
end;

procedure TF_ZHXD.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
   if key = #13 then
     DBEdit2.SetFocus
   else
    exit;
end;

procedure TF_ZHXD.DBEdit2KeyPress(Sender: TObject; var Key: Char);
begin
   if key = #13 then
     DBmemo11.SetFocus
   else
    exit;
end;

procedure TF_ZHXD.DBEdit4KeyPress(Sender: TObject; var Key: Char);
begin
   if key = #13 then
     DBEdit5.SetFocus
   else
    exit;
end;

procedure TF_ZHXD.DBEdit5KeyPress(Sender: TObject; var Key: Char);
begin
   if key = #13 then
     DBEdit6.SetFocus
   else
    exit;
end;

procedure TF_ZHXD.DBEdit6KeyPress(Sender: TObject; var Key: Char);
begin
   if key = #13 then
     DBEdit7.SetFocus
   else
    exit;
end;

procedure TF_ZHXD.DBEdit7KeyPress(Sender: TObject; var Key: Char);
begin
   if key = #13 then
     DBrichedit2.SetFocus
   else
    exit;
end;

procedure TF_ZHXD.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if SpeedButton2.Enabled then
   if  (Application.MessageBox('数据尚未保存,是否保存'+#13+'该数据并退出应用程序?','提示',4+32)=IDYes) then
    SpeedButton2Click(self)
    else begin
      DM.ADOTablezhxd.Cancel;
      exit;
    end;
  if SpeedButton2.Enabled then
    begin
      CanClose := False;
      Exit;
    end;
end;

end.

⌨️ 快捷键说明

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