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

📄 dd.pas

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

interface

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

type
  TFrmdd = class(TForm)
    Pz: TPanel;
    Label25: TLabel;
    Label26: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label41: TLabel;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    help: TLabel;
    GroupBox4: TGroupBox;
    jdrq: TDateTimePicker;
    tkhmc: TEdit;
    tcpdw: TEdit;
    tddh: TEdit;
    DBGrid2: TDBGrid;
    tcpmc: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    tdj: TEdit;
    tbz: TEdit;
    tsl: TEdit;
    DBGrid4: TDBGrid;
    DataSource1: TDataSource;
    ClientDataSet1: TADOQuery;
    Label6: TLabel;
    jglx: TDBLookupComboBox;
    Label7: TLabel;
    Label8: TLabel;
    tcpfl: TEdit;
    DBGrid1: TDBGrid;
    Pd: TPanel;
    bnew: TBitBtn;
    bsave: TBitBtn;
    bcancel: TBitBtn;
    bprint: TBitBtn;
    breturn: TBitBtn;
    DBGrid3: TDBGrid;
    Label1: TLabel;
    jhrq: TDateTimePicker;
    Label2: TLabel;
    tje: TEdit;
    procedure tdjKeyPress(Sender: TObject; var Key: Char);
    procedure tslKeyPress(Sender: TObject; var Key: Char);
    procedure tddhKeyPress(Sender: TObject; var Key: Char);
    procedure jdrqKeyPress(Sender: TObject; var Key: Char);
    procedure tcpmcKeyPress(Sender: TObject; var Key: Char);
    procedure tcpdwKeyPress(Sender: TObject; var Key: Char);
    procedure tbzKeyPress(Sender: TObject; var Key: Char);
    procedure tcpmcChange(Sender: TObject);
    procedure tkhmcChange(Sender: TObject);
    procedure bnewClick(Sender: TObject);
    procedure bcancelClick(Sender: TObject);
    procedure bprintClick(Sender: TObject);
    procedure breturnClick(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure DBGrid4DblClick(Sender: TObject);
    procedure DBGrid1TitleClick(Column: TColumn);
    procedure DBGrid2KeyPress(Sender: TObject; var Key: Char);
    procedure tslChange(Sender: TObject);
    procedure bsaveClick(Sender: TObject);
    procedure DBGrid2Exit(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ClientDataSet1NewRecord(DataSet: TDataSet);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure jglxKeyPress(Sender: TObject; var Key: Char);
    procedure tcpflKeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid3DblClick(Sender: TObject);
    procedure jhrqKeyPress(Sender: TObject; var Key: Char);
    procedure tjeKeyPress(Sender: TObject; var Key: Char);
    procedure tddhExit(Sender: TObject);
    procedure tkhmcKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
      rzczy,rzsj,rzjsj,rzcsj:string;
      errzt: integer;
      errcode:boolean;
  commandstring,ts: string;
  function check():boolean;
  function khchange():boolean;
  function save():boolean;
  function savekc():boolean;
  function savekcb():boolean;
  function dbexit():boolean;
  function errdelete():boolean;
  public
    { Public declarations }
  end;

var
  Frmdd: TFrmdd;

implementation

uses unit28, Unit1, Unit16, xtfz, wjgdw, cpml;

{$R *.dfm}

procedure TFrmdd.tdjKeyPress(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 tje.SetFocus;
end;

procedure TFrmdd.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 tdj.SetFocus;
end;

procedure TFrmdd.tddhKeyPress(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 jglx.SetFocus;
end;

procedure TFrmdd.jdrqKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then jhrq.SetFocus;
end;

procedure TFrmdd.tcpmcKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then tcpfl.SetFocus;
end;

procedure TFrmdd.tcpdwKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then jdrq.SetFocus;
end;

procedure TFrmdd.tbzKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then dbgrid2.SetFocus;
end;

function TFrmdd.check:boolean;
begin
  result:=true;
  if trim(tddh.Text)='' then
    begin
    showmessage('请输入一个订单号!');
    result:=false;
    tddh.SetFocus;
    exit;
    end;
  if trim(jglx.Text)='' then
    begin
    showmessage('请您选择加工类型,如果没有出现在列表中,请您添加进来!');
    result:=false;
    jglx.SetFocus;
    exit;
    end;
  if trim(tkhmc.Text)='' then
   begin
    showmessage('请选择一个客户单位,如果没有出现在列表中,请添加!');
    result:=false;
    tkhmc.SetFocus;
    exit;
    end;
  if trim(tcpmc.Text)='' then
   begin
    showmessage('请选择一个产品名称,如果没有出现在列表中,请添加!');
    result:=false;
    tcpmc.SetFocus;
    exit;
    end;
 if trim(tcpfl.Text)='' then
   begin
    showmessage('请选择一个产品分类,如果没有出现在列表中,请添加!');
    result:=false;
    tcpfl.SetFocus;
    exit;
    end;
 if trim(tcpdw.Text)='' then
   begin
    showmessage('请选择一个产品单位,如果没有出现在列表中,请添加!');
    result:=false;
    tcpdw.SetFocus;
    exit;
    end;
  if trim(tsl.Text)='' then
   begin
    showmessage('请输入产品数量!');
    result:=false;
    tsl.SetFocus;
    exit;
    end;
    end;

function tFrmdd.khchange:boolean;
    var
    relation,cx:string;
    begin
    relation:=' = ''';
    cx:='';
    commandstring:='select top 10 * from dbo.ddb';
    if trim(tkhmc.Text)<>'' then
    begin
    commandstring:=commandstring+' where (khmc'+relation+cx+trim(tkhmc.Text)+cx+''')'+' order by ddh desc';;
    DataModule1.ClientDataSet17.Close;
    DataModule1.ClientDataSet17.CommandText:=commandstring;
    DataModule1.ClientDataSet17.Open;
    end;
    end;


procedure TFrmdd.tcpmcChange(Sender: TObject);
var
relation,cx:string;
begin
relation:=' like ''';
cx:='%';
commandstring:='select * from dbo.cpmlb';
if trim(tcpmc.Text)<>'' then
begin
commandstring:=commandstring+' where (cpmc'+relation+cx+trim(tcpmc.Text)+cx+''')'+' order by xh';;
DataModule1.ClientDataSet13.Close;
DataModule1.ClientDataSet13.CommandText:=commandstring;
DataModule1.ClientDataSet13.Open;
end;
if trim(tcpmc.Text)='' then
begin
help.Caption:=' 请您输入或选择一个产品!';
exit;
end;
end;

procedure TFrmdd.tkhmcChange(Sender: TObject);
var
relation,commandstring,cx:string;
begin
relation:=' like ''';
cx:='%';
commandstring:='select * from dbo.wjgdwb where (wjgdw ' +relation+cx+trim(tkhmc.Text)+cx+''')';
try
DataModule1.ClientDataSet7.Close;
DataModule1.ClientDataSet7.CommandText:=commandstring;
DataModule1.ClientDataSet7.Open;
except
help.Caption:=' 客户单位打开失败!';
end;
khchange;
end;

function TFrmdd.save:boolean;
 begin
 try
 tddh.Text:=trim(tddh.Text);
 tkhmc.Text:=trim(tkhmc.text);
 tcpmc.Text:=trim(tcpmc.Text);
 tcpfl.Text:=trim(tcpfl.Text);
 tcpdw.Text:=trim(tcpdw.Text);
 tsl.Text:=trim(tsl.Text);
 tdj.Text:=trim(tdj.Text);
 tje.Text:=trim(tje.Text);
 tbz.Text:=trim(tbz.Text);
 errcode:=true;
 errzt:=1;
if not DataModule1.ClientDataSet17.Locate('ddh',tddh.Text,[]) then
   begin
 DataModule1.clientdataset17.Edit;
 DataModule1.ClientDataSet17.First;
 DataModule1.clientdataset17.Insert;
 DataModule1.clientdataset17.FieldByName('ddh').AsString:=tddh.Text;
 DataModule1.clientdataset17.FieldByName('jglx').AsString:=jglx.Text;
 DataModule1.clientdataset17.FieldByName('khmc').AsString:=tkhmc.Text;
 DataModule1.clientdataset17.FieldByName('cpmc').AsString:=tcpmc.Text;
 DataModule1.clientdataset17.FieldByName('cpfl').AsString:=tcpfl.Text;
 DataModule1.clientdataset17.FieldByName('cpdw').AsString:=tcpdw.Text;
 DataModule1.clientdataset17.FieldByName('jdrq').AsString:=formatdatetime('yyyy-mm-dd',jdrq.DateTime);
 DataModule1.clientdataset17.FieldByName('jhrq').AsString:=formatdatetime('yyyy-mm-dd',jhrq.DateTime);
 DataModule1.clientdataset17.FieldByName('sl').AsString:=tsl.Text;
 DataModule1.clientdataset17.FieldByName('dj').AsString:=tdj.Text;
 DataModule1.clientdataset17.FieldByName('je').AsString:=tje.Text;
 DataModule1.clientdataset17.FieldByName('bz').AsString:=tbz.Text;
 DataModule1.clientdataset17.FieldByName('czy').AsString:=trim(form1.StatusBar1.Panels[4].text);
 DataModule1.clientdataset17.ApplyUpdates(-1);
 end;
 errcode:=false;
 errzt:=0;
 except
  errcode:=true;
  errzt:=1;
  showmessage('数据库没有打开!');
  end;
end;

procedure TFrmdd.bnewClick(Sender: TObject);
begin
try
 if clientdataset1.RecordCount>0 then
 begin
 clientDataSet1.Close;
 clientDataSet1.SQL.Clear;
 clientDataSet1.SQL.Add('delete from ddmxb');
 clientDataSet1.ExecSQL;
 clientDataSet1.Close;
 clientDataSet1.SQL.Clear;
 clientDataSet1.SQL.Add('select * from ddmxb order by xh');
 clientDataSet1.Open;
 dbexit;
 end;
if not DataModule1.ClientDataSet11.Active then DataModule1.clientdataset11.Active:=true;
form1.dorandombh;
DataModule1.clientdataset11.Refresh;
tddh.Text:=floattostr(DataModule1.clientdataset11.FieldByName('ddh').AsFloat)+form1.randombh+form1.tbh.Text;
except
help.Caption:='  数据库打开失败!';
exit;
end;
jdrq.DateTime:=date;
jhrq.DateTime:=date+30;
help.Caption:='';
bnew.Enabled:=false;
bsave.Enabled:=true;
bcancel.Enabled:=true;
bprint.Enabled:=false;
pz.Enabled:=true;
tddh.SetFocus;
tsl.Text:='0';
tdj.Text:='0';
tje.Text:='0';
help.Caption:='  请您输入数据!';
end;

procedure TFrmdd.bcancelClick(Sender: TObject);
var
i,i1:integer;
begin
try
bsave.Enabled:=false;
bcancel.Enabled:=false;
bnew.Enabled:=true;
bprint.Enabled:=false;
bnew.SetFocus;
tddh.Text:='';
tbz.Text:='';
tsl.Text:='0';
tdj.Text:='0';
tje.Text:='0';
 if clientdataset1.RecordCount>0 then
 begin
 clientDataSet1.Close;
 clientDataSet1.SQL.Clear;
 clientDataSet1.SQL.Add('delete from ddmxb');
 clientDataSet1.ExecSQL;
 clientDataSet1.Close;
 clientDataSet1.SQL.Clear;
 clientDataSet1.SQL.Add('select * from ddmxb order by xh');
 clientDataSet1.Open;
 dbexit;
 end;
help.Caption:='  继续录入请点击〈新增〉按钮!';
pz.Enabled:=false;
except
showmessage('数据库没有打开!')
end;
end;

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

procedure TFrmdd.breturnClick(Sender: TObject);
begin
try
rzcsj:=datetimetostr(now);
form16.WriteTorz(rzczy,rzsj,rzjsj,rzcsj);
DataModule1.ClientDataSet17.IndexFieldNames:='';
 clientdataset1.DisableControls;
 if clientdataset1.RecordCount>0 then
 begin
 clientDataSet1.Close;
 clientDataSet1.SQL.Clear;
 clientDataSet1.SQL.Add('delete from ddmxb');
 clientDataSet1.ExecSQL;
 clientDataSet1.Close;
 clientDataSet1.SQL.Clear;
 clientDataSet1.SQL.Add('select * from ddmxb order by xh');
 clientDataSet1.Open;
 end;
 clientdataset1.EnableControls;
if clientdataset1.Active then ClientDataSet1.Active:=false;
if DataModule1.clientdataset17.Active then  DataModule1.ClientDataSet17.Active:=false;
if DataModule1.clientdataset18.Active then  DataModule1.ClientDataSet18.Active:=false;
if DataModule1.clientdataset13.Active then  DataModule1.ClientDataSet13.Active:=false;
if DataModule1.clientdataset16.Active then  DataModule1.ClientDataSet16.Active:=false;
if DataModule1.clientdataset7.Active then  DataModule1.ClientDataSet7.Active:=false;
except
clientdataset1.EnableControls;
showmessage('数据库没有打开!');
end;
close;
end;

procedure TFrmdd.SpeedButton2Click(Sender: TObject);
begin
form1.kh:=trim(tkhmc.Text);
frmwjgdw.showmodal;
tkhmc.Text:=form1.kh;
form1.kh:='';
end;

procedure TFrmdd.SpeedButton3Click(Sender: TObject);
begin
form1.cpmc:=trim(tcpmc.Text);
frmcpml.showmodal;
tcpmc.Text:=form1.cpmc;
form1.cpmc:='';
end;

procedure TFrmdd.DBGrid4DblClick(Sender: TObject);
begin
if not DataModule1.ClientDataSet13.Active then exit;
if DataModule1.ClientDataSet13.RecordCount>0 then
begin
tcpmc.Text:=DataModule1.ClientDataSet13.FieldByName('cpmc').AsString;
tcpfl.Text:=DataModule1.ClientDataSet13.FieldByName('cpfl').AsString;
tcpdw.text:=DataModule1.ClientDataSet13.FieldByName('cpdw').AsString;
jdrq.SetFocus;
end;
end;

procedure TFrmdd.DBGrid1TitleClick(Column: TColumn);
var i : integer;
begin
for i:= 1 to DBGrid1.Columns.Count do

⌨️ 快捷键说明

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