📄 unitdictionary.pas
字号:
unit UnitDictionary;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, Grids, DBGrids, ExtCtrls, DBCtrls, StdCtrls, Mask, Buttons, Db,
DBTables;
type
TfrmCommDictionary = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
dbgMaterDictionary: TDBGrid;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
dbgProdDictionary: TDBGrid;
DBGrid3: TDBGrid;
dbgStaff: TDBGrid;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
Splitter1: TSplitter;
eMaterDictionaryFind: TEdit;
rgMaterDictionary: TRadioGroup;
BitBtn5: TBitBtn;
Panel4: TPanel;
Splitter2: TSplitter;
Panel5: TPanel;
Label5: TLabel;
Label6: TLabel;
dbeProdID: TDBEdit;
DBEdit6: TDBEdit;
Label7: TLabel;
DBEdit7: TDBEdit;
Splitter3: TSplitter;
Panel6: TPanel;
eProdDictionaryFind: TEdit;
rgProdDictionary: TRadioGroup;
BitBtn9: TBitBtn;
BitBtn10: TBitBtn;
BitBtn11: TBitBtn;
BitBtn12: TBitBtn;
Splitter4: TSplitter;
Panel7: TPanel;
Label4: TLabel;
DBEdit1: TDBEdit;
Label8: TLabel;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
Label18: TLabel;
DBEdit8: TDBEdit;
Label19: TLabel;
Splitter7: TSplitter;
Splitter8: TSplitter;
Panel10: TPanel;
Label11: TLabel;
Label12: TLabel;
dbeStaffID: TDBEdit;
DBEdit12: TDBEdit;
BitBtn18: TBitBtn;
BitBtn20: TBitBtn;
BitBtn21: TBitBtn;
BitBtn22: TBitBtn;
Splitter9: TSplitter;
Panel11: TPanel;
eStaffFind: TEdit;
rgStaff: TRadioGroup;
bbExit: TBitBtn;
Image2: TImage;
DBGrid5: TDBGrid;
Splitter6: TSplitter;
Panel12: TPanel;
Label13: TLabel;
Label14: TLabel;
dbeWorkShop: TDBEdit;
DBEdit14: TDBEdit;
BitBtn23: TBitBtn;
BitBtn24: TBitBtn;
BitBtn25: TBitBtn;
BitBtn26: TBitBtn;
Panel13: TPanel;
Splitter10: TSplitter;
Splitter5: TSplitter;
Panel8: TPanel;
Label9: TLabel;
Label10: TLabel;
dbeManufacturerID: TDBEdit;
dbeManufacturer: TDBEdit;
BitBtn15: TBitBtn;
BitBtn16: TBitBtn;
BitBtn17: TBitBtn;
BitBtn19: TBitBtn;
Splitter11: TSplitter;
Panel9: TPanel;
DBEdit9: TDBEdit;
Label15: TLabel;
Label16: TLabel;
DBEdit10: TDBEdit;
BitBtn7: TBitBtn;
Button1: TButton;
Query1: TQuery;
dbeMaterID: TDBEdit;
Query2: TQuery;
Label17: TLabel;
Label20: TLabel;
Query3: TQuery;
Label21: TLabel;
Query2ProdID: TStringField;
Query2FigID: TStringField;
Query2ProdName: TStringField;
Query2RubbName: TStringField;
Query2MakePrice: TFloatField;
Query2SellPrice: TFloatField;
Query2Contain: TIntegerField;
Query2Weight: TFloatField;
BitBtn6: TBitBtn;
BitBtn8: TBitBtn;
DBEdit11: TDBEdit;
DBEdit13: TDBEdit;
DBEdit15: TDBEdit;
DBEdit16: TDBEdit;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
DBEdit17: TDBEdit;
DBEdit18: TDBEdit;
Query2Tanhuang: TIntegerField;
Query2Gujia: TIntegerField;
Label28: TLabel;
Label29: TLabel;
DBEdit19: TDBEdit;
DBEdit20: TDBEdit;
Label30: TLabel;
DBEdit21: TDBEdit;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure CEnter(Sender: TObject);
procedure CExit(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
procedure BitBtn11Click(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
procedure BitBtn12Click(Sender: TObject);
procedure BitBtn15Click(Sender: TObject);
procedure BitBtn18Click(Sender: TObject);
procedure BitBtn23Click(Sender: TObject);
procedure BitBtn19Click(Sender: TObject);
procedure BitBtn22Click(Sender: TObject);
procedure BitBtn26Click(Sender: TObject);
procedure BitBtn16Click(Sender: TObject);
procedure BitBtn20Click(Sender: TObject);
procedure BitBtn24Click(Sender: TObject);
procedure BitBtn17Click(Sender: TObject);
procedure BitBtn21Click(Sender: TObject);
procedure BitBtn25Click(Sender: TObject);
procedure bbExitClick(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure eMaterDictionaryFindChange(Sender: TObject);
procedure eProdDictionaryFindChange(Sender: TObject);
procedure dbgMaterDictionaryCellClick(Column: TColumn);
procedure dbgProdDictionaryCellClick(Column: TColumn);
procedure rgProdDictionaryClick(Sender: TObject);
procedure rgMaterDictionaryClick(Sender: TObject);
procedure eStaffFindChange(Sender: TObject);
procedure dbgStaffCellClick(Column: TColumn);
procedure rgStaffClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGrid3CellClick(Column: TColumn);
procedure DBGrid5CellClick(Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
function zdyStrAddOne(s:string):string; // 号码加一
function zdyStrdecOne(s:string):string; // 号码减一
end;
var
frmCommDictionary: TfrmCommDictionary;
ci,a,j,sp,v:integer;
p:string;
implementation
uses UnitDM;
{$R *.DFM}
function TfrmCommDictionary.zdyStrAddOne(s:string):string; // 号码加一
var
iStrLen,iTemLen,i:integer;
iTem:integer;
sZero,sTem:string;
begin
sZero:='';
iStrLen:= strlen(Pchar(s));
try strtoint(s)
except exit;
end; //try
iTem:=strtoint(s);
Inc(iTem);
sTem:=inttostr(iTem);
iTemLen:=strlen(Pchar(sTem));
i:= iStrLen - iTemLen;
for i := 1 to i do
begin
sZero:= sZero + '0';
end; //for
sTem:=sZero + sTem ;
result := sTem;
end;
function TfrmCommDictionary.zdyStrdecOne(s:string):string; // 号码减一
var
iStrLen,iTemLen,i:integer;
iTem:integer;
sZero,sTem:string;
begin
sZero:='';
iStrLen:= strlen(Pchar(s));
try strtoint(s)
except exit;
end; //try
iTem:=strtoint(s);
iTem:=iTem-1;
sTem:=inttostr(iTem);
iTemLen:=strlen(Pchar(sTem));
i:= iStrLen - iTemLen;
for i := 1 to i do
begin
sZero:= sZero + '0';
end; //for
sTem:=sZero + sTem ;
result := sTem;
end;
procedure TfrmCommDictionary.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
//Query1.Close;
Query2.Close;
dm.tabMaterDictionary.close;
dm.tabStaff.close;
dm.tabManufacturer.close;
dm.tabWorkShop.close;
dm.tabProdDictionary.close;
dm.dsProdDictionary.DataSet:=dm.tabProdDictionary;
dm.dsMaterDictionary.DataSet:=dm.tabMaterDictionary;
dm.dsStaff.DataSet:=dm.tabStaff;
end;
procedure TfrmCommDictionary.BitBtn1Click(Sender: TObject);
var
iMaterID:integer;
begin
j:=0;
a:=1;
BitBtn4.Enabled:=false;
BitBtn2.Enabled:=false;
dm.dsMaterDictionary.DataSet:=dm.tabMaterDictionary;
with dm.tabMaterDictionary do
begin
open;
last;
iMaterID:=fieldbyname('标识号').asinteger;
iMaterID:=iMaterID+1;
append;
end; //with
dbeMaterID.SetFocus;
dbeMaterID.text:=inttostr(iMaterID);
DBEdit3.SetFocus;
end;
procedure TfrmCommDictionary.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
end; //if
end;
procedure TfrmCommDictionary.CEnter(Sender: TObject);
begin
if a=1 then
begin
(Sender as TDBEdit).ReadOnly:=false;
(Sender as TDBEdit).color := claqua;
end;
if a=0 then
showmessage('请先按“添加”或“修改”按键!');
end;
procedure TfrmCommDictionary.CExit(Sender: TObject);
begin
(Sender as TDBEdit).color := clwindow;
end;
procedure TfrmCommDictionary.BitBtn4Click(Sender: TObject);
begin
a:=1;
BitBtn1.Enabled:=false;
BitBtn2.Enabled:=false;
if j=1 then
begin
dm.dsMaterDictionary.DataSet:=dm.tabMaterDictionary;
dm.tabMaterDictionary.Filtered:=true ;
end;
//dm.tabMaterDictionary.close;
//dm.tabMaterDictionary.open;
//dm.tabMaterDictionary.Filtered:=false ;
dm.tabMaterDictionary.edit;
j:=0;
dbeMaterID.SetFocus;
end;
procedure TfrmCommDictionary.BitBtn2Click(Sender: TObject);
begin
if v<>1 then
begin
showmessage('请选择要删除的记录!');
exit;
end;
if messagedlg('会删除所选记录 要继续吗?',mtWarning,[mbYes,mbNo],0) = mrNo then
begin
v:=0;
exit;
end;
begin
dm.tabMaterDictionary.open;
if dm.tabMaterDictionary.recordcount=0 then
begin
showmessage('无记录可删除!');
exit;
end;
if j<>0 then
begin
with Query1 do
begin
close;
sql.Clear;
sql.Add('delete from 原材料字典');
sql.add('where 标识号=:b');
paramByName('b').asinteger:=sp;
execsql;
end;
dm.dsMaterDictionary.DataSet:=dm.tabMaterDictionary;
end;
if j=0 then
dm.tabMaterDictionary.delete;
eMaterDictionaryFind.text:='';
//dm.tabMaterDictionary.edit;
with dm.tabMaterDictionary do
begin
open;
first;
while not eof do
begin
if fieldbyname('标识号').asinteger>sp then
begin
edit;
fieldbyname('标识号').asinteger:=fieldbyname('标识号').asinteger-1;
post;
sp:=sp+1;
end;
next;
end;
dm.dsMaterDictionary.DataSet:=dm.tabMaterDictionary;
dm.tabMaterDictionary.Close;
dm.tabMaterDictionary.Open;
end;
j:=0;
sp:=0;
v:=0;
end;
end;
procedure TfrmCommDictionary.BitBtn3Click(Sender: TObject);
begin
if (a=1) then
begin
dm.tabMaterDictionary.post;
if a=0 then
showmessage('请先按“添加”或“修改”按键!');
a:=0;
dm.tabMaterDictionary.Filtered:=false ;
eMaterDictionaryFind.text:='';
BitBtn1.Enabled:=true;
BitBtn2.Enabled:=true;
BitBtn4.Enabled:=true;
exit;
end ;
end;
procedure TfrmCommDictionary.BitBtn5Click(Sender: TObject);
begin
Query1.active:=false;
dm.tabMaterDictionary.active:=false;
close;
end;
procedure TfrmCommDictionary.BitBtn8Click(Sender: TObject);
var
sProdID:string;
begin
dm.tabProdDictionary.cancel;
with dm.qryExe do
begin
close;
sql.Clear;
if rgProdDictionary.ItemIndex = 0 then
begin
sql.add('select * from ProdDictionary where FigID = :FigID');
parambyname('FigID').asstring:=eProdDictionaryFind.text;
end
else if rgProdDictionary.ItemIndex = 1 then
begin
sql.add('select * from ProdDictionary where ProdName = :ProdName');
parambyname('ProdName').asstring:=eProdDictionaryFind.text;
end
else
exit;
open;
if recordcount = 0 then
begin
showmessage('没找到该成品!');
exit;
end;
sProdID:=fieldbyname('ProdID').asstring;
end; //with
with dm.tabProdDictionary do
begin
setkey;
findkey([sProdID]);
end; //with
dbgProdDictionary.setfocus;
end;
procedure TfrmCommDictionary.BitBtn9Click(Sender: TObject);
var
sProdID:string;
begin
j:=0;
a:=1;
BitBtn10.Enabled:=false;
BitBtn11.Enabled:=false;
dm.dsProdDictionary.DataSet:=dm.tabProdDictionary;
with dm.tabProdDictionary do
begin
open;
last;
sProdID:=fieldbyname('ProdID').asstring;
if sProdID='' then
sProdID:='000';
sProdID:=zdyStrAddOne(sProdID);
append;
end; //with
dbeProdID.SetFocus;
dbeProdID.text:=sProdID;
DBEdit6.SetFocus;
end;
procedure TfrmCommDictionary.BitBtn11Click(Sender: TObject);
var
g:string;
begin
if v<>1 then
begin
showmessage('请选择要删除的记录!');
exit;
end;
if messagedlg('会删除所选记录 要继续吗?',mtWarning,[mbYes,mbNo],0) = mrNo then
begin
v:=0;
exit;
end;
begin
dm.tabProdDictionary.open;
if dm.tabProdDictionary.recordcount = 0 then
begin
showmessage('无记录可删除!');
exit;
end;
if j<>0 then
begin
with Query2 do
begin
close;
sql.Clear;
sql.Add('delete from ProdDictionary');
sql.add('where prodID=:b');
paramByName('b').asstring:=p;
execsql;
end;
//dm.dsMaterDictionary.DataSet:=dm.tabMaterDictionary;
end;
if j=0 then
dm.tabProdDictionary.delete;
eProdDictionaryFind.text:='';
//dm.tabMaterDictionary.edit;
with dm.tabProdDictionary do
begin
open;
first;
while not eof do
begin
g:=fieldbyname('prodID').asstring;
if strtoint(g)>strtoint(p) then
begin
edit;
fieldbyname('prodID').asstring :=zdyStrdecOne(g);
post;
p:=inttostr(strtoint(p)+1);
end;
next;
end;
dm.dsProdDictionary.DataSet:=dm.tabProdDictionary;
dm.tabProdDictionary.Close;
dm.tabProdDictionary.Open;
end;
j:=0;
p:='';
v:=0;
//end;
end;
end;
procedure TfrmCommDictionary.BitBtn10Click(Sender: TObject);
begin
a:=1;
//dbeProdID.SetFocus;
BitBtn11.Enabled:=false;
BitBtn9.Enabled:=false;
if j=1 then
begin
dm.dsProdDictionary.DataSet:=dm.tabProdDictionary;
dm.tabProdDictionary.Filtered:=true ;
end;
//dm.tabProdDictionary.close;
dm.tabProdDictionary.open;
//dm.tabProdDictionary.Filtered:=false; ;
dm.tabProdDictionary.edit;
j:=0;
dbeProdID.SetFocus;
end;
procedure TfrmCommDictionary.BitBtn12Click(Sender: TObject);
begin
if (DBEdit9.text='')or (DBEdit4.text='')or (DBEdit7.text='')or (DBEdit6.text='')then
begin
showmessage('必须输入产品名称、胶料名称、图号和净重!');
exit;
end;
if a=1 then
dm.tabProdDictionary.post;
if a=0 then
showmessage('请先按“添加”或“修改”按键!');
dm.tabProdDictionary.Filtered:=false ;
eProdDictionaryFind.text:='';
a:=0;
BitBtn9.Enabled:=true;
BitBtn10.Enabled:=true;
BitBtn11.Enabled:=true;
end;
procedure TfrmCommDictionary.BitBtn15Click(Sender: TObject);
var
sID:string;
begin
a:=1;
BitBtn16.Enabled:=false;
BitBtn19.Enabled:=false;
with dm.tabManufacturer do
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -