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

📄 bh.pas

📁 应对服装行业的生产成本控制系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit bh;

interface

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

type
  TFrmbh = class(TForm)
    Pz: TPanel;
    Label25: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label41: TLabel;
    help: TLabel;
    GroupBox4: TGroupBox;
    tys: TEdit;
    tbz: TEdit;
    tddh: TEdit;
    tms: TEdit;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    tsl: TEdit;
    DBGrid1: TDBGrid;
    Pd: TPanel;
    pq: TPanel;
    csq: TCheckBox;
    cddh: TCheckBox;
    qddh: TEdit;
    cjglx: TCheckBox;
    csz: TCheckBox;
    sz: TDateTimePicker;
    qjglx: TEdit;
    ckhmc: TCheckBox;
    qkhmc: TEdit;
    ccpmc: TCheckBox;
    qcpmc: TEdit;
    csl: TCheckBox;
    ccpfl: TCheckBox;
    qsl: TEdit;
    qcpfl: TEdit;
    ccpdw: TCheckBox;
    cdj: TCheckBox;
    qcpdw: TEdit;
    qdj: TEdit;
    sq: TDateTimePicker;
    cwgzt: TCheckBox;
    cje: TCheckBox;
    qwgzt: TEdit;
    qje: TEdit;
    Cjq: TCheckBox;
    Cjz: TCheckBox;
    jz: TDateTimePicker;
    jq: TDateTimePicker;
    bnew: TBitBtn;
    bsave: TBitBtn;
    bcancel: TBitBtn;
    bprint: TBitBtn;
    breturn: TBitBtn;
    Bquery: TBitBtn;
    GroupBox1: TGroupBox;
    DBGrid5: TDBGrid;
    txh: TEdit;
    Bdelete: TBitBtn;
    OpenDialog1: TOpenDialog;
    bprintc: TBitBtn;
    procedure tslKeyPress(Sender: TObject; var Key: Char);
    procedure tddhKeyPress(Sender: TObject; var Key: Char);
    procedure tmsKeyPress(Sender: TObject; var Key: Char);
    procedure tysKeyPress(Sender: TObject; var Key: Char);
    procedure tbzKeyPress(Sender: TObject; var Key: Char);
    procedure bcancelClick(Sender: TObject);
    procedure bprintClick(Sender: TObject);
    procedure breturnClick(Sender: TObject);
    procedure DBGrid1TitleClick(Column: TColumn);
    procedure bsaveClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure BqueryClick(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure BdeleteClick(Sender: TObject);
    procedure txhKeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid5DblClick(Sender: TObject);
    procedure DBGrid5TitleClick(Column: TColumn);
    procedure bprintcClick(Sender: TObject);
    procedure bnewClick(Sender: TObject);
  private
    { Private declarations }
      rzczy,rzsj,rzjsj,rzcsj:string;
      errzt: integer;
      errcode:boolean;
  commandstring,commandstringq: string;
  function check():boolean;
  function save():boolean;
  function errdelete():boolean;
  public
    { Public declarations }

  end;

var
  Frmbh: TFrmbh;

implementation

uses unit28, Unit1, Unit16, func;

{$R *.dfm}

procedure TFrmbh.tslKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in['0'..'9',#8,#13,'.','-']) then
begin
key:=#0;
help.caption:='   请输入数字!';
end;
if key=#13 then tbz.SetFocus;
end;

procedure TFrmbh.tddhKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then txh.SetFocus;
end;

procedure TFrmbh.tmsKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then tsl.SetFocus;
end;

procedure TFrmbh.tysKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then tms.SetFocus;
end;

procedure TFrmbh.tbzKeyPress(Sender: TObject; var Key: Char);
begin
if not bsave.Enabled then exit;
if key=#13 then bsave.SetFocus;
end;

function TFrmbh.check:boolean;
begin
  result:=true;
  if trim(tddh.Text)='' then
    begin
    showmessage('请您选择一个订单号!');
    result:=false;
    tddh.SetFocus;
    exit;
    end;
  if trim(txh.Text)='' then
    begin
    showmessage('请您输入订单包号!');
    result:=false;
    txh.SetFocus;
    exit;
    end;
  if trim(tys.Text)='' then
   begin
    showmessage('请您输入分包产品颜色!');
    result:=false;
    tys.SetFocus;
    exit;
    end;
  if trim(tms.Text)='' then
   begin
    showmessage('请您输入分包产品码数!');
    result:=false;
    tms.SetFocus;
    exit;
    end;
 if trim(tsl.Text)='' then
   begin
    showmessage('请您输入分包产品数量!');
    result:=false;
    tsl.SetFocus;
    exit;
    end;
    end;

function TFrmbh.save:boolean;
 begin
 try
 tddh.Text:=trim(tddh.Text);
 txh.Text:=trim(txh.text);
 tys.Text:=trim(tys.Text);
 tms.Text:=trim(tms.Text);
 tsl.Text:=trim(tsl.Text);
 tbz.Text:=trim(tbz.Text);
 errcode:=true;
 errzt:=1;
if not DataModule1.ClientDataSet24.Locate('xh',txh.Text,[]) then
   begin
 DataModule1.clientdataset24.Edit;
 DataModule1.ClientDataSet24.First;
 DataModule1.clientdataset24.Insert;
 DataModule1.clientdataset24.FieldByName('ddh').AsString:=tddh.Text;
 DataModule1.clientdataset24.FieldByName('xh').AsString:=txh.Text;
 DataModule1.clientdataset24.FieldByName('ys').AsString:=tys.Text;
 DataModule1.clientdataset24.FieldByName('cm').AsString:=tms.Text;
 DataModule1.clientdataset24.FieldByName('sl').AsString:=tsl.Text;
 DataModule1.clientdataset24.FieldByName('bz').AsString:=tbz.Text;
 DataModule1.clientdataset24.FieldByName('czy').AsString:=trim(form1.StatusBar1.Panels[4].text);
 DataModule1.clientdataset24.ApplyUpdates(-1);
 end;
 errcode:=false;
 errzt:=0;
 except
  errcode:=true;
  errzt:=1;
  showmessage('数据库没有打开!');
  end;
end;

procedure TFrmbh.bcancelClick(Sender: TObject);
var
i,i1:integer;
begin
bnew.Enabled:=false;
bsave.Enabled:=false;
bcancel.Enabled:=false;
bprint.Enabled:=false;
bquery.Enabled:=true;
tddh.Text:='';
txh.Text:='';
tys.Text:='';
tsl.Text:='';
tms.Text:='';
tbz.Text:='';
help.Caption:='  继续输入请您新选择订单!';
pz.Enabled:=true;
dbgrid1.Enabled:=true;
end;

procedure TFrmbh.bprintClick(Sender: TObject);
begin
help.Caption:='   暂不提供打印功能!';
end;

procedure TFrmbh.breturnClick(Sender: TObject);
begin
try
rzcsj:=datetimetostr(now);
form16.WriteTorz(rzczy,rzsj,rzjsj,rzcsj);
DataModule1.ClientDataSet17.IndexFieldNames:='';
DataModule1.ClientDataSet24.IndexFieldNames:='';
if DataModule1.clientdataset17.Active then  DataModule1.ClientDataSet17.Active:=false;
if DataModule1.clientdataset24.Active then  DataModule1.ClientDataSet24.Active:=false;
except
showmessage('数据库没有打开!');
end;
close;
end;

procedure TFrmbh.DBGrid1TitleClick(Column: TColumn);
var i : integer;
begin
for i:= 1 to DBGrid1.Columns.Count do
begin
//恢复所有标题字体为默认
DBGrid1.Columns[i-1].Title.Font.Color := clBlue;
DBGrid1.Columns[i-1].Title.Font.Style := [];
end;
if DataModule1.ClientDataSet17.IndexFieldNames<>(Column.FieldName) then //判断原排序方式
begin
DataModule1.ClientDataSet17.IndexFieldNames:= Column.FieldName;
Column.Title.Font.Color := clRed; //改变标题行字体为红色,表示当前的排序方式为升序
Column.Title.Font.Style := [fsBold];
end;
end;

procedure TFrmbh.bsaveClick(Sender: TObject);
begin
if not bsave.Enabled then exit;
bsave.Enabled:=false;
bcancel.Enabled:=false;
errcode:=true;
errzt:=1;
if not check then
begin
bsave.Enabled:=true;
bcancel.Enabled:=true;
 exit;
 end;
if  DataModule1.ClientDataSet24.Locate('xh',txh.Text,[]) then
begin
help.Caption:='  该序号已经存在,请您修改序号后保存!';
exit;
end;
try
save;
if errcode or (errzt<>0) then save;
if errcode or (errzt<>0) then save;
if errcode or (errzt<>0) then save;
if errcode or (errzt<>0) then
begin
showmessage('   数据库在保存主记录时失败,请您稍后重新保存!');
errdelete;
bsave.Enabled:=true;
bcancel.Enabled:=true;
exit;
end;
help.Caption:='   记录订单分包信息操作成功!' ;
txh.Text:='';
tys.Text:='';
tms.Text:='';
tsl.Text:='';
tbz.Text:='';
bprint.Enabled:=true;
bnew.Enabled:=true;
bnew.SetFocus;
pz.Enabled:=false;
except
bsave.Enabled:=true;
bcancel.Enabled:=true;
showmessage('     记录订单分包信息时出现了系统无法识别的错误,请您主动辨别该错误!');
end;
end;

function tFrmbh.errdelete:boolean;
var
relation,cx:string;
begin
 relation:=' = ''';
 cx:='';
    try
  commandstring:='delete from dbo.bhb';
  commandstring:=commandstring+' where (dbo.bhb.ddh'+relation+cx+tddh.Text+cx+''')';
  commandstring:=commandstring+' and (dbo.bhb.xh'+relation+cx+txh.Text+cx+''')';
  DataModule1.ClientDataSet24.CommandText:=commandstring;
  DataModule1.ClientDataSet24.Execute;
  except
  showmessage('数据库没有打开');
  end;
  end;

procedure TFrmbh.FormActivate(Sender: TObject);
var
commandstring,relation,cx,str:string;
begin
rzjsj:=datetimetostr(now);
rzczy:=form1.StatusBar1.Panels[4].Text;
rzsj:='包号信息录入';
sq.DateTime:=date;
sz.DateTime:=date;
jq.DateTime:=date;
jz.DateTime:=date;
help.Caption:='';
bdelete.Enabled:=false;
bquery.Enabled:=true;
bnew.Enabled:=false;
bsave.Enabled:=false;
bcancel.Enabled:=false;
bprint.Enabled:=false;
dbgrid1.Enabled:=true;
pz.Enabled:=false;
help.Caption:='  请您点击< 查询>按钮开始查询订单记录!';
end;

procedure TFrmbh.FormClose(Sender: TObject; var Action: TCloseAction);
begin
try
DataModule1.ClientDataSet17.IndexFieldNames:='';
DataModule1.ClientDataSet24.IndexFieldNames:='';
if DataModule1.clientdataset17.Active then  DataModule1.ClientDataSet17.Active:=false;
if DataModule1.clientdataset24.Active then  DataModule1.ClientDataSet24.Active:=false;
if rzcsj<>'' then exit;
rzcsj:=datetimetostr(now);
form16.WriteTorz(rzczy,rzsj,rzjsj,rzcsj);
except
showmessage('数据库没有打开!');
end;
close;
end;

procedure TFrmbh.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
 if DataModule1.ClientDataSet17.FieldByName('shbj').AsInteger=1 then

⌨️ 快捷键说明

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