private
{ Private declarations }
ssss: string;
shiftno: string;
datetime: string;
public
{ Public declarations }
LoadCnt : integer;
FirstRecord : boolean;
end;var
FaBarcodeInForm: TFaBarcodeInForm;
SetfocusStage : String;
SetfocusCell : string;
SavedCount : integer;
implementationuses ManufactureDm, PublicLib, Main, ErrMessageFrm, LoginSpecFrm;{$R *.dfm}
function TFaBarcodeInForm.CheckBCModel(BcNO:string):String;
begin
Result := '';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from DBCTicket where Bc_No ='''+BcNO+''' ');
ADOQuery1.Open;
if not ADOQuery1.Eof then
begin
Result := ADOQuery1.fieldbyname('BC_Model').AsString;
end;
end;procedure TFaBarcodeInForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
CDS_BarcodeIn.Destroy;
Action := caFree;
end;procedure TFaBarcodeInForm.FormCreate(Sender: TObject);
begin
SetCapsLockKey( VK_CAPITAL, False );
SetfocusStage := MainForm.SetfocusStage;
SetfocusCell := Copy(MainForm.SetfocusStage,1,1); Adq_CBar_F.Close;
Adq_CBar_F.SQL.Add('and Processcode='''+SetfocusCell+''' '); Adq_CBar_C.Close;
Adq_CBar_C.SQL.Add('and Processcode='''+SetfocusCell+''' '); ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from DLine');
ADOQuery1.SQL.Add(' Where Cell ='''+SetfocusCell+''' and OnLine=''Y''');
ADOQuery1.Open;
CBox_Line.Items.Clear;
while not ADOQuery1.Eof do
begin
CBox_Line.Items.Add(ADOQuery1.fieldbyname('Line').AsString);
ADOQuery1.Next;
end;
CDS_BarcodeIn.CreateDataSet;
CDS_BarcodeIn.EmptyDataSet; DateTimePicker1.DateTime := Now;
LoadCnt := 0;
FirstRecord := false;
end;procedure TFaBarcodeInForm.EdtFBarcodeKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
var i : integer;
ChangeLine : boolean;
repair,reworkstatus :integer;
lockcell,lockline :string;
begin
if Key = 13 then
begin
reworkstatus:=1;
repair := 1 ;
ManufactureDmod.AdoProduction.Connected := true;
ChangeLine := false;
if EdtFBarcode.Text <> '' then
begin
//modify by zhongxiang 2010/05/19 锁线别
if Checklinelocked(SetfocusCell, CBox_Line.Text) then
begin
lockcell := SetfocusCell;
lockline := CBox_Line.Text;
ErrMessageForm.ErrMessage := '此线别已锁!请先解锁!';
ErrMessageForm.ShowModal;
EdtFBarcode.Text := '';
EdtFBarcode.SetFocus;
Abort;
end;
if CBox_Line.Text = '' then
begin
ErrMessageForm.ErrMessage := GetSysMessage(3,1);
ErrMessageForm.ShowModal;
CBox_Line.SetFocus;
Abort;
end;
if EdtBcNo.Text = '' then
begin
ErrMessageForm.ErrMessage := GetSysMessage(4,1);
ErrMessageForm.ShowModal;
EdtBcNo.Text := '';
EdtBcNo.SetFocus;
Abort;
end;
EdtFBarcode.Text:=uppercase(EdtFBarcode.Text); // modify by smile hong 2010/03/08
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from DBCTicket Where Bc_no ='''+EdtBcNo.Text+''' ');
ADOQuery1.Open;
if ADOQuery1.Eof then
begin
ErrMessageForm.ErrMessage := GetSysMessage(4,2);
ErrMessageForm.ShowModal;
EdtBcNo.Text := '';
EdtBcNo.SetFocus;
Abort;
end;
if ADOQuery1.FieldByName('BC_sotype').AsString = 'R' then
begin
reworkstatus:=2;
end;
if ADOQuery1.FieldByName('BC_Closed').AsString = 'Y' then
begin
ErrMessageForm.ErrMessage := GetSysMessage(4,3);
ErrMessageForm.ShowModal;
EdtBcNo.Text := '';
EdtBcNo.SetFocus;
Abort;
end;
if MainForm.CheckTansQty then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from DFaPacking Where Bcno ='''+EdtBcNo.Text+''' ');
ADOQuery1.SQL.Add(' and Processcode = '''+SetfocusStage+''' ');
ADOQuery1.Open;
if ADOQuery1.Eof then
begin
ErrMessageForm.ErrMessage := GetSysMessage(4,4);
ErrMessageForm.ShowModal;
EdtBcNo.Text := '';
EdtBcNo.SetFocus;
Abort;
end;
end;
if RG_PType.ItemIndex = 0 then
begin
{if Copy(EdtFBarcode.Text,1,length(EdtBcNo.Text)) <> Copy(EdtBcNo.Text,1,length(EdtBcNo.Text)) then
begin
ErrMessageForm.ErrMessage := GetSysMessage(4,7);
ErrMessageForm.ShowModal;
EdtFBarcode.Text := '';
EdtFBarcode.SetFocus;
Abort;
end;
}
if CBox_CHKCUST.Checked then
begin
if not CheckCustCode(EdtBcNo.Text,EdtFBarcode.Text) then
begin
ErrMessageForm.ErrMessage := GetSysMessage(911071517,1)+GetSysMessage(3,5);
ErrMessageForm.ShowModal;
SetCapsLockKey( VK_CAPITAL, False );
EdtFBarcode.Text := '';
EdtFBarcode.SetFocus;
Abort;
end;
end;
end;
Adq_repair.Close;
Adq_repair.Parameters.ParamByName('Barcode').Value := EdtFBarcode.Text;
Adq_repair.Open;
while not Adq_repair.Eof do
begin
if Adq_repair.FieldByName('Status').AsString = 'P' then
begin
if Adq_Repair.FieldByName('Inputuser').AsString = 'QA' then
begin
ErrMessageForm.ErrMessage := GetSysMessage(1004122100,1);
ErrMessageForm.ShowModal;
EdtFBarcode.Text := '';
EdtNowBarcode.Text := '';
EdtFBarcode.SetFocus;
Abort;
end
else
begin
ErrMessageForm.ErrMessage := GetSysMessage(3,10);
ErrMessageForm.ShowModal;
EdtFBarcode.Text := '';
EdtNowBarcode.Text := '';
EdtFBarcode.SetFocus;
Abort;
end;
end;
if Adq_repair.FieldByName('Status').AsString = 'F' then
begin
if Adq_repair.FieldByName('rejected').AsString = 'Y' then
begin
ErrMessageForm.ErrMessage := GetSysMessage(3,9);
ErrMessageForm.ShowModal;
EdtFBarcode.Text := '';
EdtNowBarcode.Text := '';
EdtFBarcode.SetFocus;
Abort;
end;
end;
Adq_repair.Edit;
Adq_repair.FieldByName('BarcodeInStatus').AsString := 'Y';
Adq_repair.Post;
repair := 2;
Adq_repair.Next;
end; // ---Normal -------------------------------------------------------------
if RG_PType.ItemIndex = 0 then
begin
if reworkstatus=2 then
begin
ErrMessageForm.ErrMessage := '此工单为返工单,请选择Rework工单sorting';
ErrMessageForm.ShowModal;
EdtFBarcode.Text := '';
EdtNowBarcode.Text := '';
EdtFBarcode.SetFocus;
Abort;
end;
Adq_CBar_F.Close;
Adq_CBar_F.Parameters.ParamByName('FBarcdode').Value := EdtFBarcode.Text;
Adq_CBar_F.Parameters.ParamByName('bcno').Value := EdtBcNo.Text;
Adq_CBar_F.Open;
if Adq_CBar_F.Eof then
begin
Adq_CBar_F.Insert;
Adq_CBar_F.FieldByName('Processcode').AsString := SetfocusCell;
Adq_CBar_F.FieldByName('BcNo').AsString := EdtBcNo.Text;
Adq_CBar_F.FieldByName('Line').AsString := CBox_Line.Text;
Adq_CBar_F.FieldByName('Inptdate').AsString := Get_ServerDateTime();
Adq_CBar_F.FieldByName('FBarcode').AsString := EdtFBarcode.Text;
Adq_CBar_F.FieldByName('CBarcode').AsString := ''; if Checklinefuntest(SetfocusCell, CBox_Line.Text) then
Adq_CBar_F.FieldByName('FunTest').AsString := 'N'
else
Adq_CBar_F.FieldByName('FunTest').AsString := 'Y';
if Checklinekeytest(SetfocusCell, CBox_Line.Text) then
Adq_CBar_F.FieldByName('keyTest').AsString := 'N'
else
Adq_CBar_F.FieldByName('keyTest').AsString := 'Y';
if Checklinemousetest(SetfocusCell, CBox_Line.Text) then
Adq_CBar_F.FieldByName('mouseTest').AsString := 'N'
else
Adq_CBar_F.FieldByName('mouseTest').AsString := 'Y';
if Checklinedarktest(SetfocusCell, CBox_Line.Text) then
Adq_CBar_F.FieldByName('darkTest').AsString := 'N'
else
Adq_CBar_F.FieldByName('darkTest').AsString := 'Y';
if Checklinevctest(SetfocusCell, CBox_Line.Text) then
Adq_CBar_F.FieldByName('vcTest').AsString := 'N'
else
Adq_CBar_F.FieldByName('vcTest').AsString := 'Y';
if Checklinebackvctest(SetfocusCell, CBox_Line.Text) then
Adq_CBar_F.FieldByName('backvcTest').AsString := 'N'
else
Adq_CBar_F.FieldByName('backvcTest').AsString := 'Y';
Adq_CBar_F.FieldByName('AOI').AsString := 'N';
Adq_CBar_F.FieldByName('Rejected').AsString := 'N';
Adq_CBar_F.FieldByName('ProcessType').AsString := 'N'; // N:Nornal S:Sorting
Adq_CBar_F.Post;
end
{ Private declarations }
ssss: string;
shiftno: string;
datetime: string;
public
{ Public declarations }
LoadCnt : integer;
FirstRecord : boolean;
end;var
FaBarcodeInForm: TFaBarcodeInForm;
SetfocusStage : String;
SetfocusCell : string;
SavedCount : integer;
implementationuses ManufactureDm, PublicLib, Main, ErrMessageFrm, LoginSpecFrm;{$R *.dfm}
function TFaBarcodeInForm.CheckBCModel(BcNO:string):String;
begin
Result := '';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from DBCTicket where Bc_No ='''+BcNO+''' ');
ADOQuery1.Open;
if not ADOQuery1.Eof then
begin
Result := ADOQuery1.fieldbyname('BC_Model').AsString;
end;
end;procedure TFaBarcodeInForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
CDS_BarcodeIn.Destroy;
Action := caFree;
end;procedure TFaBarcodeInForm.FormCreate(Sender: TObject);
begin
SetCapsLockKey( VK_CAPITAL, False );
SetfocusStage := MainForm.SetfocusStage;
SetfocusCell := Copy(MainForm.SetfocusStage,1,1); Adq_CBar_F.Close;
Adq_CBar_F.SQL.Add('and Processcode='''+SetfocusCell+''' '); Adq_CBar_C.Close;
Adq_CBar_C.SQL.Add('and Processcode='''+SetfocusCell+''' '); ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from DLine');
ADOQuery1.SQL.Add(' Where Cell ='''+SetfocusCell+''' and OnLine=''Y''');
ADOQuery1.Open;
CBox_Line.Items.Clear;
while not ADOQuery1.Eof do
begin
CBox_Line.Items.Add(ADOQuery1.fieldbyname('Line').AsString);
ADOQuery1.Next;
end;
CDS_BarcodeIn.CreateDataSet;
CDS_BarcodeIn.EmptyDataSet; DateTimePicker1.DateTime := Now;
LoadCnt := 0;
FirstRecord := false;
end;procedure TFaBarcodeInForm.EdtFBarcodeKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
var i : integer;
ChangeLine : boolean;
repair,reworkstatus :integer;
lockcell,lockline :string;
begin
if Key = 13 then
begin
reworkstatus:=1;
repair := 1 ;
ManufactureDmod.AdoProduction.Connected := true;
ChangeLine := false;
if EdtFBarcode.Text <> '' then
begin
//modify by zhongxiang 2010/05/19 锁线别
if Checklinelocked(SetfocusCell, CBox_Line.Text) then
begin
lockcell := SetfocusCell;
lockline := CBox_Line.Text;
ErrMessageForm.ErrMessage := '此线别已锁!请先解锁!';
ErrMessageForm.ShowModal;
EdtFBarcode.Text := '';
EdtFBarcode.SetFocus;
Abort;
end;
if CBox_Line.Text = '' then
begin
ErrMessageForm.ErrMessage := GetSysMessage(3,1);
ErrMessageForm.ShowModal;
CBox_Line.SetFocus;
Abort;
end;
if EdtBcNo.Text = '' then
begin
ErrMessageForm.ErrMessage := GetSysMessage(4,1);
ErrMessageForm.ShowModal;
EdtBcNo.Text := '';
EdtBcNo.SetFocus;
Abort;
end;
EdtFBarcode.Text:=uppercase(EdtFBarcode.Text); // modify by smile hong 2010/03/08
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from DBCTicket Where Bc_no ='''+EdtBcNo.Text+''' ');
ADOQuery1.Open;
if ADOQuery1.Eof then
begin
ErrMessageForm.ErrMessage := GetSysMessage(4,2);
ErrMessageForm.ShowModal;
EdtBcNo.Text := '';
EdtBcNo.SetFocus;
Abort;
end;
if ADOQuery1.FieldByName('BC_sotype').AsString = 'R' then
begin
reworkstatus:=2;
end;
if ADOQuery1.FieldByName('BC_Closed').AsString = 'Y' then
begin
ErrMessageForm.ErrMessage := GetSysMessage(4,3);
ErrMessageForm.ShowModal;
EdtBcNo.Text := '';
EdtBcNo.SetFocus;
Abort;
end;
if MainForm.CheckTansQty then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Select * from DFaPacking Where Bcno ='''+EdtBcNo.Text+''' ');
ADOQuery1.SQL.Add(' and Processcode = '''+SetfocusStage+''' ');
ADOQuery1.Open;
if ADOQuery1.Eof then
begin
ErrMessageForm.ErrMessage := GetSysMessage(4,4);
ErrMessageForm.ShowModal;
EdtBcNo.Text := '';
EdtBcNo.SetFocus;
Abort;
end;
end;
if RG_PType.ItemIndex = 0 then
begin
{if Copy(EdtFBarcode.Text,1,length(EdtBcNo.Text)) <> Copy(EdtBcNo.Text,1,length(EdtBcNo.Text)) then
begin
ErrMessageForm.ErrMessage := GetSysMessage(4,7);
ErrMessageForm.ShowModal;
EdtFBarcode.Text := '';
EdtFBarcode.SetFocus;
Abort;
end;
}
if CBox_CHKCUST.Checked then
begin
if not CheckCustCode(EdtBcNo.Text,EdtFBarcode.Text) then
begin
ErrMessageForm.ErrMessage := GetSysMessage(911071517,1)+GetSysMessage(3,5);
ErrMessageForm.ShowModal;
SetCapsLockKey( VK_CAPITAL, False );
EdtFBarcode.Text := '';
EdtFBarcode.SetFocus;
Abort;
end;
end;
end;
Adq_repair.Close;
Adq_repair.Parameters.ParamByName('Barcode').Value := EdtFBarcode.Text;
Adq_repair.Open;
while not Adq_repair.Eof do
begin
if Adq_repair.FieldByName('Status').AsString = 'P' then
begin
if Adq_Repair.FieldByName('Inputuser').AsString = 'QA' then
begin
ErrMessageForm.ErrMessage := GetSysMessage(1004122100,1);
ErrMessageForm.ShowModal;
EdtFBarcode.Text := '';
EdtNowBarcode.Text := '';
EdtFBarcode.SetFocus;
Abort;
end
else
begin
ErrMessageForm.ErrMessage := GetSysMessage(3,10);
ErrMessageForm.ShowModal;
EdtFBarcode.Text := '';
EdtNowBarcode.Text := '';
EdtFBarcode.SetFocus;
Abort;
end;
end;
if Adq_repair.FieldByName('Status').AsString = 'F' then
begin
if Adq_repair.FieldByName('rejected').AsString = 'Y' then
begin
ErrMessageForm.ErrMessage := GetSysMessage(3,9);
ErrMessageForm.ShowModal;
EdtFBarcode.Text := '';
EdtNowBarcode.Text := '';
EdtFBarcode.SetFocus;
Abort;
end;
end;
Adq_repair.Edit;
Adq_repair.FieldByName('BarcodeInStatus').AsString := 'Y';
Adq_repair.Post;
repair := 2;
Adq_repair.Next;
end; // ---Normal -------------------------------------------------------------
if RG_PType.ItemIndex = 0 then
begin
if reworkstatus=2 then
begin
ErrMessageForm.ErrMessage := '此工单为返工单,请选择Rework工单sorting';
ErrMessageForm.ShowModal;
EdtFBarcode.Text := '';
EdtNowBarcode.Text := '';
EdtFBarcode.SetFocus;
Abort;
end;
Adq_CBar_F.Close;
Adq_CBar_F.Parameters.ParamByName('FBarcdode').Value := EdtFBarcode.Text;
Adq_CBar_F.Parameters.ParamByName('bcno').Value := EdtBcNo.Text;
Adq_CBar_F.Open;
if Adq_CBar_F.Eof then
begin
Adq_CBar_F.Insert;
Adq_CBar_F.FieldByName('Processcode').AsString := SetfocusCell;
Adq_CBar_F.FieldByName('BcNo').AsString := EdtBcNo.Text;
Adq_CBar_F.FieldByName('Line').AsString := CBox_Line.Text;
Adq_CBar_F.FieldByName('Inptdate').AsString := Get_ServerDateTime();
Adq_CBar_F.FieldByName('FBarcode').AsString := EdtFBarcode.Text;
Adq_CBar_F.FieldByName('CBarcode').AsString := ''; if Checklinefuntest(SetfocusCell, CBox_Line.Text) then
Adq_CBar_F.FieldByName('FunTest').AsString := 'N'
else
Adq_CBar_F.FieldByName('FunTest').AsString := 'Y';
if Checklinekeytest(SetfocusCell, CBox_Line.Text) then
Adq_CBar_F.FieldByName('keyTest').AsString := 'N'
else
Adq_CBar_F.FieldByName('keyTest').AsString := 'Y';
if Checklinemousetest(SetfocusCell, CBox_Line.Text) then
Adq_CBar_F.FieldByName('mouseTest').AsString := 'N'
else
Adq_CBar_F.FieldByName('mouseTest').AsString := 'Y';
if Checklinedarktest(SetfocusCell, CBox_Line.Text) then
Adq_CBar_F.FieldByName('darkTest').AsString := 'N'
else
Adq_CBar_F.FieldByName('darkTest').AsString := 'Y';
if Checklinevctest(SetfocusCell, CBox_Line.Text) then
Adq_CBar_F.FieldByName('vcTest').AsString := 'N'
else
Adq_CBar_F.FieldByName('vcTest').AsString := 'Y';
if Checklinebackvctest(SetfocusCell, CBox_Line.Text) then
Adq_CBar_F.FieldByName('backvcTest').AsString := 'N'
else
Adq_CBar_F.FieldByName('backvcTest').AsString := 'Y';
Adq_CBar_F.FieldByName('AOI').AsString := 'N';
Adq_CBar_F.FieldByName('Rejected').AsString := 'N';
Adq_CBar_F.FieldByName('ProcessType').AsString := 'N'; // N:Nornal S:Sorting
Adq_CBar_F.Post;
end
解决方案 »
- D7移植到Delphi2009,TStringGrid DrawCell使用DrawText时出现乱码,请教怎么回事?
- 这样的一个功能函数为何在线程中不能正常运行?
- 如何隐藏运行中的窗口的问题?
- 提问有关数据库的问题
- 救命啊!好奇怪的问题?
- Excel里的TExcelWorksheet不能控制列宽?
- 酷酷的免费软件大放送,还可以DIY哟-第一个真正可以让你自由DIY的软件,还不动心?
- 长沙学DELPHI的朋友,我们应该多在一起交流交流
- 如何用delphi完成gbk和big5内码的转换?
- delphi写好了升级程序 如何和主程序配合 写有代码我是刚学
- 大家好,关于delphi,我想说些事情。
- 关于 delphi 中使用 mssql 中单引号的问题~谢谢了。
这里大部分都是数据库字段赋值和查询,没有任何难度的代码倒是有几个自定函数,例如
CheckCustCode
Checklinelocked
CheckTansQty
可是代码却完全没贴
童鞋,问问题不是这样问的啊
要因为新人进公司看不懂代码流程,这不丢人,问问你旁边的人,他不会咬你的