📄 unitf.~pas
字号:
unit UnitF;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Buttons, StdCtrls, Grids, jpeg, ExtCtrls, ComCtrls;
type
TfmF = class(TForm)
Image1: TImage;
combA: TComboBox;
btn2: TBitBtn;
edt1: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label11: TLabel;
edt3: TEdit;
edt4: TEdit;
edt6: TEdit;
btn1: TBitBtn;
sbtn1: TSpeedButton;
edt5: TEdit;
rbtn3: TBitBtn;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label12: TLabel;
Label13: TLabel;
combB: TComboBox;
mc1: TMonthCalendar;
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure sbtn1Click(Sender: TObject);
procedure edt5Click(Sender: TObject);
procedure mc1Click(Sender: TObject);
procedure rbtn1Click(Sender: TObject);
procedure rbtn2Click(Sender: TObject);
procedure rbtn3Click(Sender: TObject);
procedure edt2KeyPress(Sender: TObject; var Key: Char);
procedure edt3KeyPress(Sender: TObject; var Key: Char);
procedure edt1KeyPress(Sender: TObject; var Key: Char);
procedure edt4KeyPress(Sender: TObject; var Key: Char);
procedure edt6KeyPress(Sender: TObject; var Key: Char);
procedure combASelect(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmF: TfmF;
implementation
uses UnitDm, UnitMain,unitFunc;
{$R *.dfm}
procedure TfmF.btn1Click(Sender: TObject);
var s,s1,s2,s3,s4,s5,sum:string;
n:integer;
begin
if combA.Text='材料' then
begin
s:=trim(edt1.Text);
s1:=trim(combB.Text);
s2:=trim(edt3.Text);
s3:=trim(edt4.Text);
s4:=trim(edt5.Text);
s4:=sss(s4);
s5:=trim(edt6.Text);
if ( S<>'')and
( S1<>'')and
( S2<>'')and
( S4<>'') then
begin
frDbm.dsetF.Close;
frDbm.dsetF.CommandText:='select * from t_mlist where sno='+s1+'';
frDbm.dsetF.Open;
if frDbm.dsetF.Fields[0].AsString<>'' then
begin
frDbm.dsetF.Close;
frDbm.dsetF.CommandText:='select * from t_mfei where sno='+s;
frDbm.dsetF.Open;
if frDbm.dsetF.Fields[0].AsString='' then
begin
frDbm.dsetF.Close;
frDbm.dsetF.CommandText:='select number from t_mstore where msno='+s1+'';
frDbm.dsetF.Open;
n:=frDbm.dsetF.Fields[0].AsInteger;
n:=n-strtoint(s2);
if n<0 then showmessage('报废数量不能大于库存数量!');
with frDbm.comF do
begin
frDbm.comF.commandType:=cmdStoredProc;
frDbm.comF.CommandText:='mfeiAdd';
Parameters.Refresh;
Parameters.ParamByName('@sno').Value:=s;
Parameters.ParamByName('@msno').Value:=s1;
Parameters.ParamByName('@number').Value:=s2;
Parameters.ParamByName('@name').Value:=s3;
Parameters.ParamByName('@shijian').Value:=s4;
Parameters.ParamByName('@remark').Value:=s5;
frDbm.comF.Execute;
showmessage('数据添加成功!');
end;
end
else showmessage('数据库中已经存在报废单号为'+s+'的记录,请重新输入!');
end
else
showmessage('不存在该编号的材料,请重新输入!');
end
else
showmessage('报废单编号,材料编号,出库数量,出库时间不能为空!');
end;
if combA.Text='成品' then
begin
s:=trim(edt1.Text);
s1:=trim(combB.Text);
s2:=trim(edt3.Text);
s3:=trim(edt4.Text);
s4:=trim(edt5.Text);
s4:=sss(s4);
s5:=trim(edt6.Text);
if ( S<>'')and
( S1<>'')and
( S2<>'')and
( S4<>'') then
begin
frDbm.dsetF.Close;
frDbm.dsetF.CommandText:='select * from t_glist where sno='+s1+'';
frDbm.dsetF.Open;
if frDbm.dsetF.Fields[0].AsString<>'' then
begin
frDbm.dsetF.Close;
frDbm.dsetF.CommandText:='select * from t_gfei where sno='+s;
frDbm.dsetF.Open;
if frDbm.dsetF.Fields[0].AsString='' then
begin
frDbm.dsetF.Close;
frDbm.dsetF.CommandText:='select number from t_gstore where gsno='+s1+'';
frDbm.dsetF.Open;
n:=frDbm.dsetF.Fields[0].AsInteger;
n:=n-strtoint(s2);
if n<0 then showmessage('报废数量不能大于库存数量!');
with frDbm.comF do
begin
frDbm.comF.commandType:=cmdStoredProc;
frDbm.comF.CommandText:='gfeiAdd';
Parameters.Refresh;
Parameters.ParamByName('@sno').Value:=s;
Parameters.ParamByName('@gsno').Value:=s1;
Parameters.ParamByName('@number').Value:=s2;
Parameters.ParamByName('@name').Value:=s3;
Parameters.ParamByName('@shijian').Value:=s4;
Parameters.ParamByName('@remark').Value:=s5;
frDbm.comF.Execute;
showmessage('数据添加成功!');
end;
end
else showmessage('数据库中已经存在报废单号为'+s+'的记录,请重新输入!');
end
else
showmessage('不存在该编号的成品,请查询后输入!');
end
else
showmessage('报废单编号,物品编号,报废数量,报废时间不能为空!');
end;
if combA.Text='' then
showmessage('请选择类别!');
end;
procedure TfmF.btn2Click(Sender: TObject);
var s,s1,sum:string;
n:integer;
begin
if messagedlg('确实要删除报废号为:'+trim(edt1.Text)+'的记录吗(Y/N)?',mtConfirmation,[mbYes]+[mbNo],0)=6 then
begin
if combA.Text='材料' then
begin
s:=trim(edt1.Text);
if s<>'' then
begin
frDbm.dsetF.Close;
frDbm.dsetF.CommandText:='select * from t_mfei where sno='+s+'';
frDbm.dsetF.Open;
if frDbm.dsetF.Fields[0].AsString<>'' then
begin
n:=frDbm.dsetF.Fields[2].AsInteger;
s1:=frDbm.dsetF.Fields[1].AsString;
frDbm.comF.commandType:=cmdText;
frDbm.ComF.CommandText:='delete from t_mfei where sno='+s+'';
frDbm.ComF.Execute;
frDbm.dsetF.Close;
frDbm.dsetF.CommandText:='select number from t_mstore where msno='+s1+'';
frDbm.dsetF.Open;
n:=frDbm.dsetF.Fields[0].AsInteger+n;
sum:=trim(inttostr(n));
frDbm.comF.commandType:=cmdText;
frDbm.ComF.CommandText:='update t_mstore set number='+sum+' where msno='+s1+'';
frDbm.ComF.Execute;
showmessage('数据删除成功!');
end
else
showmessage('没有报废单号为'+s+'的记录!');
end
else
showmessage('报废单编号不能为空!');
end;
if combA.Text='成品' then
begin
s:=trim(edt1.Text);
if s<>'' then
begin
frDbm.dsetF.Close;
frDbm.dsetF.CommandText:='select * from t_gfei where sno='+s+'';
frDbm.dsetF.Open;
if frDbm.dsetF.Fields[0].AsString<>'' then
begin
n:=frDbm.dsetF.Fields[2].AsInteger;
s1:=frDbm.dsetF.Fields[1].AsString;
frDbm.comF.commandType:=cmdText;
frDbm.ComF.CommandText:='delete from t_gfei where sno='+s+'';
frDbm.ComF.Execute;
frDbm.dsetF.Close;
frDbm.dsetF.CommandText:='select number from t_gstore where gsno='+s1+'';
frDbm.dsetF.Open;
n:=frDbm.dsetF.Fields[0].AsInteger+n;
sum:=trim(inttostr(n));
frDbm.comF.commandType:=cmdText;
frDbm.ComF.CommandText:='update t_gstore set number='+sum+' where gsno='+s1+'';
frDbm.ComF.Execute;
showmessage('数据删除成功!');
end
else
showmessage('没有报废单号为'+s+'的记录!');
end
else
showmessage('报废单编号不能为空!');
end;
if combA.Text='' then
showmessage('请选择类别!');
end;
end;
procedure TfmF.sbtn1Click(Sender: TObject);
begin
fmMain.show;
fmF.Close;
end;
procedure TfmF.edt5Click(Sender: TObject);
begin
mc1.visible:=true;
end;
procedure TfmF.mc1Click(Sender: TObject);
var a:Tdatetime;
b:string;
begin
a:=mc1.Date;
b:=DateTimetostr(a);
edt5.Text:=b;
mc1.Visible:=false;
end;
procedure TfmF.rbtn1Click(Sender: TObject);
begin
btn1.Enabled:=true;
btn2.Enabled:=false;
end;
procedure TfmF.rbtn2Click(Sender: TObject);
begin
btn1.Enabled:=false;
btn2.Enabled:=true;
end;
procedure TfmF.rbtn3Click(Sender: TObject);
begin
edt1.Text:='';
combB.Text:='';
edt3.Text:='';
edt4.Text:='';
edt5.Text:='';
edt6.Text:='';
mc1.Visible:=false;
end;
procedure TfmF.edt2KeyPress(Sender: TObject; var Key: Char);
begin
if (key in (['0'..'9'])) or (key=#8) then
else
key:=#0;
end;
procedure TfmF.edt3KeyPress(Sender: TObject; var Key: Char);
begin
if (key in (['0'..'9'])) or (key=#8) then
else
key:=#0;
end;
procedure TfmF.edt1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
btn1.Click;
end;
procedure TfmF.edt4KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
btn1.Click;
end;
procedure TfmF.edt6KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
btn1.Click;
end;
procedure TfmF.combASelect(Sender: TObject);
begin
if combA.Text='材料' then
begin
combB.Items.Clear;
frDbm.qryF.Close;
frDbm.qryF.SQL.Clear;
frDbm.qryF.SQL.Text:='select sno from t_mlist ';
frDbm.qryF.Open;
while not frDbm.qryF.Eof do
begin
combB.Items.Add(frDbm.qryF.Fields[0].asstring);
frDbm.qryF.Next;
end;
end;
if combA.Text='成品' then
begin
combB.Items.Clear;
frDbm.qryF.Close;
frDbm.qryF.SQL.Clear;
frDbm.qryF.SQL.Text:='select sno from t_glist ';
frDbm.qryF.Open;
while not frDbm.qryF.Eof do
begin
combB.Items.Add(frDbm.qryF.Fields[0].asstring);
frDbm.qryF.Next;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -