unit Unit3;
interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, ComCtrls, ExtCtrls, DB, ADODB, Buttons,strutils,
Grids, DBGrids,Printers;type
Tzffm=class(TForm)
Panel1: TPanel;
Label1: TLabel;
Edit1: TEdit;
Label3: TLabel;
Edit2: TEdit;
Label2: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
Edit5: TEdit;
Label6: TLabel;
Edit6: TEdit;
Label7: TLabel;
DateTimePicker1: TDateTimePicker;
GroupBox1: TGroupBox;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn1: TBitBtn;
Panel2: TPanel;
DBGrid1: TDBGrid;
Label8: TLabel;
Edit7: TEdit;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure Edit1DblClick(Sender: TObject);
//procedure FormKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public //procedure add(s:integer);
{ Public declarations }
end;
var
zffm: Tzffm;
implementationuses Unit5,unit4;
{$R *.dfm}procedure Tzffm.Edit1DblClick(Sender: TObject);
var
i,p,q:integer;
temp1,temp2:integer;begin datamodule5.ADOquery1.Close;
datamodule5.adoquery1.sql.clear;
datamodule5.ADOquery1.SQL.Add('select * from parts where part_no='''+Edit1.text+'''');
datamodule5.ADOquery1.Open;
if datamodule5.adoquery1.RecordCount=0 then
begin
showmessage('该品番不存在,请仔细检查是否书写错误');
exit;
end;
edit2.text:=datamodule5.adoquery1.FieldValues['bin_loc'];
datamodule5.ADOquery2.Close;
datamodule5.adoquery2.sql.clear;
datamodule5.ADOquery2.SQL.Add('select * from zf_data where 品番='''+Edit1.text+'''');
datamodule5.ADOquery2.Open;
if datamodule5.adoquery2.RecordCount=0 then
begin
showmessage('该品番暂放器具没有固定,请返回数据库设置!');
exit;
end;
edit4.text:=datamodule5.adoquery2.FieldValues['额定收容数'];
edit5.text:=datamodule5.adoquery2.FieldValues['暂放器具'];
if (edit5.text='HU') or (edit5.text='U') then
begin
datamodule5.adoquery3.close;
datamodule5.adoquery3.sql.clear;
datamodule5.adoquery3.sql.add('select * from zf_table where loc_key='''+(leftstr(edit2.text,6)+'X1')+'''');
datamodule5.adoquery3.Open;
if datamodule5.adoquery3.RecordCount=0 then
begin
i:=2133;
end
else
i:=strtoint(datamodule5.adoquery3.fieldvalues['ip']);
p:=i;
datamodule5.adoquery3.close;
datamodule5.adoquery3.sql.clear;
datamodule5.adoquery3.sql.add('select * from zf_table where ip= '''+inttostr(p)+''' and part_no is null');
datamodule5.adoquery3.Open;
temp1:=datamodule5.adoquery3.recordcount;
temp2:=datamodule5.adoquery3.recordcount;
while temp1<>1
do
begin
p:=p+1;
datamodule5.adoquery3.close;
datamodule5.adoquery3.sql.clear;
datamodule5.adoquery3.sql.add('select * from zf_table where ip= '''+inttostr(p)+''' and part_no is null');
datamodule5.adoquery3.Open;
temp1:=datamodule5.adoquery3.recordcount;
datamodule5.adoquery3.Next;
end;
q:=i;
while temp2<>1
do
begin
//向下查找空货位
datamodule5.adoquery3.close;
datamodule5.adoquery3.sql.clear;
datamodule5.adoquery3.sql.add('select * from zf_table where ip= '''+inttostr(q)+'''');
datamodule5.adoquery3.Open;
temp2:=datamodule5.adoquery3.recordcount;
datamodule5.adoquery3.next;
q:=q-1;
end;
if i-q<=p-i+18 then
begin
datamodule5.adoquery3.close;
datamodule5.adoquery3.sql.clear;
datamodule5.adoquery3.sql.add('select * from zf_table where ip= '''+inttostr(q)+'''');
datamodule5.adoquery3.Open;
edit3.text:=datamodule5.adoquery3.fieldvalues['loc_key'];
exit;
end;
if i-q>p-i+18 then
begin
datamodule5.adoquery3.close;
datamodule5.adoquery3.sql.clear;
datamodule5.adoquery3.sql.add('select * from zf_table where ip= '''+inttostr(p)+'''');
datamodule5.adoquery3.Open;
edit3.text:=datamodule5.adoquery3.fieldvalues['loc_key'];
exit;
end;
end;
if (edit5.text<>'HU') and (edit5.text<>'U') then
begin
showmessage('对不起,该功能未开放,请手动输入!');
end; end;
procedure Tzffm.BitBtn1Click(Sender: TObject);
begin
Application.Terminate;
end;procedure Tzffm.BitBtn2Click(Sender: TObject);
begin //reportfm.QRLabel2.BiDiMode;
//reportfm.QRLabel2.AutoSize:=true;
reportfm.QRLabel2.Caption:=leftstr(zffm.Edit1.Text,5)+'-'+rightstr(zffm.Edit1.Text,5);
reportfm.QRLabel4.Caption:=leftstr(zffm.Edit2.Text,2)+'-'+midstr(zffm.Edit2.Text,3,2)+'-'+midstr(zffm.Edit2.Text,5,2)+'-'+rightstr(zffm.Edit2.Text,2);
reportfm.QRLabel6.Caption:=leftstr(zffm.Edit3.Text,2)+'-'+midstr(zffm.Edit3.Text,3,2)+'-'+midstr(zffm.Edit3.Text,5,2)+'-'+rightstr(zffm.Edit3.Text,2);
reportfm.QRLabel8.Caption:=zffm.Edit4.Text;
reportfm.QRLabel10.Caption:=datetostr(zffm.DateTimePicker1.date);
reportfm.QRLabel12.Caption:=zffm.Edit6.Text;
reportfm.QRLabel14.Caption:=zffm.Edit5.Text;
reportfm.QuickRep1.Preview;
end;procedure Tzffm.BitBtn3Click(Sender: TObject);
var i,q:integer;
begin
i:=strtoint(edit7.Text);
q:=1;
while q<=i
do
begin
dy(zffm.Edit1.OnDblClick(sender));
reportfm.QRLabel2.Caption:=leftstr(zffm.Edit1.Text,5)+'-'+rightstr(zffm.Edit1.Text,5);
reportfm.QRLabel4.Caption:=leftstr(zffm.Edit2.Text,2)+'-'+midstr(zffm.Edit2.Text,3,2)+'-'+midstr(zffm.Edit2.Text,5,2)+'-'+rightstr(zffm.Edit2.Text,2);
reportfm.QRLabel6.Caption:=leftstr(zffm.Edit3.Text,2)+'-'+midstr(zffm.Edit3.Text,3,2)+'-'+midstr(zffm.Edit3.Text,5,2)+'-'+rightstr(zffm.Edit3.Text,2);
reportfm.QRLabel8.Caption:=zffm.Edit4.Text;
reportfm.QRLabel10.Caption:=datetostr(zffm.DateTimePicker1.date);
reportfm.QRLabel12.Caption:=zffm.Edit6.Text;
reportfm.QRLabel14.Caption:=zffm.Edit5.Text;
reportfm.QuickRep1.Print;
with datamodule5.adoquery3 do
begin
Close;
datamodule5.adoquery3.sql.Clear;
datamodule5.adoquery3.Sql.add('UPDATE [zf_table] SET [part_no]='''+trim(edit1.text)+''',[bin_loc]='''+trim(edit2.text)+''',[zf_nu]='''+trim(edit4.text)+''',[zf_tool]='''+trim(edit5.text)+''',[time]='''+trim(datetostr(datetimepicker1.date))+''',[id]='''+trim(edit6.text)+''' WHERE [loc_key]='''+trim(edit3.text)+'''');
execsql;
end;
q:=q+1;
end;
end;{procedure Tzffm.FormKeyPress(Sender: TObject; var Key: Char);
begin if key=#13 then edit1.OnDblClick(sender);
end; }
end.
interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, ComCtrls, ExtCtrls, DB, ADODB, Buttons,strutils,
Grids, DBGrids,Printers;type
Tzffm=class(TForm)
Panel1: TPanel;
Label1: TLabel;
Edit1: TEdit;
Label3: TLabel;
Edit2: TEdit;
Label2: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
Edit5: TEdit;
Label6: TLabel;
Edit6: TEdit;
Label7: TLabel;
DateTimePicker1: TDateTimePicker;
GroupBox1: TGroupBox;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn1: TBitBtn;
Panel2: TPanel;
DBGrid1: TDBGrid;
Label8: TLabel;
Edit7: TEdit;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure Edit1DblClick(Sender: TObject);
//procedure FormKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public //procedure add(s:integer);
{ Public declarations }
end;
var
zffm: Tzffm;
implementationuses Unit5,unit4;
{$R *.dfm}procedure Tzffm.Edit1DblClick(Sender: TObject);
var
i,p,q:integer;
temp1,temp2:integer;begin datamodule5.ADOquery1.Close;
datamodule5.adoquery1.sql.clear;
datamodule5.ADOquery1.SQL.Add('select * from parts where part_no='''+Edit1.text+'''');
datamodule5.ADOquery1.Open;
if datamodule5.adoquery1.RecordCount=0 then
begin
showmessage('该品番不存在,请仔细检查是否书写错误');
exit;
end;
edit2.text:=datamodule5.adoquery1.FieldValues['bin_loc'];
datamodule5.ADOquery2.Close;
datamodule5.adoquery2.sql.clear;
datamodule5.ADOquery2.SQL.Add('select * from zf_data where 品番='''+Edit1.text+'''');
datamodule5.ADOquery2.Open;
if datamodule5.adoquery2.RecordCount=0 then
begin
showmessage('该品番暂放器具没有固定,请返回数据库设置!');
exit;
end;
edit4.text:=datamodule5.adoquery2.FieldValues['额定收容数'];
edit5.text:=datamodule5.adoquery2.FieldValues['暂放器具'];
if (edit5.text='HU') or (edit5.text='U') then
begin
datamodule5.adoquery3.close;
datamodule5.adoquery3.sql.clear;
datamodule5.adoquery3.sql.add('select * from zf_table where loc_key='''+(leftstr(edit2.text,6)+'X1')+'''');
datamodule5.adoquery3.Open;
if datamodule5.adoquery3.RecordCount=0 then
begin
i:=2133;
end
else
i:=strtoint(datamodule5.adoquery3.fieldvalues['ip']);
p:=i;
datamodule5.adoquery3.close;
datamodule5.adoquery3.sql.clear;
datamodule5.adoquery3.sql.add('select * from zf_table where ip= '''+inttostr(p)+''' and part_no is null');
datamodule5.adoquery3.Open;
temp1:=datamodule5.adoquery3.recordcount;
temp2:=datamodule5.adoquery3.recordcount;
while temp1<>1
do
begin
p:=p+1;
datamodule5.adoquery3.close;
datamodule5.adoquery3.sql.clear;
datamodule5.adoquery3.sql.add('select * from zf_table where ip= '''+inttostr(p)+''' and part_no is null');
datamodule5.adoquery3.Open;
temp1:=datamodule5.adoquery3.recordcount;
datamodule5.adoquery3.Next;
end;
q:=i;
while temp2<>1
do
begin
//向下查找空货位
datamodule5.adoquery3.close;
datamodule5.adoquery3.sql.clear;
datamodule5.adoquery3.sql.add('select * from zf_table where ip= '''+inttostr(q)+'''');
datamodule5.adoquery3.Open;
temp2:=datamodule5.adoquery3.recordcount;
datamodule5.adoquery3.next;
q:=q-1;
end;
if i-q<=p-i+18 then
begin
datamodule5.adoquery3.close;
datamodule5.adoquery3.sql.clear;
datamodule5.adoquery3.sql.add('select * from zf_table where ip= '''+inttostr(q)+'''');
datamodule5.adoquery3.Open;
edit3.text:=datamodule5.adoquery3.fieldvalues['loc_key'];
exit;
end;
if i-q>p-i+18 then
begin
datamodule5.adoquery3.close;
datamodule5.adoquery3.sql.clear;
datamodule5.adoquery3.sql.add('select * from zf_table where ip= '''+inttostr(p)+'''');
datamodule5.adoquery3.Open;
edit3.text:=datamodule5.adoquery3.fieldvalues['loc_key'];
exit;
end;
end;
if (edit5.text<>'HU') and (edit5.text<>'U') then
begin
showmessage('对不起,该功能未开放,请手动输入!');
end; end;
procedure Tzffm.BitBtn1Click(Sender: TObject);
begin
Application.Terminate;
end;procedure Tzffm.BitBtn2Click(Sender: TObject);
begin //reportfm.QRLabel2.BiDiMode;
//reportfm.QRLabel2.AutoSize:=true;
reportfm.QRLabel2.Caption:=leftstr(zffm.Edit1.Text,5)+'-'+rightstr(zffm.Edit1.Text,5);
reportfm.QRLabel4.Caption:=leftstr(zffm.Edit2.Text,2)+'-'+midstr(zffm.Edit2.Text,3,2)+'-'+midstr(zffm.Edit2.Text,5,2)+'-'+rightstr(zffm.Edit2.Text,2);
reportfm.QRLabel6.Caption:=leftstr(zffm.Edit3.Text,2)+'-'+midstr(zffm.Edit3.Text,3,2)+'-'+midstr(zffm.Edit3.Text,5,2)+'-'+rightstr(zffm.Edit3.Text,2);
reportfm.QRLabel8.Caption:=zffm.Edit4.Text;
reportfm.QRLabel10.Caption:=datetostr(zffm.DateTimePicker1.date);
reportfm.QRLabel12.Caption:=zffm.Edit6.Text;
reportfm.QRLabel14.Caption:=zffm.Edit5.Text;
reportfm.QuickRep1.Preview;
end;procedure Tzffm.BitBtn3Click(Sender: TObject);
var i,q:integer;
begin
i:=strtoint(edit7.Text);
q:=1;
while q<=i
do
begin
dy(zffm.Edit1.OnDblClick(sender));
reportfm.QRLabel2.Caption:=leftstr(zffm.Edit1.Text,5)+'-'+rightstr(zffm.Edit1.Text,5);
reportfm.QRLabel4.Caption:=leftstr(zffm.Edit2.Text,2)+'-'+midstr(zffm.Edit2.Text,3,2)+'-'+midstr(zffm.Edit2.Text,5,2)+'-'+rightstr(zffm.Edit2.Text,2);
reportfm.QRLabel6.Caption:=leftstr(zffm.Edit3.Text,2)+'-'+midstr(zffm.Edit3.Text,3,2)+'-'+midstr(zffm.Edit3.Text,5,2)+'-'+rightstr(zffm.Edit3.Text,2);
reportfm.QRLabel8.Caption:=zffm.Edit4.Text;
reportfm.QRLabel10.Caption:=datetostr(zffm.DateTimePicker1.date);
reportfm.QRLabel12.Caption:=zffm.Edit6.Text;
reportfm.QRLabel14.Caption:=zffm.Edit5.Text;
reportfm.QuickRep1.Print;
with datamodule5.adoquery3 do
begin
Close;
datamodule5.adoquery3.sql.Clear;
datamodule5.adoquery3.Sql.add('UPDATE [zf_table] SET [part_no]='''+trim(edit1.text)+''',[bin_loc]='''+trim(edit2.text)+''',[zf_nu]='''+trim(edit4.text)+''',[zf_tool]='''+trim(edit5.text)+''',[time]='''+trim(datetostr(datetimepicker1.date))+''',[id]='''+trim(edit6.text)+''' WHERE [loc_key]='''+trim(edit3.text)+'''');
execsql;
end;
q:=q+1;
end;
end;{procedure Tzffm.FormKeyPress(Sender: TObject; var Key: Char);
begin if key=#13 then edit1.OnDblClick(sender);
end; }
end.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货