📄 unitmain.pas
字号:
procedure TfrmMain.N8Click(Sender: TObject);
begin
if Not assigned(frmHuoPin) then
begin
frmHuoPin:=TfrmHuoPin.Create(application);
frmHuoPin.Show;
end
else
begin
frmHuoPin.Show;
end;
FHelper.Speak('此模块主要管理货品字典表!','');
end;
procedure TfrmMain.N9Click(Sender: TObject);
begin
if Not assigned(frmChePaiQ) then
begin
frmChePaiQ:=TfrmChePaiQ.Create(application);
frmChePaiQ.Show;
end
else
begin
frmChePaiQ.Show;
end;
FHelper.Speak('此模块主要管理车牌前缀字典表!','');
end;
procedure TfrmMain.N10Click(Sender: TObject);
begin
if Not assigned(frmPortConfig) then
begin
frmPortConfig:=TfrmPortConfig.Create(application);
frmPortConfig.Show;
end
else
begin
frmPortConfig.Show;
end;
FHelper.Speak('此模块主要管理端口设置(非专业人员请慎用)!','');
end;
procedure TfrmMain.FormShow(Sender: TObject);
var
str:String;
Reg:TRegistry;
begin
try
Caption:=ClientUSN;
reg:=Tregistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
str:='SOFTWARE\Microsoft\Windows\CurrentVersion\Run\';
if reg.OpenKey(str,false) then
begin
if Trim(reg.ReadString('DYapp'))<>'' then
begin
N30.Checked:=True;
N31.Checked:=False;
end
else
begin
N30.Checked:=False;
N31.Checked:=True;
end;
end;
reg.CloseKey;
reg.Free;
controlDBGridFieldVisible;
objFun.MainfromDictIni;
objFun.ReadDevicePortSetup;
timer1.Enabled:=true;
if adotable1.Active then
begin
str:=objFun.GetJianJinNo;
if str='' then
begin
str:='0000000000';
end ;
adotable1.Insert;
lbJianJinDanHao.DataSource.DataSet.FieldByName('ListID').AsString:= str;
lbJianJinDanHao.DataSource.DataSet.FieldByName('SiBangYuan').AsString:=userNick;
end;
if NeedHelper=True then
begin
N35.Checked:=False;
end
else
begin
N35.Checked:=True;
end;
except
end;
end;
procedure TfrmMain.N12Click(Sender: TObject);
begin
if Not assigned(frmChePaiN) then
begin
frmChePaiN:=TfrmChePaiN.Create(application);
frmChePaiN.Show;
end
else
begin
frmChePaiN.Show;
end;
FHelper.Speak('此模块主要管理车牌号码字典表!','');
end;
procedure TfrmMain.BitBtn1Click(Sender: TObject);
begin
try
if adoTable1.Active then
begin
adoTable1.Insert;
lbJianJinDanHao.DataSource.DataSet.FieldByName('ListID').AsString:=objFun.GetJianJinNo;
lbJianJinDanHao.DataSource.DataSet.FieldByName('SiBangYuan').AsString:=userNick;
end;
except
end;
end;
procedure TfrmMain.ADOTable1BeforePost(DataSet: TDataSet);
var
strSQL:string;
begin
try
//防止无数据引起的错误提示
getTmpTBInfo;
if Trim(DataSet.FieldByName('ChePai').AsString)='' then
exit;
if Trim(DataSet.FieldByName('ChePaiN').AsString)='' then
exit;
if Trim(DataSet.FieldByName('HuoPin').AsString)='' then
exit;
if Trim(DataSet.FieldByName('FaHuoDW').AsString)='' then
exit;
if Trim(DataSet.FieldByName('ShouHuoDW').AsString)='' then
exit;
//
strSQL:='Select * from uWeightTmp where ChePai='+ quotedstr(Trim(DataSet.FieldByName('ChePai').AsString)) + ' and ChePaiN=' + quotedstr(Trim(DataSet.FieldByName('ChePaiN').AsString));
adoTemp.Close;
adoTemp.SQL.Clear;
adoTemp.SQL.Add(strSQL);
adoTemp.Open;
//如果是第一次称重
if adoTemp.RecordCount<=0 then
begin
adoTemp.Insert;
adoTemp.FieldByName('ChePai').AsString:=DataSet.FieldByName('ChePai').AsString;
adoTemp.FieldByName('ChePaiN').AsString:=DataSet.FieldByName('ChePaiN').AsString;
adoTemp.FieldByName('HuoPin').AsString:=DataSet.FieldByName('HuoPin').AsString;
adoTemp.FieldByName('FaHuoDW').AsString:=DataSet.FieldByName('FaHuoDW').AsString;
adoTemp.FieldByName('ShouHuoDW').AsString:=DataSet.FieldByName('ShouHuoDW').AsString;
adoTemp.FieldByName('MaoZhong').AsFloat:=DataSet.FieldByName('MaoZhong').AsFloat;
adoTemp.FieldByName('PiZhong').AsFloat:=DataSet.FieldByName('PiZhong').AsFloat;
adoTemp.FieldByName('JingZhong').AsFloat:=DataSet.FieldByName('JingZhong').AsFloat;
adoTemp.FieldByName('ShiJian').AsDateTime:=Time;
adoTemp.FieldByName('RiQi').AsDateTime:=Date;
adoTemp.Post;
end
//否则更新当前数据
else
begin
adoTemp.Edit;
adoTemp.FieldByName('ChePai').AsString:=DataSet.FieldByName('ChePai').AsString;
adoTemp.FieldByName('ChePaiN').AsString:=DataSet.FieldByName('ChePaiN').AsString;
adoTemp.FieldByName('HuoPin').AsString:=DataSet.FieldByName('HuoPin').AsString;
adoTemp.FieldByName('FaHuoDW').AsString:=DataSet.FieldByName('FaHuoDW').AsString;
adoTemp.FieldByName('ShouHuoDW').AsString:=DataSet.FieldByName('ShouHuoDW').AsString;
adoTemp.FieldByName('MaoZhong').AsFloat:=DataSet.FieldByName('MaoZhong').AsFloat;
adoTemp.FieldByName('PiZhong').AsFloat:=DataSet.FieldByName('PiZhong').AsFloat;
adoTemp.FieldByName('JingZhong').AsFloat:=DataSet.FieldByName('JingZhong').AsFloat;
adoTemp.FieldByName('ShiJian').AsDateTime:=Time;
adoTemp.FieldByName('RiQi').AsDateTime:=Date;
adoTemp.Post;
end;
adoTemp.Close;
except
MessageBox(handle,'操作数据库发生异常,请重试!',pChar(ClientUSN),MB_OK+MB_ICONERROR);
end;
end;
procedure TfrmMain.getTmpTBInfo;
var
strSQL:string;
sInt:double;
sCode:Integer;
begin
try
//当前称重值
Val( Label8.Caption ,sInt,sCode);
strSQL:='Select * from uWeightTmp Where ChePai='+ quotedstr(Trim(dbcCPH.Text)) +' and ChePaiN='+ quotedstr(trim(dbcCPHN.Text))+'Order By ShiJian Desc';
adoTemp.Close;
adoTemp.SQL.Clear;
adoTemp.SQL.Add(strSQL);
adoTemp.Open;
//存在车号的相关称重数据
if adoTemp.RecordCount>0 then
begin
if (Trim(dbcCPH.Text)<>'') and (Trim(dbcCPHN.Text)<>'') and (ADOTable1.State in [dsEdit, dsInsert])then
begin
//Shape4.Brush.Color:=clRed; //★测试,发布时一定要注释掉该行[此处假设称重设备稳定]。
if (Shape4.Brush.Color=clRed) and (Shape5.Brush.Color=clMaroon) and (Shape6.Brush.Color=clMaroon) then
begin
//sInt:=500.342; //测试数据用,发布时必须注释该行;
//当前称重大于以前称重进行比较 [毛重]
if (sCode=0) and (sInt>0.0000) and (sInt> adoTemp.FieldByName('MaoZhong').AsFloat) then
begin
dbcCPH.DataSource.DataSet.FieldByName('ChePai').asString:=adoTemp.FieldByName('ChePai').AsString;
dbcCPHN.DataSource.DataSet.FieldByName('ChePaiN').asString:=adoTemp.FieldByName('ChePaiN').AsString;
dbcHPMC.DataSource.DataSet.FieldByName('HuoPin').asString:=adoTemp.FieldByName('HuoPin').AsString;
dbcFHDW.DataSource.DataSet.FieldByName('FaHuoDW').asString:=adoTemp.FieldByName('FaHuoDW').AsString;
dbcSHDW.DataSource.DataSet.FieldByName('ShouHuoDW').asString:=adoTemp.FieldByName('ShouHuoDW').AsString;
dbedtWweight.DataSource.DataSet.FieldByName('MaoZhong').AsFloat:=sInt; //毛重
dbedtWweight.DataSource.DataSet.FieldByName('MaoZhongRQ').AsDateTime:=Date;
dbedtWweight.DataSource.DataSet.FieldByName('MaoZhongSJ').AsDateTime:=Time;
dbedtFWeight.DataSource.DataSet.FieldByName('PiZhong').AsFloat:=adoTemp.FieldByName('MaoZhong').AsFloat; //皮重
dbedtFweight.DataSource.DataSet.FieldByName('PiZhongSJ').AsDateTime:=adoTemp.FieldByName('ShiJian').AsDateTime; //皮重
dbedtFweight.DataSource.DataSet.FieldByName('PiZhongRQ').AsDateTime:=adoTemp.FieldByName('RiQi').AsDateTime; //皮重
dbedtNweight.DataSource.DataSet.FieldByName('JingZhong').AsFloat:=sInt - adoTemp.FieldByName('MaoZhong').AsFloat; //净重
dbedtNweight.DataSource.DataSet.FieldByName('SibangYuan').AsString:=userNick;
dbedtNweight.DataSource.DataSet.FieldByName('JingZhongSJ').AsDateTime:=Time;
dbedtNweight.DataSource.DataSet.FieldByName('JingZhongRQ').AsDateTime:=Date;
end
else
//当前称重小于以前称重进行比较
if (sCode=0) and (sInt>0.0000) and (sInt<=adoTemp.FieldByName('MaoZhong').AsFloat) then
begin
dbcCPH.DataSource.DataSet.FieldByName('ChePai').asString:=adoTemp.FieldByName('ChePai').AsString;
dbcCPHN.DataSource.DataSet.FieldByName('ChePaiN').asString:=adoTemp.FieldByName('ChePaiN').AsString;
dbcHPMC.DataSource.DataSet.FieldByName('HuoPin').asString:=adoTemp.FieldByName('HuoPin').AsString;
dbcFHDW.DataSource.DataSet.FieldByName('FaHuoDW').asString:=adoTemp.FieldByName('FaHuoDW').AsString;
dbcSHDW.DataSource.DataSet.FieldByName('ShouHuoDW').asString:=adoTemp.FieldByName('ShouHuoDW').AsString;
dbedtWweight.DataSource.DataSet.FieldByName('MaoZhong').AsFloat:=adoTemp.FieldByName('MaoZhong').AsFloat;
dbedtWweight.DataSource.DataSet.FieldByName('MaoZhongSJ').AsDateTime:=adoTemp.FieldByName('ShiJian').AsDateTime;
dbedtWweight.DataSource.DataSet.FieldByName('MaoZhongRQ').AsDateTime:=adoTemp.FieldByName('RiQi').AsDateTime;
dbedtFWeight.DataSource.DataSet.FieldByName('PiZhong').AsFloat:=sInt;
dbedtFweight.DataSource.DataSet.FieldByName('PiZhongSJ').AsDateTime:=Time;
dbedtFweight.DataSource.DataSet.FieldByName('PiZhongRQ').AsDateTime:=Date; //皮重
dbedtNweight.DataSource.DataSet.FieldByName('JingZhong').AsFloat:=adoTemp.FieldByName('MaoZhong').AsFloat-sInt; //净重
dbedtNweight.DataSource.DataSet.FieldByName('JingZhongSJ').AsDateTime:=Time;
dbedtNweight.DataSource.DataSet.FieldByName('JingZhongRQ').AsDateTime:=Date;
dbedtNweight.DataSource.DataSet.FieldByName('SibangYuan').AsString:=userNick;
end;
end;
end;
end
//若在历史中查不到该项
else
begin
if (sCode=0) and (sInt>0.0000) then
begin
dbedtWweight.DataSource.DataSet.FieldByName('MaoZhong').AsFloat:=0.000; //毛重
dbedtFWeight.DataSource.DataSet.FieldByName('PiZhong').AsFloat:=sInt; //皮重
dbedtWweight.DataSource.DataSet.FieldByName('JingZhong').AsFloat:=0.000;//净重
dbedtNweight.DataSource.DataSet.FieldByName('SibangYuan').AsString:=userNick;
end;
end;
except
MessageBox(handle,'操作数据库发生异常,请重试!',pChar(ClientUSN),MB_OK+MB_ICONERROR);
end;
end;
procedure TfrmMain.dbcCPHNChange(Sender: TObject);
begin
getTmpTBInfo;
end;
procedure TfrmMain.dbcCPHChange(Sender: TObject);
begin
getTmpTBInfo;
end;
procedure TfrmMain.BitBtn2Click(Sender: TObject);
begin
try
if (AdoTable1.Active) and (adoTable1.RecordCount>0) then
begin
if MessageBox(handle,'确定要删除当前记录吗?(不可恢复)',pChar(ClientUSN),MB_OKCANCEL+MB_ICONINFORMATION)=ID_OK then
begin
adoTable1.Delete;
adoTable1.Refresh;
end;
end;
except
end;
end;
procedure TfrmMain.BitBtn3Click(Sender: TObject);
begin
try
if adoTable1.Active then
begin
adotable1.Edit;
end;
except
end;
end;
procedure TfrmMain.BitBtn4Click(Sender: TObject);
begin
try
if adotable1.Active then
begin
adotable1.Cancel;
adotable1.Refresh;
end;
except
end;
end;
procedure TfrmMain.BitBtn5Click(Sender: TObject);
begin
try
if adotable1.Active then
begin
if (Trim(adotable1.FieldByName('ChePai').AsString)='') and (Trim(adotable1.FieldByName('ChePaiN').AsString)='') and (Trim(adotable1.FieldByName('HuoPin').AsString)='') and (Trim(adotable1.FieldByName('HuoPin').AsString)='') and (Trim(adotable1.FieldByName('FaHuoDW').AsString)='') and (Trim(adotable1.FieldByName('ShouHuoDW').AsString)='') then
begin
Messagebox(handle,'数据没有填写就提交?这样是不安全的!',pChar(ClientUSN),MB_OK+MB_ICONERROR);
exit
end
else
begin
adotable1.Edit;
adotable1.Post;
if MessageBox(handle,'数据保存成功,现在就打印磅单吗?',pChar(ClientUSN),MB_OKCancel+MB_ICONINFORMATION)=ID_OK then
begin
RvProject1.Execute;
end;
end;
end;
except
end;
end;
procedure TfrmMain.N13Click(Sender: TObject);
begin
if Not assigned(frmCarHistory) then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -