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

📄 order_info.pas

📁 服装厂管理系统源程序压缩包, 请耐心阅读提供的文件包含的内容
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit order_info;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, Spin, StdCtrls, Buttons, ComCtrls, Mask, DBCtrls,
  Grids, DBGrids, ImgList, ToolWin, DB, ADODB;

type
  TForm_order_info = class(TForm)
    Panel1: TPanel;
    AddBtn: TBitBtn;
    EdtBtn: TBitBtn;
    DelBtn: TBitBtn;
    SaveBtn: TBitBtn;
    CancelBtn: TBitBtn;
    ExtBtn: TBitBtn;
    DS_order_msg: TDataSource;
    ADOQ_order_msg: TADOQuery;
    ADOQ_order_msgord_id: TStringField;
    ADOQ_order_msgcostume_name: TStringField;
    ADOQ_order_msgclo_id: TIntegerField;
    ADOQ_order_msgcust_id: TIntegerField;
    ADOQ_order_msgorder_date: TDateTimeField;
    ADOQ_order_msgexpect_date: TDateTimeField;
    ADOQ_order_msgcomplete_date: TDateTimeField;
    ADOQ_order_msgnum: TIntegerField;
    ADOQ_order_msgunit: TStringField;
    ADOQ_order_msgunit_price: TFloatField;
    ADOQ_order_msgmoney: TFloatField;
    ADOQ_order_msgsize_1: TIntegerField;
    ADOQ_order_msgsize_2: TIntegerField;
    ADOQ_order_msgsize_3: TIntegerField;
    ADOQ_order_msgsize_4: TIntegerField;
    ADOQ_order_msgsize_5: TIntegerField;
    ADOQ_order_msgsize_6: TIntegerField;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    DBGrid1: TDBGrid;
    TabSheet2: TTabSheet;
    GroupBox1: TGroupBox;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label1: TLabel;
    Label3: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    BitBtn_ordid: TSpeedButton;
    DBEdit_unit: TDBEdit;
    DBE_num: TDBEdit;
    DBE_money: TDBEdit;
    DBLookup_clo_name: TDBLookupComboBox;
    DBE_ord_id: TDBEdit;
    DBLookup_cust_name: TDBLookupComboBox;
    DBE_price: TDBEdit;
    DBE_costume: TDBEdit;
    DBE_order_date: TDBEdit;
    DBE_expect_date: TDBEdit;
    DBE_complete_date: TDBEdit;
    GroupBox2: TGroupBox;
    Label8: TLabel;
    Label9: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label2: TLabel;
    Label10: TLabel;
    DBE_S: TDBEdit;
    DBE_XL: TDBEdit;
    DBE_M: TDBEdit;
    DBE_L: TDBEdit;
    DBE_XXL: TDBEdit;
    DBE_XXXL: TDBEdit;
    Label18: TLabel;
    Label19: TLabel;
    ADOT_customer: TADOTable;
    ADOT_customercust_id: TAutoIncField;
    ADOT_customercust_name: TStringField;
    ADOT_clothing: TADOTable;
    ADOT_clothingclo_id: TAutoIncField;
    ADOT_clothingclo_name: TStringField;
    ADOQ_order_msgclo_name: TStringField;
    ADOQ_order_msgcust_name: TStringField;
    ADOQtmp: TADOQuery;
    LocateBtn: TBitBtn;
    Panel5: TPanel;
    Label22: TLabel;
    Label23: TLabel;
    Label25: TLabel;
    Bevel1: TBevel;
    Label28: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    OKBtn: TBitBtn;
    EndBtn: TBitBtn;
    ComboBox1: TComboBox;
    Edit1: TEdit;
    ComboBox3: TComboBox;
    Edit2: TEdit;
    ComboBox2: TComboBox;
    GroupBox6: TGroupBox;
    Label31: TLabel;
    Label32: TLabel;
    Sdate: TDateTimePicker;
    Edate: TDateTimePicker;
    ComBox_cloname: TComboBox;
    Edit_name: TEdit;
    Edit_ordid: TEdit;
    Bevel3: TBevel;
    Bevel2: TBevel;
    ComBox_custname: TComboBox;
    Label26: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure AddBtnClick(Sender: TObject);
    procedure EdtBtnClick(Sender: TObject);
    procedure CancelBtnClick(Sender: TObject);
    procedure DelBtnClick(Sender: TObject);
    procedure SaveBtnClick(Sender: TObject);
    procedure DBE_SKeyPress(Sender: TObject; var Key: Char);
    procedure PageControl1Change(Sender: TObject);
    procedure BitBtn_ordidClick(Sender: TObject);
    procedure PageControl1Changing(Sender: TObject;
      var AllowChange: Boolean);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure LocateBtnClick(Sender: TObject);
    procedure EndBtnClick(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure OKBtnClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ADOQ_order_msgAfterInsert(DataSet: TDataSet);
  private
    { Private declarations }
    procedure refreshdb;
    procedure invalidation_control;
    procedure active_control;
  public
    { Public declarations }
  end;

var
  Form_order_info: TForm_order_info;

implementation
uses sharevar, sharefun, data;
{$R *.dfm}

procedure Tform_order_info.refreshdb;
begin
  with ADOT_customer do begin close; open; end;
  with ADOT_clothing do begin close; open; end;
  with ADOQ_order_msg do
  begin
    close;
    sql.Strings[1]:='';
    open;
  end;
end;

procedure TForm_order_info.FormCreate(Sender: TObject);
begin
  try
    if not ADOT_customer.Active then ADOT_customer.Open;
    if not ADOT_clothing.Active then ADOT_clothing.Open;
    if not ADOQ_order_msg.Active then ADOQ_order_msg.Open;
  except
    MsgErr(handle,'打开订单信息数据库失败!');
  end;
  DBGrid1.DataSource:=DS_order_msg;
  refreshdb;
end;

procedure TForm_order_info.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  try
      if ADOT_customer.Active then ADOT_customer.Close;
      if ADOT_clothing.Active then ADOT_clothing.Close;
      if ADOQ_order_msg.Active then ADOQ_order_msg.close;
  except
      MsgErr(handle,'关闭订单信息数据库失败!');
  end;
  action:=cafree;
end;

procedure Tform_order_info.invalidation_control;
begin
  BitBtn_ordid.Enabled:=false;
  dbe_ord_id.Enabled:=true;
  dbe_ord_id.ParentColor:=false;
  dbe_ord_id.Color:=clwindow;
  GroupBox1.Enabled:=false;
  GroupBox2.Enabled:=false;
  DBGrid1.Enabled:=true;
  AddBtn.Enabled:=true;
  EdtBtn.Enabled:=true;
  DelBtn.Enabled:=true;
end;

procedure TForm_order_info.active_control;
begin
  if ADOQ_order_msg.State in [dsinsert] then
  begin
    BitBtn_ordid.Enabled:=true;
    dbe_ord_id.Enabled:=true;
    dbe_ord_id.ParentColor:=false;
    dbe_ord_id.Color:=clwindow;
  end;
  if ADOQ_order_msg.State in [dsedit] then
  begin
    BitBtn_ordid.Enabled:=false;
    dbe_ord_id.Enabled:=false;
    dbe_ord_id.ParentColor:=true;
  end;
  GroupBox1.Enabled:=true;
  GroupBox2.Enabled:=true;
  DBGrid1.Enabled:=false;
  AddBtn.Enabled:=false;
  EdtBtn.Enabled:=false;
  DelBtn.Enabled:=false;
end;

procedure TForm_order_info.AddBtnClick(Sender: TObject);
begin
  PageControl1.ActivePageIndex:=1;
  if ADOQ_order_msg.State in [dsinsert,dsedit] then exit;
  ADOQ_order_msg.Append;
  active_control;
  DBE_ord_id.SetFocus;
end;

procedure TForm_order_info.EdtBtnClick(Sender: TObject);
begin
  if ADOQ_order_msg.State in [dsinsert,dsedit] then exit;
  if ADOQ_order_msg.RecordCount<1 then exit;
  PageControl1.ActivePageIndex:=1;
  ADOQ_order_msg.edit;
  active_control;
  DBLookup_cust_name.SetFocus;
end;

procedure TForm_order_info.CancelBtnClick(Sender: TObject);
begin
  if not (ADOQ_order_msg.State in [dsedit,dsinsert]) then exit;
  invalidation_control;
  ADOQ_order_msg.Cancel;
end;

procedure TForm_order_info.DelBtnClick(Sender: TObject);
var
temp_customer, temp_costume: string;
begin
  with ADOQ_order_msg do
  begin
    if RecordCount<1 then exit;
    if State in [dsinsert,dsedit] then exit;
    temp_customer:=fieldvalues['cust_name'];
    temp_costume:=fieldvalues['costume_name'];
    if MsgQst(handle,'确定删除客户  ['+temp_customer+']  所提供的服装 ['+temp_costume+'] 订单吗?') =IDNO then  exit;
    try
      delete;
    except
      MsgErr(handle,'当前数据在相关连的表中用到,不能删除!');
      exit;
    end;
  end;
end;

procedure TForm_order_info.SaveBtnClick(Sender: TObject);
var
temp_ordid, temp_costume, info, temp_num: string;
temp_num_S, temp_num_M, temp_num_L, temp_num_XL,
temp_num_XXL, temp_num_XXXL, temp_sum_num: integer;
temp_money:real;
begin
  with ADOQ_order_msg do
  begin
    if not (State in [dsinsert,dsedit]) then exit;
    temp_ordid:=trim(DBE_ord_id.Text);
    temp_costume:=trim(dbe_costume.Text);
    temp_num:= trim(dbe_num.Text);
    begin
      if trim(dbe_s.Text)='' then begin temp_num_s:=0; dbe_s.Text:='0' end
      else temp_num_S:=strtoint(DBE_S.Text);
      if trim(dbe_m.Text)='' then begin temp_num_m:=0; dbe_m.Text:='0' end
      else temp_num_m:=strtoint(dbe_m.Text);

⌨️ 快捷键说明

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