?? peditjob.pas
字號:
unit pEditJob;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls, Mask, Db, ADODB,comctrls;
type
TFormEditJob = class(TForm)
StaticText2: TStaticText;
StaticText3: TStaticText;
StaticText4: TStaticText;
StaticText5: TStaticText;
StaticText6: TStaticText;
StaticText7: TStaticText;
StaticText8: TStaticText;
StaticText9: TStaticText;
StaticText10: TStaticText;
ButtonCancle: TButton;
ButtonOK: TButton;
EditLotNo: TEdit;
EditCode: TEdit;
EditProductCode: TEdit;
EditProcessCode: TEdit;
EditCheckCode: TEdit;
EditPartCode: TEdit;
EditHeNo: TEdit;
Button2: TButton;
Button4: TButton;
Button7: TButton;
StaticText11: TStaticText;
StaticText18: TStaticText;
EditAmount: TMaskEdit;
EditUnit: TMaskEdit;
ADODataSetLot: TADODataSet;
EditStart: TMaskEdit;
EditEnd: TMaskEdit;
CheckBoxUsa: TCheckBox;
procedure Button4Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ButtonOKClick(Sender: TObject);
procedure ButtonCancleClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure EditCodeChange(Sender: TObject);
procedure EditLotNoChange(Sender: TObject);
procedure EditAmountChange(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
private
sOrgLotNo:String;
{ Private declarations }
public
procedure GetString2(sT,sF,sC:String;sAdoC:String);
end;
var
FormEditJob: TFormEditJob;
implementation
uses pSelect, PDataModuleMain, PRelation, PBarCodePrinter, PPublic;
{$R *.DFM}
procedure TFormEditJob.GetString2(sT,sF,sC:String;sAdoC:String);
begin
if not assigned(FormSelect) then FormSelect:=TFormSelect.Create(Self);
FormSelect.sTableName:=sT;
FormSelect.sFieldName:=sF;
FormSelect.sCaption:=sC;
FormSelect.sADOConnectionM:=SAdoC;
FormSelect.ShowModal;
end;
procedure TFormEditJob.Button4Click(Sender: TObject);
begin
GetString2('Relation','Code','品名代碼',DataModuleMain.ADOConnectionBarCode.ConnectionString);
if FormSelect.sResult<>'' then
EditCode.Text:=FormSelect.sResult;
end;
procedure TFormEditJob.Button7Click(Sender: TObject);
begin
GetString2('PartsCode','PartsCode','部件代碼',DataModuleMain.ADOConnectionBarCode.ConnectionString);
if FormSelect.sResult<>'' then
EditPartCode.Text:=FormSelect.sResult;
end;
procedure TFormEditJob.Button2Click(Sender: TObject);
begin
GetString2('LotHistory','LotNo','生產(chǎn)批號',DataModuleMain.ADOConnectionBarCode.ConnectionString);
if FormSelect.sResult<>'' then
EditLotNo.Text:=FormSelect.sResult;
end;
procedure TFormEditJob.ButtonOKClick(Sender: TObject);
var
ListItem:TListItem;
begin
if EditCode.Text='' then
begin
Application.MessageBox('綜合代碼不能為空!','提示',MB_OK);
exit;
end;
if (trim(EditUnit.Text)='') or (StrToInt(trim(EditUnit.Text))<=0) then
begin
Application.MessageBox('包裝單位錯(cuò)誤!','提示',MB_OK);
exit;
end;
if EditLotNo.Text='' then
begin
Application.MessageBox('生產(chǎn)批號不能為空!','提示',MB_OK);
exit;
end;
if EditHeNo.Text='' then
begin
Application.MessageBox('出荷編號不能為空!','提示',MB_OK);
exit;
end;
if (trim(EditAmount.Text)='') or (StrToInt(trim(EditAmount.Text))<=0) then
begin
Application.MessageBox('生產(chǎn)數(shù)量錯(cuò)誤!','提示',MB_OK);
exit;
end;
if (trim(EditStart.Text)='') or (StrToInt(trim(EditStart.Text))<=0) then
begin
Application.MessageBox('起始標(biāo)簽號錯(cuò)誤!','提示',MB_OK);
exit;
end;
if (trim(EditEnd.Text)='') or (StrToInt(trim(EditEnd.Text))<=0) or(StrToInt(trim(EditEnd.Text))>99) then
begin
Application.MessageBox('結(jié)束標(biāo)簽號錯(cuò)誤!','提示',MB_OK);
exit;
end;
EditHeNo.Text:=trim(EditHeNo.text);
if Length(EditHeNo.text)<>7 then
begin
Application.MessageBox('出荷編號必須為七位!','提示',MB_OK);
exit;
end;
if StrToIntDef(EditHeNo.Text,-1)=-1 then
begin
Application.MessageBox('出荷編號錯(cuò)誤!','提示',MB_OK);
exit;
end;
ADODataSetLot.Close;
ADODataSetLot.CommandText:='Select * from LotHistory where LotNo='''+sOrgLotNo+'''';
ADODataSetLot.Open;
if ADODataSetLot.Eof then
begin
ADODataSetLot.Insert;
ADODataSetLot.FieldByName('LotNo').AsString:=(EditLotNo.Text);
ADODataSetLot.FieldByName('HeNo').AsString:=UpperCase(EditHeNo.Text);
ADODataSetLot.FieldByName('Code').AsString:=UpperCase(EditCode.Text);
ADODataSetLot.FieldByName('ProductCode').AsString:=UpperCase(EditProductCode.Text);
ADODataSetLot.FieldByName('ProcessCode').AsString:=UpperCase(EditProcessCode.Text);
ADODataSetLot.FieldByName('LotAmount').AsInteger:=StrToInt(trim(EditAmount.Text));
ADODataSetLot.FieldByName('PrintDate').Value:=Date;
ADODataSetLot.FieldByName('PrintTime').Value:=Time;
ADODataSetLot.FieldByName('UserCode').AsString:=UserCode;
ADODataSetLot.Post;
end
else begin
ADODataSetLot.Edit;
ADODataSetLot.FieldByName('LotNo').AsString:=(EditLotNo.Text);
ADODataSetLot.FieldByName('HeNo').AsString:=UpperCase(EditHeNo.Text);
ADODataSetLot.FieldByName('Code').AsString:=UpperCase(EditCode.Text);
ADODataSetLot.FieldByName('ProductCode').AsString:=UpperCase(EditProductCode.Text);
ADODataSetLot.FieldByName('ProcessCode').AsString:=UpperCase(EditProcessCode.Text);
ADODataSetLot.FieldByName('LotAmount').AsInteger:=StrToInt(trim(EditAmount.Text));
ADODataSetLot.FieldByName('PrintDate').Value:=Date;
ADODataSetLot.FieldByName('PrintTime').Value:=Time;
ADODataSetLot.FieldByName('UserCode').AsString:=UserCode;
ADODataSetLot.Post;
end;
ADODataSetLot.Close;
BarCodePrinter.lvwPrintQueue.Items.Delete(BarCodePrinter.lvwPrintQueue.Selected.Index);
ListItem:=BarCodePrinter.lvwPrintQueue.Items.Add;
ListItem.ImageIndex:=13;
ListItem.Caption:=(EditLotNo.Text);
ListItem.SubItems.Add(UpperCase(EditHeNo.Text));
ListItem.SubItems.Add(UpperCase(EditProductCode.Text));
ListItem.SubItems.Add(UpperCase(EditProcessCode.Text));
ListItem.SubItems.Add(UpperCase(EditCheckCode.Text));
ListItem.SubItems.Add(trim(EditAmount.Text));
ListItem.SubItems.Add(trim(EditUnit.Text));
ListItem.SubItems.Add(trim(EditStart.Text));
ListItem.SubItems.Add(trim(EditEnd.Text));
if CheckBoxUsa.Checked then
ListItem.SubItems.Add(UpperCase(EditPartCode.Text))
else
ListItem.SubItems.Add('');
Close;
end;
procedure TFormEditJob.ButtonCancleClick(Sender: TObject);
begin
Close;
end;
procedure TFormEditJob.FormCreate(Sender: TObject);
begin
ADODataSetLot.Connection:=DataModuleMain.ADOConnectionBarCode;
end;
procedure TFormEditJob.FormShow(Sender: TObject);
begin
CheckBoxUsa.Checked:=False;
sOrgLotNo:=trim(EditLotNo.Text);
end;
procedure TFormEditJob.EditCodeChange(Sender: TObject);
begin
if EditCode.Text='' then begin
EditProductCode.Text:='';
EditProcessCode.Text:='';
EditCheckCode.Text:='';
EditUnit.Text:='';
EditPartCode.Text:='';
exit;
end;
ADODataSetLot.Close;
ADODataSetLot.CommandText:='Select * from Relation where Code='''+trim(EditCode.Text)+'''';
ADODataSetLot.Open;
if not ADODataSetLot.Eof then
begin
EditProductCode.Text:=ADODataSetLot.FieldByName('ProductCode').AsString;
EditProcessCode.Text:=ADODataSetLot.FieldByName('ProcessCode').AsString;
EditCheckCode.Text:=ADODataSetLot.FieldByName('CheckCode').AsString;
EditUnit.Text:=ADODataSetLot.FieldByName('PackUnit').AsString;
EditPartCode.Text:=ADODataSetLot.FieldByName('PartsCode').AsString;
end
else
begin
EditProductCode.Text:='';
EditProcessCode.Text:='';
EditCheckCode.Text:='';
EditUnit.Text:='';
EditPartCode.Text:='';
end;
ADODataSetLot.Close;
end;
procedure TFormEditJob.EditLotNoChange(Sender: TObject);
var
ADODataSetL:TADODataSet;
begin
if (EditLotNo.Text='') or (Length(EditLotNo.Text)<8) then
begin
exit;
end;
ADODataSetL:=TADODataSet.Create(Self);
ADoDataSetL.Connection:=DataModuleMain.ADOConnectionBarCode;
ADODataSetL.CommandText:='Select * from LotHistory where LotNo='''+trim(EditLotNo.Text)+'''';
ADODataSetL.Open;
if not ADODataSetL.Eof then
begin
EditAmount.Text:=IntToStr(ADODataSetL.FieldByName('LotAmount').AsInteger);
EditHeNo.Text:=ADODataSetL.FieldByName('HeNo').AsString;
EditCode.Text:=ADODataSetL.FieldByName('Code').AsString;
end;
ADODataSetL.Close;
ADODataSetL.Free;
end;
procedure TFormEditJob.EditAmountChange(Sender: TObject);
var
nA,nU:Integer;
begin
if Trim(EditUnit.Text)='' then exit;
if StrToInt(trim(EditUnit.Text))<=0 then exit;
if trim(EditAmount.Text)='' then exit;
if strToInt(trim(EditAmount.Text))<=0 then Exit;
editStart.Text:='1';
nA:=strToInt(trim(EditAmount.Text));
nU:=StrToInt(trim(EditUnit.Text));
if (StrToInt(trim(EditAmount.Text)) mod StrToInt(trim(EditUnit.Text)))=0 then
editEnd.Text:=IntToStr(nA div nU)
else
editEnd.Text:=IntToStr((nA div nU)+1);
if trim(EditEnd.Text)='0' then
begin
editEnd.Text:='';
editStart.Text:='';
end;
end;
procedure TFormEditJob.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key=#13 then
begin
SelectNext(ActiveControl,True,True);
Key:=#0;
end;
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -