📄 chanpin.pas
字号:
unit chanpin;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, DBCtrls, ExtCtrls, Grids, DBGrids, DBTables, Db, Buttons,
Qrctrls, QuickRpt;
type
TForm3 = class(TForm)
Panel6: TPanel;
StaticText2: TStaticText;
DBGrid2: TDBGrid;
p61: TPanel;
Shape1: TShape;
Shape5: TShape;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Shape2: TShape;
Shape3: TShape;
Shape4: TShape;
Button13: TButton;
Button14: TButton;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
p62: TPanel;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
q1: TQuery;
DataSource1: TDataSource;
UpdateSQL1: TUpdateSQL;
DBEdit2: TDBEdit;
Label1: TLabel;
SpeedButton1: TSpeedButton;
Panel4: TPanel;
QuickRep1: TQuickRep;
DetailBand1: TQRBand;
QRDBText1: TQRDBText;
QRDBText2: TQRDBText;
QRDBText4: TQRDBText;
QRDBText6: TQRDBText;
QRDBText9: TQRDBText;
QRDBText12: TQRDBText;
PageHeaderBand1: TQRBand;
QRShape1: TQRShape;
QRLabel1: TQRLabel;
QRShape2: TQRShape;
QRShape4: TQRShape;
QRShape5: TQRShape;
QRShape6: TQRShape;
QRShape7: TQRShape;
QRShape8: TQRShape;
QRShape9: TQRShape;
QRShape11: TQRShape;
QRLabel3: TQRLabel;
QRLabel4: TQRLabel;
QRLabel5: TQRLabel;
QRLabel6: TQRLabel;
QRLabel7: TQRLabel;
QRLabel8: TQRLabel;
QRLabel9: TQRLabel;
q1cpbm: TStringField;
q1posbm: TStringField;
q1pym: TStringField;
q1dj: TFloatField;
q1sccj: TStringField;
q1lbbm: TStringField;
q1dw: TStringField;
q1id: TIntegerField;
Label3: TLabel;
DBEdit1: TDBEdit;
q1cpmc: TStringField;
q1lbmc: TStringField;
Shape6: TShape;
Label4: TLabel;
DBEdit7: TDBEdit;
Shape7: TShape;
p63: TPanel;
Label6: TLabel;
Label2: TLabel;
SpeedButton2: TSpeedButton;
lbcb: TEdit;
Query1: TQuery;
Query1gysbm: TStringField;
Query1gysmc: TStringField;
Query1pym: TStringField;
Query1Id: TIntegerField;
SummaryBand1: TQRBand;
QRLabel2: TQRLabel;
QRSysData2: TQRSysData;
QRSysData1: TQRSysData;
QRShape3: TQRShape;
q1sccjmc: TStringField;
Query3: TQuery;
Query3lbmc: TStringField;
QRLabel10: TQRLabel;
Query2: TQuery;
procedure FormActivate(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBEdit3KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton1Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure DBEdit4KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBEdit2KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit1KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit5KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit6KeyPress(Sender: TObject; var Key: Char);
procedure DBGrid2KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton2Click(Sender: TObject);
procedure lbcbDblClick(Sender: TObject);
procedure DBEdit7KeyPress(Sender: TObject; var Key: Char);
procedure q1AfterScroll(DataSet: TDataSet);
procedure lbcbKeyPress(Sender: TObject; var Key: Char);
procedure lbcbKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure q1AfterClose(DataSet: TDataSet);
procedure q1BeforeOpen(DataSet: TDataSet);
procedure q1FilterRecord(DataSet: TDataSet; var Accept: Boolean);
procedure DBEdit3Exit(Sender: TObject);
procedure DBGrid2DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
bt,lb,xxzz:string;
implementation
uses lbsr,rjsmain;
{$R *.DFM}
procedure TForm3.FormActivate(Sender: TObject);
begin
lb:='';
xxzz:='';
q1.Filtered:=false;
q1.Active:=false;
q1.Active:=true;
p61.Enabled:=false;
p62.Enabled:=true;
p63.Enabled:=false;
if spbt='cprk' then dbgrid2.SetFocus;
end;
procedure TForm3.Button8Click(Sender: TObject);
begin
p62.Enabled:=false;
p61.Enabled:=true;
q1.Append;
bt:='tj';
lbcb.Text:='';
p63.Enabled:=true;
lbcb.SetFocus;
end;
procedure TForm3.Button13Click(Sender: TObject);
begin
if (q1dj.Value=0) then
begin
messagedlg(#13+'产品数据不全或数据错误!',mterror,[mbok],0);
exit;
end;
p61.Enabled:=false;
p62.Enabled:=true;
p63.Enabled:=false;
if bt='tj' then bt:='';
q1lbbm.Value:=lb;
q1lbmc.Value:=lbcb.Text;
q1.ApplyUpdates;
button8.SetFocus;
end;
procedure TForm3.Button14Click(Sender: TObject);
begin
q1.Cancel;
p61.Enabled:=false;
p62.Enabled:=true;
p63.Enabled:=false;
if bt='tj' then bt:='';
button8.SetFocus;
end;
procedure TForm3.Button9Click(Sender: TObject);
begin
if messagedlg('真的要删除'+q1cpmc.AsString+'吗?',mtwarning,[mbyes,mbno],0) = mryes then
begin
q1.Delete;
q1.ApplyUpdates;
end;
end;
procedure TForm3.Button10Click(Sender: TObject);
begin
p62.Enabled:=false;
p61.Enabled:=true;
q1.Edit;
p63.Enabled:=true;
lbcb.SetFocus;
end;
procedure TForm3.Button12Click(Sender: TObject);
begin
form3.Close;
end;
procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
spbt:='';
q1.Active:=false;
end;
procedure TForm3.DBEdit3KeyPress(Sender: TObject; var Key: Char);
begin
if (key=chr(13))then dbedit7.SetFocus;
// else
// if not (key in ['0'..'9']) then key:=#0;
end;
procedure TForm3.SpeedButton1Click(Sender: TObject);
begin
spbt:='cp';
// form5.ShowModal;
end;
procedure TForm3.Button11Click(Sender: TObject);
begin
{ query3.Open;
query3.First;
while not query3.Eof do
begin
dyxzf.lbmc.Items.Add(query3lbmc.asstring);
query3.Next;
end;
query3.close;
if dyxzf.showmodal=mrcancel then exit;
qrlabel10.Caption:=dyxzf.lbmc.Text;
xxzz:=dyxzf.lbmc.Text;
if xxzz<>'' then q1.Filtered:=true;
quickrep1.Preview;
q1.Filtered:=false;}
xxzz:='';
end;
procedure TForm3.DBEdit4KeyPress(Sender: TObject; var Key: Char);
begin
if (key=chr(13))then dbedit2.SetFocus else
if not (key in ['0'..'9']) then key:=#0;
end;
procedure TForm3.DBEdit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_f1 then SpeedButton1Click(SpeedButton1);
end;
procedure TForm3.DBEdit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=chr(13) then dbedit1.SetFocus;
end;
procedure TForm3.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=chr(13) then dbedit5.SetFocus else
if not (key in ['a'..'z','A'..'Z',#8]) then key:=#0;
end;
procedure TForm3.DBEdit5KeyPress(Sender: TObject; var Key: Char);
begin
if key=chr(13) then dbedit6.SetFocus;
end;
procedure TForm3.DBEdit6KeyPress(Sender: TObject; var Key: Char);
begin
if key=chr(13) then button13.SetFocus;
end;
procedure TForm3.DBGrid2KeyPress(Sender: TObject; var Key: Char);
begin
if (key=chr(13)) and (spbt='cprk') then DBGrid2DblClick(DBGrid2);
if spbt<>'' then begin
if key=chr(8) then
if length(xxzz)>=1 then xxzz:=copy(xxzz,1,length(xxzz)-1)
else xxzz:=''
else xxzz:=xxzz+key;
q1.Filtered:=false;
q1.Filtered:=true;
dbgrid2.Hint:=xxzz;
dbgrid2.ShowHint:=true;
end
else begin
q1.Filtered:=false;
dbgrid2.ShowHint:=true;
end;
end;
procedure TForm3.SpeedButton2Click(Sender: TObject);
begin
lbsr.xxx:='chanpin';
lbsrp.showmodal;
end;
procedure TForm3.lbcbDblClick(Sender: TObject);
begin
SpeedButton2Click(self);
end;
procedure TForm3.DBEdit7KeyPress(Sender: TObject; var Key: Char);
begin
if (key=chr(13))then dbedit4.SetFocus;
end;
procedure TForm3.q1AfterScroll(DataSet: TDataSet);
begin
if q1lbbm.AsString<>'' then begin
lbcb.Text:=q1lbmc.Text;
lb:=q1lbbm.AsString;
end;
end;
procedure TForm3.lbcbKeyPress(Sender: TObject; var Key: Char);
begin
if key=chr(13) then dbedit3.SetFocus;
end;
procedure TForm3.lbcbKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_f1 then SpeedButton2Click(sender);
end;
procedure TForm3.q1AfterClose(DataSet: TDataSet);
begin
query1.Close;
end;
procedure TForm3.q1BeforeOpen(DataSet: TDataSet);
begin
query1.Open;
end;
procedure TForm3.q1FilterRecord(DataSet: TDataSet; var Accept: Boolean);
begin
if spbt<>'' then
accept:= copy(uppercase(q1pym.AsString),1,length(xxzz))=uppercase(xxzz)
else
accept:= q1lbmc.AsString=xxzz;
end;
procedure TForm3.DBEdit3Exit(Sender: TObject);
begin
if bt='tj' then begin
query2.Close;
query2.ParamByName('cs').asstring:=dbedit3.Text;
query2.Open;
if query2.RecordCount>=1 then begin
messagedlg('产品编码重复!',mtwarning,[mbok],0);
dbedit3.SetFocus;
exit;
end;
end;
end;
procedure TForm3.DBGrid2DblClick(Sender: TObject);
begin
{
}
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -