ccwh.~pas

来自「应对服装行业的生产成本控制系统」· ~PAS 代码 · 共 689 行 · 第 1/2 页

~PAS
689
字号
unit ccwh;

interface

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

type
  TFrmccwh = class(TForm)
    Pz: TPanel;
    Label25: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label41: TLabel;
    help: TLabel;
    tys: TEdit;
    tbz: TEdit;
    tcc: TEdit;
    tsl: TEdit;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    tms: TEdit;
    Pd: TPanel;
    rq: TDateTimePicker;
    pq: TPanel;
    cddh: TCheckBox;
    qddh: TEdit;
    cxh: TCheckBox;
    qxh: TEdit;
    cys: TCheckBox;
    qys: TEdit;
    csl: TCheckBox;
    qsl: TEdit;
    cms: TCheckBox;
    qms: TEdit;
    Cqq: TCheckBox;
    Czq: TCheckBox;
    zq: TDateTimePicker;
    qq: TDateTimePicker;
    GroupBox1: TGroupBox;
    DBGrid5: TDBGrid;
    DBGrid2: TDBGrid;
    Label1: TLabel;
    txh: TEdit;
    brework: TBitBtn;
    bsave: TBitBtn;
    bcancel: TBitBtn;
    bprint: TBitBtn;
    breturn: TBitBtn;
    Bdelete: TBitBtn;
    Bquery: TBitBtn;
    bsh: TBitBtn;
    procedure tslKeyPress(Sender: TObject; var Key: Char);
    procedure tccKeyPress(Sender: TObject; var Key: Char);
    procedure tmsKeyPress(Sender: TObject; var Key: Char);
    procedure tysKeyPress(Sender: TObject; var Key: Char);
    procedure bcancelClick(Sender: TObject);
    procedure bprintClick(Sender: TObject);
    procedure breturnClick(Sender: TObject);
    procedure bsaveClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure rqKeyPress(Sender: TObject; var Key: Char);
    procedure BqueryClick(Sender: TObject);
    procedure DBGrid5DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure DBGrid5TitleClick(Column: TColumn);
    procedure BdeleteClick(Sender: TObject);
    procedure bshClick(Sender: TObject);
    procedure DBGrid5DblClick(Sender: TObject);
    procedure breworkClick(Sender: TObject);
    procedure txhKeyPress(Sender: TObject; var Key: Char);
    procedure tbzKeyPress(Sender: TObject; var Key: Char);
  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
  Frmccwh: TFrmccwh;

implementation

uses unit28, Unit1, Unit16, xtfz;

{$R *.dfm}

procedure TFrmccwh.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 tms.SetFocus;
end;

procedure TFrmccwh.tccKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then rq.SetFocus;
end;

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

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

function TFrmccwh.check:boolean;
begin
  result:=true;
  if trim(tcc.Text)='' then
    begin          
    showmessage('请您输入一个裁床号!');
    result:=false;
    tcc.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(tsl.Text)='' then
   begin
    showmessage('请您输入数量!');
    result:=false;
    tsl.SetFocus;
    exit;
    end;
 if trim(tms.Text)='' then
   begin
    showmessage('请您输入!');
    result:=false;
    tms.SetFocus;
    exit;
    end;
    end;

function TFrmccwh.save:boolean;
var
sqlstr,relation,dx,cx:string;
 begin
 relation:=' = ''';
 dx:=' ''';
 cx:='';
 tcc.Text:=trim(tcc.Text);
 txh.Text:=trim(txh.text);
 tys.Text:=trim(tys.Text);
 tsl.Text:=trim(tsl.Text);
 tms.Text:=trim(tms.Text);
 tbz.Text:=trim(tbz.Text);
 errcode:=true;
 errzt:=1;
sqlstr:='update dbo.ccb set cc'+relation+tcc.Text+dx+' ,rq'+relation+datetimetostr(rq.Date)+dx+' ,ys'+relation+tys.Text+dx+' ,sl'+relation+tsl.Text+dx+' ,ms'+relation+tms.Text+dx+' ,bz'+relation+tbz.Text;
sqlstr:=sqlstr+dx+' ,czy'+relation+form1.StatusBar1.Panels[4].text+dx;
sqlstr:=sqlstr+' where (ddh' +relation+cx+DataModule1.ClientDataSet22.fieldbyname('ddh').AsString+cx+''')';
sqlstr:=sqlstr+' and (xh' +relation+cx+DataModule1.ClientDataSet22.fieldbyname('xh').AsString+cx+''')';
 try
DataModule1.ClientDataSet22.DisableControls;
DataModule1.ClientDataSet22.CommandText:=sqlstr;
DataModule1.ClientDataSet22.Execute;
DataModule1.ClientDataSet22.Close;
DataModule1.ClientDataSet22.CommandText:=commandstringq;
DataModule1.ClientDataSet22.Open;
DataModule1.ClientDataSet22.EnableControls;
DataModule1.ClientDataSet22.Locate('xh',txh.Text,[]);
 errcode:=false;
 errzt:=0;
 except
  errcode:=true;
  errzt:=1;
  DataModule1.ClientDataSet22.EnableControls;
  end;
end;

procedure TFrmccwh.bcancelClick(Sender: TObject);
begin
bsave.Enabled:=false;
bcancel.Enabled:=false;
bprint.Enabled:=false;
brework.Enabled:=false;
bquery.Enabled:=true;
bsh.Enabled:=false;
bdelete.Enabled:=false;
tcc.Text:='';
txh.Text:='';
tys.Text:='';
tbz.Text:='';
tsl.Text:='';
tms.Text:='';
dbgrid5.Enabled:=true;
help.Caption:='  继续修改请您重新选择裁床记录!';
end;

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

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

procedure TFrmccwh.bsaveClick(Sender: TObject);
var
datestr:string;
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;
datestr:=frmxtfz.checkfzrq(formatdatetime('yyyy-mm-dd',rq.date));
if datestr<>'' then
begin
help.Caption:='  封账日期为'+datestr+'您不能修改封账日期前的数据';
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;
except
bsave.Enabled:=true;
bcancel.Enabled:=true;
showmessage('     修改裁床信息时出现了系统无法识别的错误,请您主动辨别该错误!');
end;
tcc.Text:='';
txh.Text:='';
tys.Text:='';
tbz.Text:='';
tsl.Text:='';
tms.Text:='';
help.Caption:='   修改裁床信息操作成功!' ;
bsh.Enabled:=true;
bprint.Enabled:=true;
dbgrid5.Enabled:=false;
end;

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

procedure TFrmccwh.FormActivate(Sender: TObject);
var
commandstring,relation,cx,str:string;
begin
rzjsj:=datetimetostr(now);
rzczy:=form1.StatusBar1.Panels[4].Text;
rzsj:='裁床信息修改';
qq.DateTime:=date-30;
zq.DateTime:=date;
rq.DateTime:=date;
help.Caption:='';
bquery.Enabled:=true;
brework.Enabled:=false;
bsave.Enabled:=false;
bdelete.Enabled:=false;
bsh.Enabled:=false;
bcancel.Enabled:=false;
bprint.Enabled:=false;
dbgrid5.Enabled:=true;
pz.Enabled:=true;
help.Caption:='  请您点击< 查询>按钮开始查询裁床信息记录!';
end;

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

procedure TFrmccwh.rqKeyPress(Sender: TObject; var Key: Char);

⌨️ 快捷键说明

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