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

📄 u_mxd.pas

📁 相关的销售服务管理行业的一个软件
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit U_MXD;

interface

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

type
  TF_MXD = class(TForm)
    Panel1: TPanel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Panel2: TPanel;
    Label1: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    RadioGroup1: TRadioGroup;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    Panel3: TPanel;
    GroupBox1: TGroupBox;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    GroupBox2: TGroupBox;
    Label25: TLabel;
    Label26: TLabel;
    DBEdit10: TDBEdit;
    DBEdit11: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBGride1: TDBGrid;
    Splitter1: TSplitter;
    DBEditDingDanNo: TDBEdit;
    Label30: TLabel;
    DateTimePicker1: TDateTimePicker;
    PageControl2: TPageControl;
    TabSheet3: TTabSheet;
    Panel4: TPanel;
    Label31: TLabel;
    Label32: TLabel;
    Label33: TLabel;
    Label34: TLabel;
    Label35: TLabel;
    Label36: TLabel;
    Label37: TLabel;
    Label38: TLabel;
    Label39: TLabel;
    Label40: TLabel;
    Label41: TLabel;
    Label42: TLabel;
    DBMemo6: TDBMemo;
    DBMemo5: TDBMemo;
    DBMemo4: TDBMemo;
    DBMemo3: TDBMemo;
    DBMemo2: TDBMemo;
    DBMemo1: TDBMemo;
    DBEdit12: TDBEdit;
    Label43: TLabel;
    Label44: TLabel;
    Panel6: TPanel;
    Label2: TLabel;
    Label3: TLabel;
    DBMemo8: TDBMemo;
    DBMemo9: TDBMemo;
    DBMemo7: TDBMemo;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N3: TMenuItem;
    DBCheckBox1: TDBCheckBox;
    DBCheckBox2: TDBCheckBox;
    DBMemo10: TDBMemo;
    DBMemo11: TDBMemo;
    DBMemo12: TDBMemo;
    DataSourceMXD: TDataSource;
    ADOQuery1: TADOQuery;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure DateTimePicker1Change(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Panel1DblClick(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    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 DBEdit12KeyPress(Sender: TObject; var Key: Char);
    procedure DBEditDingDanNoKeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit2KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit3KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit4KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit7KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit8KeyPress(Sender: TObject; var Key: Char);
    procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit10KeyPress(Sender: TObject; var Key: Char);
    procedure DBEdit11KeyPress(Sender: TObject; var Key: Char);
    procedure DBCheckBox1KeyPress(Sender: TObject; var Key: Char);
    procedure DBCheckBox2KeyPress(Sender: TObject; var Key: Char);
    procedure FormCreate(Sender: TObject);
    procedure DataSourceMXDDataChange(Sender: TObject; Field: TField);
  private
    { Private declarations }
     procedure HandleMag(var Msg: TMessage);message WM_HOTKEY;
  public
    { Public declarations }
  end;

var
  F_MXD: TF_MXD;
  FlagMXD: Boolean;   //定义为是否保存过标志,为真:已保存,为假:未保存
  RecNoMXD: Integer;  //定义为当前所指向的记录
  StrMXD: string;
  mxdshow:boolean;
implementation

uses   umain, U_MXDCX,U_P_MXD,U_XGDW, U_Modal;

{$R *.DFM}

procedure TF_MXD.FormClose(Sender: TObject; var Action: TCloseAction);
  //释放明细单子窗体
begin
  DM.ADOQueryMXDCX.Close;
  ADOQuery1.Active:=false;
  DM.ADOTableMXD.Active:=false; ///ly
  Frmmain.Outlook1.Visible :=true;
  Frmmain.Panel2.Visible:=True;
  frmmain.Label1.Caption:='';
  F_MXD:=nil;
  Action:=caFree;
end;

procedure TF_MXD.SpeedButton5Click(Sender: TObject);
begin
  Close;
end;

procedure TF_MXD.SpeedButton1Click(Sender: TObject);

begin
  SpeedButton2.Enabled:=true;
  DBEditDingDanNo.ReadOnly:=false;
  DBEdit2.ReadOnly:=false;
  DBMemo10.ReadOnly:=false;
  DBEdit3.ReadOnly:=false;
  DBEdit4.ReadOnly:=false;
  DBMemo11.ReadOnly:=false;
  DBEdit7.ReadOnly:=false;
  DBEdit8.ReadOnly:=false;
  DBMemo12.ReadOnly:=false;
  DBEdit10.ReadOnly:=false;
  DBEdit11.ReadOnly:=false;
  DBMemo1.ReadOnly:=false;
  DBMemo2.ReadOnly:=false;
  DBMemo3.ReadOnly:=false;
  DBMemo4.ReadOnly:=false;
  DBMemo5.ReadOnly:=false;
  DBMemo6.ReadOnly:=false;
  DBMemo7.ReadOnly:=false;
  DBEdit12.ReadOnly:=false;
  DBMemo8.ReadOnly:=false;
  DBMemo9.ReadOnly:=false;
  dbCheckBox1.ReadOnly:=false;
  dbCheckBox2.ReadOnly:=false;
  RadioGroup1.Enabled:=true;
  DateTimePicker1.Enabled:=true;

  if DM.ADOTableMXD.RecordCount<=0 then
    FlagMXD:=False;     //如果没有记录,则将保存标志设置为假
 // F_MXD.SpeedButton2Click(Sender);  //如果连续点击增加按钮,则将上一条记录保存
  DM.ADOTableMXD.Close;
  DM.ADOTableMXD.Open;
  DM.ADOTableMXD.Append;
  DateTimePicker1.Date:=Now;
  RadioGroup1.ItemIndex:=0;
  dbCheckBox1.Checked:=false;
  dbCheckBox2.Checked:=false;
  if PageControl1.ActivePageIndex<>0 then
    PageControl1.ActivePage:=TabSheet1;   //新增加记录时将基本信息页设置为当前活动页
  DBEditDingDanNo.SetFocus;
  FlagMXD:=False;
  //
  F_Modal := TF_Modal.Create(self);
  F_Modal.Label1.Caption := '通知人';
  F_Modal.Label2.Caption := '订单编号';
  TN := 'xs_MXD';
  F1 := 'Notify';
  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_MXD.SpeedButton4Click(Sender: TObject);
begin
   Screen.Cursor := -11;
  mxdshow:=true;
  if F_P_MXD=nil then
    F_P_MXD:=TF_P_MXD.Create(self);
   Screen.Cursor :=0;  
  F_P_MXD.QuickRep1.Preview;
  mxdshow:=false;
end;

procedure TF_MXD.SpeedButton3Click(Sender: TObject);
begin
  if  DM.ADOTableMXD.RecordCount<=0 then
  begin
    Application.MessageBox('没有记录可以删除!','明细单管理',0+16);
    FlagMXD:=True;
    Exit;
  end
  else
    if Application.MessageBox('确实要删除此记录?','明细单管理',4+16)=IDYES then
    begin
      DM.ADOTableMXD.Delete;
      FlagMXD:=True;
      SpeedButton2.Enabled:=false;
    end;
end;

procedure TF_MXD.SpeedButton2Click(Sender: TObject);
begin
  if FlagMXD then
    begin
      Application.MessageBox('当前数据已保存!','提示',0+64);
      Exit;
    end;
  if DBEditDingDanNo.Text='' then
  begin
    Application.MessageBox('订单编号不许为空,请重新输入!','明细单管理',0+64);
    if PageControl1.ActivePageIndex<>0 then
      PageControl1.ActivePage:=TabSheet1;   //新增加记录时将基本信息页设置为当前活动页
    DBEditDingDanNo.SetFocus;
    Exit;
  end;
  if DBEdit8.Text='' then
   begin
    Application.MessageBox('目的港不许为空,请重新输入!','明细单管理',0+64);
    if PageControl1.ActivePageIndex<>0 then
      PageControl1.ActivePage:=TabSheet1;   //新增加记录时将基本信息页设置为当前活动页
    DBEdit8.SetFocus;
    Exit;
   end;
  try
    DM.ADOTableMXD.Edit;
    DM.ADOTableMXD.FieldByName('ZhuangYunDate').AsDateTime:=DateTimePicker1.Datetime;//在保存前将日期转为字符串类型
    case RadioGroup1.ItemIndex of
      0: DM.ADOTableMXD.FieldByName('HuoWuXZH').AsString:='贸易';
      1: DM.ADOTableMXD.FieldByName('HuoWuXZH').AsString:='补偿';
      2: DM.ADOTableMXD.FieldByName('HuoWuXZH').AsString:='退运';
      3: DM.ADOTableMXD.FieldByName('HuoWuXZH').AsString:='其它';
    end;
    if dbCheckBox1.Checked  then
      DM.ADOTableMXD.FieldByName('FenPi').Asboolean:=true
     else
      DM.ADOTableMXD.FieldByName('FenPi').Asboolean:=false;
    if dbCheckBox2.Checked then
      DM.ADOTableMXD.FieldByName('ZhuanYun').Asboolean:=true
    else
      DM.ADOTableMXD.FieldByName('ZhuanYun').Asboolean:=false;
    DM.ADOTableMXD.Post;
    DBEditDingDanNo.ReadOnly:=false;
    DBEdit2.ReadOnly:=true;
    DBMemo10.ReadOnly:=true;
    DBEdit3.ReadOnly:=true;
    DBEdit4.ReadOnly:=true;
    DBMemo11.ReadOnly:=true;
    DBEdit7.ReadOnly:=true;
    DBEdit8.ReadOnly:=true;
    DBMemo12.ReadOnly:=true;
    DBEdit10.ReadOnly:=true;
    DBEdit11.ReadOnly:=true;
    DBMemo1.ReadOnly:=true;
    DBMemo2.ReadOnly:=true;
    DBMemo3.ReadOnly:=true;
    DBMemo4.ReadOnly:=true;
    DBMemo5.ReadOnly:=true;
    DBMemo6.ReadOnly:=true;
    DBMemo7.ReadOnly:=true;
    DBEdit12.ReadOnly:=true;
    DBMemo8.ReadOnly:=true;
    DBMemo9.ReadOnly:=true;
    dbCheckBox1.ReadOnly:=true;

⌨️ 快捷键说明

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