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

📄 dd.pas

📁 应对服装行业的生产成本控制系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 TFrmdd.DBGrid2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then  ClientDataSet1.Append;
end;

function TFrmdd.savekc:boolean;
var
relation,cx:string;
i,i1:integer;
 begin
 relation:=' = ''';
    cx:='';
 TRY
 tddh.Text:=trim(tddh.Text);
 tcpmc.Text:=trim(tcpmc.text);
 errcode:=true;
 errzt:=1;
 commandstring:='select * from dbo.ddmxb where (dbo.ddmxb.ddh '+relation+cx+trim(tddh.Text)+cx+''')'+' order by xh';
 DataModule1.ClientDataSet18.Close;
 DataModule1.ClientDataSet18.CommandText:=commandstring;
 DataModule1.ClientDataSet18.Open;
 i1:=clientdataset1.RecordCount;
  if i1<1 then
 begin
 errcode:=false;
 errzt:=0;
 exit;
 end;
 clientdataset1.DisableControls;
 clientdataset1.First;
for i:=1 to i1 do
begin
if not DataModule1.ClientDataSet18.Locate('xh',clientdataset1.fieldbyname('xh').AsString,[]) then
begin
savekcb;
if errcode  or (errzt<>0) then savekcb;
if errcode  or (errzt<>0) then savekcb;
if errcode  or (errzt<>0) then savekcb;
end;
clientdataset1.Next;
end;
 errcode:=false;
 errzt:=0;
clientdataset1.EnableControls;
  except
 errcode:=true;
 errzt:=1;
 clientdataset1.EnableControls;
 help.Caption:='数据库没有打开!';
 end;
   end;

function tFrmdd.savekcb:boolean;
begin
 try
 errcode:=true;
 errzt:=1;
 DataModule1.clientdataset18.Edit;
 DataModule1.ClientDataSet18.First;
 DataModule1.clientdataset18.Insert;
 DataModule1.clientdataset18.FieldByName('ddh').AsString:=tddh.Text;
 DataModule1.clientdataset18.FieldByName('xh').AsString:=clientdataset1.fieldbyname('xh').AsString;
 DataModule1.clientdataset18.FieldByName('ms').AsString:=clientdataset1.fieldbyname('ms').AsString;
 DataModule1.clientdataset18.FieldByName('ts').AsString:=clientdataset1.fieldbyname('ts').AsString;
 DataModule1.clientdataset18.FieldByName('ys').AsString:=clientdataset1.fieldbyname('ys').AsString;
 DataModule1.clientdataset18.ApplyUpdates(-1);
 errcode:=false;
 errzt:=0;
 except
  errcode:=true;
  errzt:=1;
  help.caption:='数据库没有打开!';
  end;
end;

function TFrmdd.dbexit:boolean;
var
i,i1,i2,i3:integer;
begin
if not clientdataset1.Active then exit;
try
i1:=clientdataset1.RecordCount;
clientdataset1.DisableControls;
clientdataset1.first;
   for i:=1 to i1  do
  begin
 IF (clientdataset1.FieldByName('xh').AsString='') or (clientdataset1.FieldByName('ms').AsString='') or (clientdataset1.FieldByName('ts').AsString='') or (clientdataset1.FieldByName('ys').AsString='')  THEN
   begin
    clientdataset1.Edit;
    clientdataset1.Delete;
      end
      else
  clientdataset1.Next;
   end;
  ts:='0';
  i3:=clientdataset1.RecordCount;
  clientdataset1.first;
   for i2:=1 to i3  do
  begin
 ts:=formatfloat('0.00',strtofloat(ts) + clientdataset1.FieldByName('ts').AsFloat);
 if i2<>i3 then  clientdataset1.Next;
  end;
//ts:=formatfloat('0.00',strtofloat(ts)-1);
clientdataset1.EnableControls;
except
clientdataset1.EnableControls;
showmessage('请您输入正确的数字!')
end;
end;

procedure TFrmdd.tslChange(Sender: TObject);
begin
if trim(tje.Text)='' then tje.Text:='0';
if trim(tdj.Text)='' then tdj.Text:='0';
if (trim(tsl.Text)<>'') and (trim(tdj.Text)<>'') then
begin
tje.Text:=formatfloat('0.00',strtofloat(tsl.Text)*strtofloat(tdj.Text));
end;
end;

procedure TFrmdd.bsaveClick(Sender: TObject);
var
datestr:string;
begin
if not bsave.Enabled then exit;
bsave.Enabled:=false;
bcancel.Enabled:=false;
errcode:=true;
errzt:=1;
datestr:=frmxtfz.checkfzrq(formatdatetime('yyyy-mm-dd',jdrq.date));
if datestr<>'' then
begin
help.Caption:='  封账日期为'+datestr+'您不能添加封账日期前的数据';
exit;
end;
if not check then
begin
bsave.Enabled:=true;
bcancel.Enabled:=true;
 exit;
 end;
form1.kh:=trim(tkhmc.Text);
frmwjgdw.checkkh(form1.kh);
if form1.kh='' then
begin
bsave.Enabled:=true;
bcancel.Enabled:=true;
tkhmc.SetFocus;
help.Caption:='  该客户不存在,请您输入正确的客户!';
 exit;
 end;
form1.kh:='';
form1.cpmc:=trim(tcpmc.Text);
form1.cpfl:=trim(tcpfl.Text);
form1.cpdw:=trim(tcpdw.Text);
frmcpml.checkcp(form1.cpmc,form1.cpfl,form1.cpdw);
if form1.cpmc='' then
begin
bsave.Enabled:=true;
bcancel.Enabled:=true;
tcpmc.SetFocus;
help.Caption:='  该产品不存在,请您输入正确的产品!';
 exit;
 end;
form1.cpmc:='';
form1.cpfl:='';
form1.cpdw:='';
try
form1.dorandombh;
DataModule1.clientdataset11.Refresh;
DataModule1.ClientDataSet11.First;
tddh.Text:=floattostr(DataModule1.clientdataset11.FieldByName('ddh').AsFloat)+form1.randombh+form1.tbh.Text;
DataModule1.ClientDataSet11.Edit;
DataModule1.ClientDataSet11.FieldByName('ddh').AsFloat:= DataModule1.ClientDataSet11.FieldByName('ddh').AsFloat+1;
DataModule1.ClientDataSet11.ApplyUpdates(-1);
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;
savekc;
if errcode or (errzt<>0) then savekc;
if errcode or (errzt<>0) then savekc;
if errcode or (errzt<>0) then savekc;
if errcode or (errzt<>0) then
begin
showmessage('   数据库在保存明细记录时失败,请您稍后重新保存!');
errdelete;
bsave.Enabled:=true;
bcancel.Enabled:=true;
exit;
end;
help.Caption:='   记录订单操作成功!' ;
 clientdataset1.DisableControls;
 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;
 clientdataset1.EnableControls;
tkhmc.Text:='';
tcpmc.Text:='';
tcpfl.Text:='';
tcpdw.Text:='';
tsl.Text:='0';
tdj.Text:='0';
tje.Text:='0';
bnew.Enabled:=true;
bprint.Enabled:=true;
bnew.SetFocus;
pz.Enabled:=false;
except
clientdataset1.EnableControls;
bsave.Enabled:=true;
bcancel.Enabled:=true;
showmessage('     记录订单时出现了系统无法识别的错误,请您主动辨别该错误!');
end;
end;

procedure TFrmdd.DBGrid2Exit(Sender: TObject);
begin
dbexit;
if ts<>'0' then tsl.Text:=ts;
end;


function tFrmdd.errdelete:boolean;
VAR
relation,cx:string;
begin
 relation:=' = ''';
 cx:='';
    try
  commandstring:='delete from dbo.ddb';
  commandstring:=commandstring+' where (dbo.ddb.ddhh'+relation+cx+tddh.Text+cx+''')';
  DataModule1.ClientDataSet17.CommandText:=commandstring;
  DataModule1.ClientDataSet17.Execute;
  commandstring:='delete from dbo.ddmxb';
  commandstring:=commandstring+' where (dbo.ddmxb.ddh'+relation+cx+tddh.Text+cx+''')';
  DataModule1.ClientDataSet18.CommandText:=commandstring;
  DataModule1.ClientDataSet18.Execute;
  khchange;
  except
  showmessage('数据库没有打开')
  end;
  end;

procedure TFrmdd.FormActivate(Sender: TObject);
var
commandstring,relation,cx,str:string;
begin
rzjsj:=datetimetostr(now);
rzczy:=form1.StatusBar1.Panels[4].Text;
rzsj:='订单录入';
jdrq.DateTime:=date;
jhrq.DateTime:=date+30;
help.Caption:='';
bnew.Enabled:=true;
bsave.Enabled:=false;
bcancel.Enabled:=false;
bprint.Enabled:=false;
pz.Enabled:=false;
tkhmc.Text:='';
tcpmc.Text:='';
tcpfl.Text:='';
tcpdw.Text:='';
ts:='0';
clientDataSet1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFileDir(Application.ExeName)+'\fzcbhsglxt.mdb;Persist Security Info=False';
 try
 clientDataSet1.Active:=true;
 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;
relation:=' = ''';
str:='jg';
cx:='';
commandstring:='select * from fylbb where (fylbb.lb';
commandstring:=commandstring+relation+cx+str+cx+''')'+' order by xh';
DataModule1.ClientDataSet16.Close;
DataModule1.ClientDataSet16.CommandText:=commandstring;
DataModule1.ClientDataSet16.Open;
except
showmessage('数据库没有打开!')
end;
bnew.SetFocus;
tsl.Text:='0';
tdj.Text:='0';
tje.Text:='0';
help.Caption:='  请您点击<新增>按钮开始记录数据!';
pz.Enabled:=false;
end;

procedure TFrmdd.FormClose(Sender: TObject; var Action: TCloseAction);
begin
try
DataModule1.ClientDataSet17.IndexFieldNames:='';
 clientdataset1.DisableControls;
 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;
 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;
if rzcsj<>'' then exit;
rzcsj:=datetimetostr(now);
form16.WriteTorz(rzczy,rzsj,rzjsj,rzcsj);
except
clientdataset1.EnableControls;
showmessage('数据库没有打开!');
end;
close;
end;

procedure TFrmdd.ClientDataSet1NewRecord(DataSet: TDataSet);
var
i,i1:integer;
begin
try
clientdataset1.FieldByName('xh').AsInteger:=clientdataset1.RecordCount+1;
i1:=clientdataset1.RecordCount;
ts:='0';
clientdataset1.DisableControls;
clientdataset1.first;
  for i:=1 to i1  do
  begin
if clientdataset1.FieldByName('ts').AsString<>'' then ts:=formatfloat('0.00',strtofloat(ts) + clientdataset1.FieldByName('ts').AsFloat);
if i<>i1 then  clientdataset1.Next;
end;
//ts:=formatfloat('0.00',strtofloat(ts)-1);
clientdataset1.EnableControls;
 except
 clientdataset1.EnableControls;
 showmessage('请您输入正确的数字')
 end;
end;

procedure TFrmdd.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
 if DataModule1.ClientDataSet17.FieldByName('shbj').AsInteger=1 then
begin
dbgrid1.Canvas.Font.Color:=clred;
dbgrid1.Canvas.Brush.Color:=clyellow;
end
else
begin
dbgrid1.Canvas.Font.Color:=clblue;
dbgrid1.Canvas.Brush.Color:=clwhite;
end;
dbgrid1.DefaultDrawColumnCell(rect,datacol,column,state);
if   ((State = [gdSelected])   or   (State   =   [gdSelected,   gdFocused]))   then
   begin
DBGrid1.Canvas.Brush.Color:=clred;
DBGrid1.Canvas.Font.Color:=clWhite;
DBGrid1.DefaultDrawColumnCell(Rect,   datacol,column,   State);
end;
end;

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

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

procedure TFrmdd.DBGrid3DblClick(Sender: TObject);
begin
if not DataModule1.ClientDataSet7.Active then exit;
if DataModule1.ClientDataSet7.RecordCount>0 then
begin
tkhmc.Text:=DataModule1.ClientDataSet7.FieldByName('wjgdw').AsString;
tcpmc.SetFocus;
end;
end;

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

procedure TFrmdd.tjeKeyPress(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 TFrmdd.tddhExit(Sender: TObject);
    var
    relation,cx:string;
    begin
    relation:=' = ''';
    cx:='';
    commandstring:='select * from dbo.ddb';
    if trim(tddh.Text)<>'' then
    begin
    commandstring:=commandstring+' where (ddh'+relation+cx+trim(tddh.Text)+cx+''')'+' order by ddh desc';;
    DataModule1.ClientDataSet17.Close;
    DataModule1.ClientDataSet17.CommandText:=commandstring;
    DataModule1.ClientDataSet17.Open;
    if DataModule1.ClientDataSet17.RecordCount>0 then help.Caption:='   该订单号已经存在,您不用再次录入了';
    end;
end;

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

end.

⌨️ 快捷键说明

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