?? mrcpcl.pas
字號:
unit MRCPCL;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ImgList, Grids, DBGrids, StdCtrls, ComCtrls, ToolWin,
ExtCtrls;
type
TFRM_CPCL = class(TForm)
Panel2: TPanel;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
ToolButton11: TToolButton;
ToolButton12: TToolButton;
ToolButton13: TToolButton;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
TabSheet2: TTabSheet;
GroupBox1: TGroupBox;
DBGrid1: TDBGrid;
ImageList1: TImageList;
Datalb: TDataSource;
Edit1: TEdit;
ComboBox1: TComboBox;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Label7: TLabel;
Edit6: TEdit;
procedure FormShow(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure ToolButton9Click(Sender: TObject);
procedure ToolButton10Click(Sender: TObject);
procedure ToolButton11Click(Sender: TObject);
procedure ToolButton13Click(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure Edit5KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ToolButton6Click(Sender: TObject);
procedure Edit6KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FRM_CPCL: TFRM_CPCL;
tb : integer = 0;
implementation
uses MR_DATA, MRCPCL_CX;
{$R *.dfm}
procedure TFRM_CPCL.FormShow(Sender: TObject);
begin
combobox1.Clear;
with data.ADOb do
begin
close;
sql.Clear;
sql.Add('select * from tb_cl');
open;
end;
if data.ADOb.RecordCount>0 then
begin
while not data.ADOb.Eof do
begin
combobox1.Items.Add(data.ADOb.fieldbyname('cl_hh').AsString);
data.ADOb.Next;
end;
end;
with data.ADOa do
begin
close;
sql.Clear;
sql.Add('select * from tb_cpcl order by cpbh');
open;
end;
datalb.DataSet := data.ADOa;
if data.ADOa.RecordCount < 1 then
begin
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
edit6.Clear;
combobox1.Text := '';
end
else
begin
data.ADOa.First;
edit1.Text := data.ADOa.fieldbyname('cpbh').AsString;
edit2.Text := data.ADOa.fieldbyname('cpmc').AsString;
combobox1.Text := data.ADOa.fieldbyname('clhh').AsString;
edit3.Text := data.ADOa.fieldbyname('clmc').AsString;
edit4.Text := data.ADOa.fieldbyname('dw').AsString;
edit5.Text := data.ADOa.fieldbyname('gg').AsString;
edit6.Text := floattostr(data.ADOa.fieldbyname('yl').AsFloat);
end;
end;
procedure TFRM_CPCL.ToolButton1Click(Sender: TObject);
var
i : integer;
s : string;
begin
i := 1;
tb := 1;
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
edit6.Clear;
combobox1.Text := '';
s := 'PW'+formatdatetime('yyyymm',now());
if data.ADOa.RecordCount<1 then
begin
edit1.Text := s+'00000'+inttostr(i);
end
else
begin
data.ADOa.Last;
i := strtoint(copy(data.ADOa.fieldbyname('cpbh').AsString,9,6));
edit1.Text := s+formatfloat('000000',i+1);
end;
ToolButton2.Enabled := false;
ToolButton4.Enabled := true;
ToolButton5.Enabled := true;
edit2.SetFocus;
end;
procedure TFRM_CPCL.ComboBox1Change(Sender: TObject);
begin
with data.ADOb do
begin
close;
sql.Clear;
sql.Add('select * from tb_cl where cl_hh='+''''+trim(combobox1.Text)+'''');
open;
end;
edit3.Text := data.ADOb.fieldbyname('cl_name').AsString;
edit4.Text := data.ADOb.fieldbyname('cl_dw').AsString;
edit5.SetFocus;
end;
procedure TFRM_CPCL.ToolButton2Click(Sender: TObject);
begin
tb := 2;
ToolButton1.Enabled := false;
ToolButton4.Enabled := true;
ToolButton5.Enabled := true;
edit2.SetFocus;
end;
procedure TFRM_CPCL.ToolButton3Click(Sender: TObject);
begin
if application.MessageBox('真的要刪除該記錄嗎?','提示',mb_yesno) = idyes then
begin
if data.ADOa.FieldByName('cpbh').AsString = '' then
showmessage('產品物料清單已經為空,無法刪除。')
else
begin
data.ADOa.Delete;
FRM_CPCL.FormShow(Sender);
end;
end;
end;
procedure TFRM_CPCL.ToolButton4Click(Sender: TObject);
var
en,eg,eh,scdd,wh,wm : string;
el,ef : real;
begin
if (edit2.Text = '')or(edit3.Text = '')or(edit6.Text = '')
or(combobox1.Text = '') then
begin
showmessage('產品名稱、物料貨號、物料名稱和用量不能為空。');
end
else
begin
eh := data.ADOa.FieldByName('cpbh').AsString;
en := data.ADOa.FieldByName('cpmc').AsString;
eg := data.ADOa.FieldByName('gg').AsString;
el := data.ADOa.FieldByName('yl').AsFloat;
wh := data.ADOa.FieldByName('clhh').AsString;
wm := data.ADOa.FieldByName('clmc').AsString;
if tb = 1 then
data.ADOa.Append;
if tb = 2 then
data.ADOa.Edit;
data.ADOa.FieldByName('cpbh').AsString := edit1.Text;
data.ADOa.FieldByName('cpmc').AsString := edit2.Text;
data.ADOa.FieldByName('clhh').AsString := combobox1.Text;
data.ADOa.FieldByName('clmc').AsString := edit3.Text;
data.ADOa.FieldByName('dw').AsString := edit4.Text;
data.ADOa.FieldByName('gg').AsString := edit5.Text;
data.ADOa.FieldByName('yl').AsFloat := strtofloat(edit6.Text);
data.ADOa.Post;
FRM_CPCL.FormShow(Sender);
end;
ToolButton1.Enabled := true;
ToolButton2.Enabled := true;
ToolButton4.Enabled := false;
ToolButton5.Enabled := false;
tb := 0;
with data.ADOd do
begin
close;
sql.Clear;
sql.Add('select * from tb_scdd where cphh='+''''+eh+'''');
open;
end;
if data.ADOd.RecordCount>0 then
begin
ef := strtofloat(data.ADOd.fieldbyname('sl').AsString);
scdd := data.ADOd.fieldbyname('scddh').AsString;
while not data.ADOd.Eof do
begin
data.ADOd.Edit;
data.adod.FieldByName('cpmc').AsString := en;
data.adod.Post;
data.ADOd.Next;
end;
end;
with data.ADOd do
begin
close;
sql.Clear;
sql.Add('select * from tb_ll where scddh='+''''+scdd+'''');
open;
end;
if data.ADOd.RecordCount>0 then
begin
while not data.ADOd.Eof do
begin
data.ADOd.Edit;
data.adod.FieldByName('cpmc').AsString := en;
data.ADOd.FieldByName('gg').AsString := eg;
data.ADOd.FieldByName('wlhh').AsString := wh;
data.ADOd.FieldByName('wlmc').AsString := wm;
data.ADOd.FieldByName('sl').AsFloat := el*ef;
data.adod.Post;
data.ADOd.Next;
end;
end;
with data.ADOd do
begin
close;
sql.Clear;
sql.Add('select * from tb_ll where scddh='+''''+scdd+'''');
open;
end;
with data.ADOd do
begin
close;
sql.Clear;
sql.Add('select * from tb_cprk where scddh='+''''+scdd+'''');
open;
end;
if data.ADOd.RecordCount>0 then
begin
while not data.ADOd.Eof do
begin
data.ADOd.Edit;
data.adod.FieldByName('cpmc').AsString := en;
data.adod.Post;
data.ADOd.Next;
end;
end;
with data.ADOd do
begin
close;
sql.Clear;
sql.Add('select * from tb_jy where scddh='+''''+scdd+'''');
open;
end;
if data.ADOd.RecordCount>0 then
begin
while not data.ADOd.Eof do
begin
data.ADOd.Edit;
data.adod.FieldByName('cpmc').AsString := en;
data.adod.Post;
data.ADOd.Next;
end;
end;
end;
procedure TFRM_CPCL.ToolButton5Click(Sender: TObject);
begin
//data.ADOa.Cancel;
FRM_cpcl.FormShow(Sender);
ToolButton1.Enabled := true;
ToolButton2.Enabled := true;
ToolButton4.Enabled := false;
ToolButton5.Enabled := false;
ToolButton8.Enabled := true;
ToolButton9.Enabled := true;
ToolButton10.Enabled := true;
ToolButton11.Enabled := true;
tb := 0;
end;
procedure TFRM_CPCL.ToolButton8Click(Sender: TObject);
begin
data.ADOa.First;
edit1.Text := data.ADOa.fieldbyname('cpbh').AsString;
edit2.Text := data.ADOa.fieldbyname('cpmc').AsString;
combobox1.Text := data.ADOa.fieldbyname('clhh').AsString;
edit3.Text := data.ADOa.fieldbyname('clmc').AsString;
edit4.Text := data.ADOa.fieldbyname('dw').AsString;
edit5.Text := data.ADOa.fieldbyname('gg').AsString;
edit6.Text := floattostr(data.ADOa.fieldbyname('yl').AsFloat);
ToolButton8.Enabled := false;
ToolButton9.Enabled := false;
ToolButton10.Enabled := true;
ToolButton11.Enabled := true;
end;
procedure TFRM_CPCL.ToolButton9Click(Sender: TObject);
begin
data.ADOa.Prior;
if not data.ADOa.Bof then
begin
ToolButton8.Enabled := true;
ToolButton9.Enabled := true;
ToolButton10.Enabled := true;
ToolButton11.Enabled := true;
end
else
begin
ToolButton8.Enabled := false;
ToolButton9.Enabled := false;
ToolButton10.Enabled := true;
ToolButton11.Enabled := true;
end;
edit1.Text := data.ADOa.fieldbyname('cpbh').AsString;
edit2.Text := data.ADOa.fieldbyname('cpmc').AsString;
combobox1.Text := data.ADOa.fieldbyname('clhh').AsString;
edit3.Text := data.ADOa.fieldbyname('clmc').AsString;
edit4.Text := data.ADOa.fieldbyname('dw').AsString;
edit5.Text := data.ADOa.fieldbyname('gg').AsString;
edit6.Text := floattostr(data.ADOa.fieldbyname('yl').AsFloat);
end;
procedure TFRM_CPCL.ToolButton10Click(Sender: TObject);
begin
data.ADOa.Next;
if not data.ADOa.Eof then
begin
ToolButton8.Enabled := true;
ToolButton9.Enabled := true;
ToolButton10.Enabled := true;
ToolButton11.Enabled := true;
end
else
begin
ToolButton8.Enabled := true;
ToolButton9.Enabled := true;
ToolButton10.Enabled := false;
ToolButton11.Enabled := false;
end;
edit1.Text := data.ADOa.fieldbyname('cpbh').AsString;
edit2.Text := data.ADOa.fieldbyname('cpmc').AsString;
combobox1.Text := data.ADOa.fieldbyname('clhh').AsString;
edit3.Text := data.ADOa.fieldbyname('clmc').AsString;
edit4.Text := data.ADOa.fieldbyname('dw').AsString;
edit5.Text := data.ADOa.fieldbyname('gg').AsString;
edit6.Text := floattostr(data.ADOa.fieldbyname('yl').AsFloat);
end;
procedure TFRM_CPCL.ToolButton11Click(Sender: TObject);
begin
data.ADOa.Last;
ToolButton8.Enabled := true;
ToolButton9.Enabled := true;
ToolButton10.Enabled := false;
ToolButton11.Enabled := false;
edit1.Text := data.ADOa.fieldbyname('cpbh').AsString;
edit2.Text := data.ADOa.fieldbyname('cpmc').AsString;
combobox1.Text := data.ADOa.fieldbyname('clhh').AsString;
edit3.Text := data.ADOa.fieldbyname('clmc').AsString;
edit4.Text := data.ADOa.fieldbyname('dw').AsString;
edit5.Text := data.ADOa.fieldbyname('gg').AsString;
edit6.Text := floattostr(data.ADOa.fieldbyname('yl').AsFloat);
end;
procedure TFRM_CPCL.ToolButton13Click(Sender: TObject);
begin
close;
end;
procedure TFRM_CPCL.DBGrid1CellClick(Column: TColumn);
begin
edit1.Text := data.ADOa.fieldbyname('cpbh').AsString;
edit2.Text := data.ADOa.fieldbyname('cpmc').AsString;
combobox1.Text := data.ADOa.fieldbyname('clhh').AsString;
edit3.Text := data.ADOa.fieldbyname('clmc').AsString;
edit4.Text := data.ADOa.fieldbyname('gg').AsString;
edit5.Text := data.ADOa.fieldbyname('dw').AsString;
edit6.Text := floattostr(data.ADOa.fieldbyname('yl').AsFloat);
end;
procedure TFRM_CPCL.Edit5KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = vk_return then
edit6.SetFocus;
end;
procedure TFRM_CPCL.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = vk_return then
combobox1.SetFocus;
end;
procedure TFRM_CPCL.Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = vk_return then
edit4.SetFocus;
end;
procedure TFRM_CPCL.Edit4KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = vk_return then
edit5.SetFocus;
end;
procedure TFRM_CPCL.ToolButton6Click(Sender: TObject);
begin
ToolButton5.Enabled := TRUE;
application.CreateForm(TFRM_CPCL_CX, FRM_CPCL_CX);
FRM_CPCL_CX.ShowModal;
FRM_CPCL_CX.Free;
end;
procedure TFRM_CPCL.Edit6KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',#8]) then
key := #0;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -