📄 u_wtd.pas
字号:
unit U_WTD;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, Buttons, Grids, DBGrids, ComCtrls, StdCtrls, Mask, DBCtrls,
Menus, Db;
type
TF_WTS = class(TForm)
Panel1: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Panel2: TPanel;
Label2: TLabel;
Label23: TLabel;
DBEditDingDanNo: TDBEdit;
DateTimePicker1: TDateTimePicker;
Panel3: TPanel;
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
Panel4: TPanel;
Label9: TLabel;
DBEdit9: TDBEdit;
Panel5: TPanel;
Label8: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
DBEdit11: TDBEdit;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
DBEdit14: TDBEdit;
DBEdit15: TDBEdit;
DBEdit16: TDBEdit;
DBEdit17: TDBEdit;
DBEdit19: TDBEdit;
DBEdit20: TDBEdit;
DBEdit21: TDBEdit;
PageControl2: TPageControl;
TabSheet2: TTabSheet;
Panel12: TPanel;
Label38: TLabel;
Label39: TLabel;
DBEdit35: TDBEdit;
DBEdit36: TDBEdit;
Panel11: TPanel;
Label40: TLabel;
Label41: TLabel;
DBEdit33: TDBEdit;
DBEdit34: TDBEdit;
Panel10: TPanel;
Label42: TLabel;
Label43: TLabel;
DBEdit31: TDBEdit;
DBEdit32: TDBEdit;
Panel9: TPanel;
Label44: TLabel;
Label45: TLabel;
DBEdit29: TDBEdit;
DBEdit30: TDBEdit;
Panel8: TPanel;
Label46: TLabel;
Label47: TLabel;
DBEdit27: TDBEdit;
DBEdit28: TDBEdit;
Panel7: TPanel;
Label48: TLabel;
Label49: TLabel;
DBEdit25: TDBEdit;
DBEdit26: TDBEdit;
Panel6: TPanel;
Label50: TLabel;
Label51: TLabel;
DBEdit23: TDBEdit;
DBEdit24: TDBEdit;
PopupM1: TPopupMenu;
N1: TMenuItem;
N3: TMenuItem;
DBComboBox1: TDBComboBox;
DBComboBox2: TDBComboBox;
DBMemo1: TDBMemo;
DataSourceWTS: TDataSource;
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 DateTimePicker1Change(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 DBEditDingDanNoKeyPress(Sender: TObject; var Key: Char);
procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit1KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit3KeyPress(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 DBEdit9KeyPress(Sender: TObject; var Key: Char);
procedure DBComboBox2KeyPress(Sender: TObject; var Key: Char);
procedure DBMemo1KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit12KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit13KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit15KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit16KeyPress(Sender: TObject; var Key: Char);
procedure DBComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit19KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit11KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit14KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit17KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit20KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit21KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit23KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit24KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit25KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit26KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit27KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit28KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit29KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit30KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit31KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit32KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit33KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit34KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit35KeyPress(Sender: TObject; var Key: Char);
procedure DataSourceWTSDataChange(Sender: TObject; Field: TField);
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
{ Private declarations }
procedure HandleMag(var Msg: TMessage);message WM_HOTKEY;
public
{ Public declarations }
end;
var
F_WTS: TF_WTS;
FlagWTS: Boolean; //定义为是否保存过标志,为真:已保存,为假:未保存
RecNoWTS: Integer; //定义为当前所指向的记录
wtdshow:boolean;
implementation
uses U_DM, U_P_WTS,umain, U_WTDCX,U_XGDW, U_Modal;
{$R *.DFM}
procedure TF_WTS.FormClose(Sender: TObject; var Action: TCloseAction);
//释放委托书管理子窗体
begin
Dm.ADOTableWTS.Active:=false;
if not Frmmain.Outlook1.Visible then
Frmmain.Outlook1.Visible:=true;
if not Frmmain.Panel1.Visible then
Frmmain.Panel1.Visible:=True;
if not Frmmain.Panel2.Visible then
Frmmain.Panel2.Visible:=True;
frmmain.Label1.Caption:='';
F_WTS:=nil;
Action:=caFree;
end;
procedure TF_WTS.SpeedButton5Click(Sender: TObject);
begin
Close;
//Frmmain.Outlook1.Visible :=true;
end;
procedure TF_WTS.SpeedButton1Click(Sender: TObject);
begin
DBEditDingDanNo.ReadOnly:=false;
DBEdit1.ReadOnly:=false;
DBEdit2.ReadOnly:=false;
DBEdit5.ReadOnly:=false;
DBEdit6.ReadOnly:=false;
DBEdit4.ReadOnly:=false;
DBEdit3.ReadOnly:=false;
DBEdit9.ReadOnly:=false;
DBComboBox2.ReadOnly:=false;
DBComboBox1.ReadOnly:=false;
DBEdit12.ReadOnly:=false;
DBEdit15.ReadOnly:=false;
DBEdit11.ReadOnly:=false;
DBEdit14.ReadOnly:=false;
DBEdit20.ReadOnly:=false;
DBEdit21.ReadOnly:=false;
DBEdit17.ReadOnly:=false;
DBEdit19.ReadOnly:=false;
DBEdit16.ReadOnly:=false;
DBEdit13.ReadOnly:=false;
DBMemo1.ReadOnly:=false;
DBEdit23.ReadOnly:=false;
DBEdit24.ReadOnly:=false;
DBEdit25.ReadOnly:=false;
DBEdit26.ReadOnly:=false;
DBEdit27.ReadOnly:=false;
DBEdit28.ReadOnly:=false;
DBEdit29.ReadOnly:=false;
DBEdit30.ReadOnly:=false;
DBEdit31.ReadOnly:=false;
DBEdit32.ReadOnly:=false;
DBEdit33.ReadOnly:=false;
DBEdit34.ReadOnly:=false;
DBEdit35.ReadOnly:=false;
DBEdit36.ReadOnly:=false;
DateTimePicker1.Enabled:=true;
SpeedButton2.Enabled:=true;
if DM.ADOTableWTS.RecordCount<=0 then
FlagWTS:=False; //如果没有记录,则将保存标志设置为假
//F_WTS.SpeedButton2Click(Sender); //如果连续点击增加按钮,则将上一条记录保存
DM.ADOTableWTS.Close;
DM.ADOTableWTS.Open;
DM.ADOTableWTS.Append;
DateTimePicker1.Date:=Now;
if PageControl1.ActivePageIndex<>0 then
PageControl1.ActivePage:=TabSheet1; //新增加记录时将基本信息页设置为当前活动页
DBEditDingDanNo.SetFocus;
FlagWTS:=False;
//
F_Modal := TF_Modal.Create(self);
F_Modal.Label1.Caption := '委托单位';
F_Modal.Label2.Caption := '订单编号';
TN := 'xs_WTS';
F1 := 'WeiTuoUnit';
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_WTS.SpeedButton2Click(Sender: TObject);
var
len:integer;
begin
if FlagWTS 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 DBEdit1.Text='' then
begin
Application.MessageBox('委托单位不许为空,请重新输入!','报关委托书管理',0+64);
if PageControl1.ActivePageIndex<>0 then
PageControl1.ActivePage:=TabSheet1; //新增加记录时将基本信息页设置为当前活动页
DBEdit1.SetFocus;
Exit;
end;
len:=length(DBEdit6.Text);
if len<>18 then
begin
Application.MessageBox('输入的身份证号码必须为18位!','错误',0+16);
DBEdit6.SetFocus;
Exit;
end;
{ DM.ADOQuerySGOODS.Active:=False;
DM.ADOQuerySGOODS.SQL.Clear;
DM.ADOQuerySGOODS.SQL.Add('select * from s_goods');
DM.ADOQuerySGOODS.Open;
while not DM.ADOQuerySGOODS.Eof do begin}
try
{
if DBComboBox2.Text<>DM.ADOQuerySGOODS.FieldByName('NGDName').value then
begin
end else
begin
// DBComboBox2.Text:='';
// Application.MessageBox('无效输入,请重新输入或选择!','货物名称',0);
//DBComboBox2.SetFocus;
// exit;
DM.ADOQuerySGOODS.Next;
end;
DM.ADOQuerySGOODS.Active:=False; }
if ((DBComboBox1.Text='是') or (DBComboBox1.Text='否'))then
begin
DM.ADOTableWTS.edit;
DM.ADOTableWTS.FieldByName('WeiTuoDate').AsDateTime:=DateTimePicker1.Date;//在保存前将日期转为字符串类型
DM.ADOTableWTS.Post;
DBEditDingDanNo.ReadOnly:=true;
DBEdit1.ReadOnly:=true;
DBEdit2.ReadOnly:=true;
DBEdit5.ReadOnly:=true;
DBEdit6.ReadOnly:=true;
DBEdit4.ReadOnly:=true;
DBEdit3.ReadOnly:=true;
DBEdit9.ReadOnly:=true;
DBEdit12.ReadOnly:=true;
DBEdit15.ReadOnly:=true;
DBComboBox2.ReadOnly:=true;
DBEdit11.ReadOnly:=true;
DBEdit14.ReadOnly:=true;
DBEdit20.ReadOnly:=true;
DBEdit21.ReadOnly:=true;
DBEdit17.ReadOnly:=true;
DBEdit19.ReadOnly:=true;
DBEdit16.ReadOnly:=true;
DBEdit13.ReadOnly:=true;
DBMemo1.ReadOnly:=true;
DBEdit23.ReadOnly:=true;
DBEdit24.ReadOnly:=true;
DBEdit25.ReadOnly:=true;
DBEdit26.ReadOnly:=true;
DBEdit27.ReadOnly:=true;
DBEdit28.ReadOnly:=true;
DBEdit29.ReadOnly:=true;
DBEdit30.ReadOnly:=true;
DBEdit31.ReadOnly:=true;
DBEdit32.ReadOnly:=true;
DBEdit33.ReadOnly:=true;
DBEdit34.ReadOnly:=true;
DBEdit35.ReadOnly:=true;
DBEdit36.ReadOnly:=true;
DateTimePicker1.Enabled:=false;
DBComboBox1.ReadOnly:=true;
FlagWTS:=True;
SpeedButton2.Enabled:=false;
F_WTS.Caption:='报关委托书管理';
Application.MessageBox('数据保存成功!','提示',0+64);
end else
begin
DBComboBox1.Text:='';
Application.MessageBox('无效输入,请选择是否退税!','是否退税',0+16);
DBComboBox1.SetFocus;
exit;
end;
except
Application.MessageBox('数据保存错误,请重新输入!', '报关委托书管理',0+16);
end;
end;
procedure TF_WTS.SpeedButton3Click(Sender: TObject);
begin
if DM.ADOTableWTS.RecordCount<=0 then
begin
Application.MessageBox('没有记录可以删除!','报关委托书管理',0+16);
FlagWTS:=True;
Exit;
end
else
if Application.MessageBox('确实要删除此记录?','报关委托书管理',4+16)=IDYES then
begin
DM.ADOTableWTS.Delete;
FlagWTS:=True;
SpeedButton2.Enabled:=false;
end;
end;
procedure TF_WTS.SpeedButton4Click(Sender: TObject);
begin
Screen.Cursor := -11;
wtdshow:=true;
if F_P_WTS=nil then
F_P_WTS:=TF_P_WTS.Create(self);
Screen.Cursor := 0;
F_P_WTS.QuickRep1.Preview;
wtdshow:=false;
end;
procedure TF_WTS.DateTimePicker1Change(Sender: TObject);
begin
if DBEditDingDanNo.Text='' then
Exit;
DM.ADOTableWTS.Edit;
DM.ADOTableWTS.FieldByName('WeiTuoDate').AsDateTime:=DateTimePicker1.Date;//在保存前将日期转为字符串类型
end;
procedure TF_WTS.FormShow(Sender: TObject);
begin
FlagWTS:=True;
DM.ADOTableWTS.Edit;
if DBEditDingDanNo.Text <>'' then
DateTimePicker1.Date:=DM.ADOTableWTS.FieldByName('WeiTuoDate').AsDateTime
else
DateTimePicker1.Date:=Now;
case PageControl1.ActivePageIndex of
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -