?? outinvselect.~pas
字號:
unit OutInvSelect;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, Dialogs,
Buttons, ExtCtrls, Ex2nmedt, InvDef, dpConst;
type
TfrmOutInvSelect = class(TForm)
Bevel1: TBevel;
edtReceiveEmpName: TEdit;
cbxReceive: TComboBox;
edtIssPaperNO: TEdit;
lblReceive: TLabel;
lblIsspaper: TLabel;
edtIOID: TEdit;
lblInType: TLabel;
lblEmpID: TLabel;
cbxMan: TComboBox;
cbxIO: TComboBox;
edtIOName: TEdit;
edtManName: TEdit;
edtManID: TEx2NumEdit;
edtStkID: TEdit;
edtStkName: TEdit;
cbxStk: TComboBox;
lblStkID: TLabel;
edtReceiveEmpID: TEx2NumEdit;
btnConfirm: TBitBtn;
btnCancel: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnConfirmClick(Sender: TObject);
procedure cbxReceiveDropDown(Sender: TObject);
procedure cbxReceiveChange(Sender: TObject);
procedure edtReceiveEmpIDExit(Sender: TObject);
procedure edtReceiveEmpIDChange(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure cbxManDropDown(Sender: TObject);
procedure cbxIODropDown(Sender: TObject);
procedure cbxIOChange(Sender: TObject);
procedure cbxManChange(Sender: TObject);
procedure edtIOIDChange(Sender: TObject);
procedure edtIOIDExit(Sender: TObject);
procedure edtManIDChange(Sender: TObject);
procedure edtManIDExit(Sender: TObject);
procedure cbxStkChange(Sender: TObject);
procedure edtStkIDChange(Sender: TObject);
procedure edtStkIDExit(Sender: TObject);
private
{ Private declarations }
procedure SetMultilingual;
procedure Close_TabStop;
Procedure Init_TabStopAndTabOrder;
Procedure GetNextTabOrder(Key: Word; ShiftState: TShiftState);
public
{ Public declarations }
OutWinLogin: Integer;
end;
var
frmOutInvSelect: TfrmOutInvSelect;
implementation
uses InvDM, Main;
{$R *.dfm}
procedure TfrmOutInvSelect.FormCreate(Sender: TObject);
begin
SetMultilingual;
end;
procedure TfrmOutInvSelect.FormShow(Sender: TObject);
begin
Close_TabStop;
Init_TabStopAndTabOrder;
edtStkID.Text := '';
edtStkName.Text := '';
cbxStk.Text := '';
edtIssPaperNO.Text := '0';
edtIOID.Text := '';
edtIOName.Text := '';
cbxIO.Text := '';
edtManID.Value := frmMain.FUserID;
edtManName.Text := dm_Inventory.Get_EmpName(trim(edtManID.Text));;
cbxMan.Text := '';
edtReceiveEmpID.Value := 0;
edtReceiveEmpName.Text:= '';
cbxReceive.Text := '';
if (OutWinLogin =1) then edtStkID.Text := IniData.matstkid
else edtStkID.Text := IniData.otherstkid;
edtStkID.SetFocus;
end;
procedure TfrmOutInvSelect.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
action := cafree;
end;
procedure TfrmOutInvSelect.btnConfirmClick(Sender: TObject);
var iBool1,iBool2,iBool3,iBool4: Boolean;
WCD1,WCD2: Integer;
WTmpStr1,WTmpStr2,WTmpStr3,WTmpStr4: String;
ErrorCode: Integer;
begin
Modalresult := mrNone;
ErrorCode := 0;
WTmpStr1 := trim(edtStkID.Text);
WTmpStr2 := trim(edtIOID.Text);
WTmpStr3 := FloatTostr(edtManID.Value);
WTmpStr4 := FloatTostr(edtReceiveEmpID.Value);
WCD1 := trunc(edtManID.Value);
WCD2 := trunc(edtReceiveEmpID.Value);
/////////////////////////////////////////////////////////
if (WTmpStr1='') then ErrorCode := -1;
iBool1 := dm_Inventory.Get_StockCheck(WTmpStr1,edtStkName);
if not(iBool1) then begin
edtStkID.Text := '';
ErrorCode := -1;
Exit;
end;
/////////////////////////////////////////////////////////
if trim(edtIssPaperNO.Text)='' then ErrorCode := -2;
/////////////////////////////////////////////////////////
if WTmpStr2='' then ErrorCode := -3;
iBool2 := dm_Inventory.InOut_IDProc(WTmpStr2,2, edtIOName);
if not(iBool2) then begin
edtIOID.Text := '';
ErrorCode := -3;
Exit;
end;
/////////////////////////////////////////////////////////
if (WCD1<=0) then ErrorCode := -4;
iBool3 := dm_Inventory.Emp_IDProc(WTmpStr3, edtManName);
if not(iBool3) then begin
edtManID.Value := 0;
ErrorCode := -4;
Exit;
end;
/////////////////////////////////////////////////////////
if (WCD2<=0) then ErrorCode := -5;
iBool4 := dm_Inventory.Emp_IDProc(WTmpStr4, edtReceiveEmpName);
if not(iBool4) then begin
edtReceiveEmpID.Value := 0;
ErrorCode := -5;
Exit;
end;
/////////////////////////////////////////////////////////
case ErrorCode of
-1: begin
MessageDlg('請選定入庫的倉庫!',mtError,[mbOk],0);
Exit;
end;
-2: begin
MessageDlg(GetMultiLingalMsg(90237, 'None Input Customer Issure Paper No!'),mtError,[mbOk],0);
Exit;
end;
-3: begin
GetMultiLingalMsg(90220, 'None Input Out Type!');
Exit;
end;
-4: begin
MessageDlg(GetMultiLingalMsg(90210,'Please Input Man!'),mtError,[mbOk],0);
Exit;
end;
-5: begin
MessageDlg(GetMultiLingalMsg(90221, 'None Input Receive Man!'),mtError,[mbOk],0);
Exit;
end;
else Modalresult := mrOK;
end;
end;
procedure TfrmOutInvSelect.SetMultilingual;
begin
self.Caption := 'Selected Inventory Information';
lblStkID.Caption := GetMultiLingalMsg(90027,'Stock ID');
lblIsspaper.Caption := GetMultiLingalMsg(90236, 'Issue Paper');
lblInType.Caption := GetMultiLingalMsg(90087, 'Out Type');
lblEmpID.Caption := GetMultiLingalMsg(90240, 'Out Man');
lblReceive.Caption := GetMultiLingalMsg(90088, 'Receive Man');
end;
procedure TfrmOutInvSelect.cbxReceiveDropDown(Sender: TObject);
begin
dm_inventory.Read_EmpInfoToCbx(cbxReceive);
end;
procedure TfrmOutInvSelect.cbxReceiveChange(Sender: TObject);
begin
edtReceiveEmpID.Value := StrToIntDef(Get_PosBeforeStr(cbxReceive.Text,'_'),0);
edtReceiveEmpName.Text := Get_PosAfterStr(cbxReceive.Text,'_');
edtReceiveEmpID.SetFocus;
end;
procedure TfrmOutInvSelect.edtReceiveEmpIDChange(Sender: TObject);
begin
edtReceiveEmpName.Text := dm_Inventory.Get_EmpName(trim(edtReceiveEmpID.Text));
end;
procedure TfrmOutInvSelect.edtReceiveEmpIDExit(Sender: TObject);
var iBool: Boolean;
WTmpStr: String;
begin
WTmpStr := FloatTostr(edtReceiveEmpID.Value);
iBool := dm_Inventory.Emp_IDProc(WTmpStr, edtReceiveEmpName);
if not(iBool) then begin
edtReceiveEmpID.Value := 0;
Exit;
end;
end;
procedure TfrmOutInvSelect.btnCancelClick(Sender: TObject);
begin
Modalresult := mrCancel;
CLOSE;
end;
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
procedure TfrmOutInvSelect.Close_TabStop;
var
i:Integer;
begin
for i:=0 To Self.ComponentCount-1 do
try
if not ((Self.Components[i] is TLabel) or (Self.Components[i] is TImageList)or
(Self.Components[i] is TSpeedButton) or (self.Components[i] is TBevel))then
begin
(Self.Components[i] as TWinControl).TabStop := False;
(Self.Components[i] as TWinControl).TabOrder := -1;
end;
except
;
end;
end;
procedure TfrmOutInvSelect.Init_TabStopAndTabOrder;
begin
edtStkID.TabStop := true;
edtStkID.TabOrder := 7;
edtIssPaperNO.TabStop := true;
edtIssPaperNO.TabOrder := 6;
edtIOID.TabStop := true;
edtIOID.TabOrder := 5;
edtReceiveEmpID.TabStop := true;
edtReceiveEmpID.TabOrder := 4;
edtManID.TabStop := true;
edtManID.TabOrder := 3;
btnConfirm.TabStop := true;
btnConfirm.TabOrder := 2;
btnCancel.TabStop := true;
btnCancel.TabOrder := 1;
end;
procedure TfrmOutInvSelect.GetNextTabOrder(Key: Word; ShiftState: TShiftState);
var
nextControl : TWinControl;
begin
if key = VK_TAB then begin
nextControl := FindNextControl(ActiveControl ,false,true,false);
if NextControl <> nil then NextControl.SetFocus;
end
else if key = VK_RETURN then
begin
nextControl := FindNextControl(ActiveControl ,true,true,false);
if NextControl <> nil then NextControl.SetFocus;
end;
end;
procedure TfrmOutInvSelect.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (Key = VK_TAB) or (Key = VK_RETURN) then //--
GetNextTabOrder(VK_TAB, Shift);
end;
procedure TfrmOutInvSelect.cbxManDropDown(Sender: TObject);
begin
dm_inventory.Read_EmpInfoToCbx(cbxMan);
end;
procedure TfrmOutInvSelect.cbxIODropDown(Sender: TObject);
begin
dm_inventory.Read_IOIDInfo_ToCbx(cbxIO,2);
end;
procedure TfrmOutInvSelect.cbxIOChange(Sender: TObject);
begin
edtIOID.Text := Get_PosBeforeStr(cbxIO.Text,'_');
edtIOName.Text := Get_PosAfterStr(cbxIO.Text,'_');
edtIOID.SetFocus;
end;
procedure TfrmOutInvSelect.cbxManChange(Sender: TObject);
begin
edtManID.Value := StrToIntDef(Get_PosBeforeStr(cbxMan.Text,'_'),0);
edtManName.Text := Get_PosAfterStr(cbxMan.Text,'_');
edtManID.SetFocus;
end;
procedure TfrmOutInvSelect.edtIOIDChange(Sender: TObject);
begin
edtIOName.Text := dm_Inventory.Get_IOIDName(trim(edtIOID.Text),2);
end;
procedure TfrmOutInvSelect.edtIOIDExit(Sender: TObject);
var iBool: Boolean;
WTmpStr: String;
begin
WTmpStr := trim(edtIOID.Text);
iBool := dm_Inventory.InOut_IDProc(WTmpStr,2, edtIOName);
if not(iBool) then begin
edtIOID.Text := '';
Exit;
end;
end;
procedure TfrmOutInvSelect.edtManIDChange(Sender: TObject);
begin
edtManName.Text := dm_Inventory.Get_EmpName(trim(edtManID.Text));
end;
procedure TfrmOutInvSelect.edtManIDExit(Sender: TObject);
var iBool: Boolean;
WTmpStr: string;
begin
WTmpStr := FloatTostr(edtManID.Value);
iBool := dm_Inventory.Emp_IDProc(WTmpStr, edtManName);
if not(iBool) then begin
edtManID.Value := 0;
Exit;
end;
end;
procedure TfrmOutInvSelect.cbxStkChange(Sender: TObject);
begin
edtStkID.Text := Get_PosBeforeStr(cbxStk.Text,'_');
edtStkName.Text := Get_PosAfterStr(cbxStk.Text,'_');
edtStkID.SetFocus;
end;
procedure TfrmOutInvSelect.edtStkIDChange(Sender: TObject);
begin
edtStkName.Text := dm_Inventory.GetStockName(trim(edtStkID.Text));
end;
procedure TfrmOutInvSelect.edtStkIDExit(Sender: TObject);
var WTmpStr: string;
iBool: Boolean;
begin
WTmpStr := trim(edtStkID.Text);
iBool := dm_Inventory.Get_StockCheck(WTmpStr,edtStkName);
if not(iBool) then begin
edtStkID.Text := '';
Exit;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -