?? bustrademoneditunit.~pas
字號:
DBEdit77.OnExit:=DealDBEditExit;
//------------------------------
DBEdit80.OnExit:=DealDBEditExit;
DBEdit81.OnExit:=DealDBEditExit;
DBEdit82.OnExit:=DealDBEditExit;
DBEdit83.OnExit:=DealDBEditExit;
end;
procedure TBusTradeMonEditFrm.DealDBEditExit(Sender: TObject);
var num1,num2,num3,num4,num:single;
begin
if(edit9.Text='')or(combobox1.Text='')or(combobox2.Text='')then
exit;
if((Sender=DBEdit3) or (Sender=DBEdit4) or (Sender=DBEdit5))then
begin
DealProc1(DBEdit2.DataField,DBEdit3.DataField,DBEdit4.DataField,'+');
DealProc1(DBEdit2.DataField,DBEdit2.DataField,DBEdit5.DataField,'+');
DealProc1(DBEdit1.DataField,DBEdit2.DataField,DBEdit6.DataField,'+');
end;
//----------------------------------------
if((Sender=DBEdit7) or (Sender=DBEdit8) or (Sender=DBEdit9))then
begin
DealProc1(DBEdit6.DataField,DBEdit7.DataField,DBEdit8.DataField,'+');
DealProc1(DBEdit6.DataField,DBEdit6.DataField,DBEdit9.DataField,'+');
DealProc1(DBEdit1.DataField,DBEdit2.DataField,DBEdit6.DataField,'+');
end;
//----------------------------------------
if((Sender=DBEdit12) or (Sender=DBEdit13))then
begin
DealProc1(DBEdit11.DataField,DBEdit12.DataField,DBEdit13.DataField,'+');
DealProc1(DBEdit10.DataField,DBEdit11.DataField,DBEdit15.DataField,'+');
end;
//----------------------------------------
if((Sender=DBEdit16) or (Sender=DBEdit17))then
begin
DealProc1(DBEdit15.DataField,DBEdit16.DataField,DBEdit17.DataField,'+');
DealProc1(DBEdit10.DataField,DBEdit11.DataField,DBEdit15.DataField,'+');
end;
//----------------------------------------
if((Sender=DBEdit21) or (Sender=DBEdit22)or (Sender=DBEdit24)or (Sender=DBEdit25))then
begin
DealProc1(DBEdit20.DataField,DBEdit21.DataField,DBEdit22.DataField,'+');
DealProc1(DBEdit23.DataField,DBEdit24.DataField,DBEdit25.DataField,'+');
DealProc1(DBEdit19.DataField,DBEdit20.DataField,DBEdit23.DataField,'+');
end;
//----------------------------------------
if((Sender=DBEdit29) or (Sender=DBEdit30) or(Sender=DBEdit31)or(Sender=DBEdit32) or (Sender=DBEdit33))then
begin
DealProc1(DBEdit28.DataField,DBEdit29.DataField,DBEdit30.DataField,'+');
DealProc1(DBEdit27.DataField,DBEdit28.DataField,DBEdit31.DataField,'+');
DealProc1(DBEdit27.DataField,DBEdit27.DataField,DBEdit32.DataField,'+');
DealProc1(DBEdit27.DataField,DBEdit27.DataField,DBEdit33.DataField,'+');
DealProc1(DBEdit26.DataField,DBEdit27.DataField,DBEdit34.DataField,'+');
end;
//----------------------------------------
if((Sender=DBEdit36) or (Sender=DBEdit37) or(Sender=DBEdit38)or(Sender=DBEdit39) or (Sender=DBEdit40))then
begin
DealProc1(DBEdit35.DataField,DBEdit36.DataField,DBEdit37.DataField,'+');
DealProc1(DBEdit34.DataField,DBEdit35.DataField,DBEdit38.DataField,'+');
DealProc1(DBEdit34.DataField,DBEdit34.DataField,DBEdit39.DataField,'+');
DealProc1(DBEdit34.DataField,DBEdit34.DataField,DBEdit40.DataField,'+');
DealProc1(DBEdit26.DataField,DBEdit27.DataField,DBEdit34.DataField,'+');
end;
//----------------------------------------
if((Sender=DBEdit44) or (Sender=DBEdit45) or(Sender=DBEdit46)or(Sender=DBEdit47))then
begin
DealProc1(DBEdit43.DataField,DBEdit44.DataField,DBEdit45.DataField,'+');
DealProc1(DBEdit42.DataField,DBEdit43.DataField,DBEdit46.DataField,'+');
DealProc1(DBEdit42.DataField,DBEdit42.DataField,DBEdit47.DataField,'+');
DealProc1(DBEdit41.DataField,DBEdit42.DataField,DBEdit48.DataField,'+');
end;
//----------------------------------------
if((Sender=DBEdit50) or (Sender=DBEdit51) or(Sender=DBEdit52)or(Sender=DBEdit53))then
begin
DealProc1(DBEdit49.DataField,DBEdit50.DataField,DBEdit51.DataField,'+');
DealProc1(DBEdit48.DataField,DBEdit49.DataField,DBEdit52.DataField,'+');
DealProc1(DBEdit48.DataField,DBEdit48.DataField,DBEdit53.DataField,'+');
DealProc1(DBEdit41.DataField,DBEdit42.DataField,DBEdit48.DataField,'+');
end;
//----------------------------------------
if((Sender=DBEdit56) or (Sender=DBEdit57) or(Sender=DBEdit58) or (Sender=DBEdit77))then
begin
DealProc1(DBEdit55.DataField,DBEdit56.DataField,DBEdit57.DataField,'+');
DealProc1(DBEdit55.DataField,DBEdit55.DataField,DBEdit58.DataField,'+');
DealProc1(DBEdit54.DataField,DBEdit55.DataField,DBEdit59.DataField,'+');
if(BusADOQuery.FieldByName(DBEdit54.DataField).Asfloat=0)or (BusADOQuery.FieldByName(DBEdit77.DataField).Asfloat=0)then
BusADOQuery.FieldByName(DBEdit78.DataField).AsString:='0'
else
begin
num:=BusADOQuery.FieldByName(DBEdit54.DataField).AsFloat/BusADOQuery.FieldByName(DBEdit77.DataField).AsFloat*100;
BusADOQuery.FieldByName(DBEdit78.DataField).AsString:=ConverterPercent(floattostr(num));
end;
end;
//----------------------------------------
if((Sender=DBEdit60) or (Sender=DBEdit61) or(Sender=DBEdit62))then
begin
DealProc1(DBEdit59.DataField,DBEdit60.DataField,DBEdit61.DataField,'+');
DealProc1(DBEdit59.DataField,DBEdit59.DataField,DBEdit62.DataField,'+');
DealProc1(DBEdit54.DataField,DBEdit55.DataField,DBEdit59.DataField,'+');
if(BusADOQuery.FieldByName(DBEdit54.DataField).Asfloat=0)or (BusADOQuery.FieldByName(DBEdit77.DataField).Asfloat=0)then
BusADOQuery.FieldByName(DBEdit78.DataField).AsString:='0'
else
begin
num:=BusADOQuery.FieldByName(DBEdit54.DataField).AsFloat/BusADOQuery.FieldByName(DBEdit77.DataField).AsFloat;
BusADOQuery.FieldByName(DBEdit78.DataField).AsString:=ConverterPercent(floattostr(num));
end;
end;
//----------------------------------------
if((Sender=DBEdit65) or (Sender=DBEdit66))then
begin
if(BusADOQuery.FieldByName(DBEdit65.DataField).Asfloat=0)or (BusADOQuery.FieldByName(DBEdit66.DataField).Asfloat=0)then
BusADOQuery.FieldByName(DBEdit64.DataField).AsString:='0'
else
begin
num:=BusADOQuery.FieldByName(DBEdit65.DataField).AsFloat/BusADOQuery.FieldByName(DBEdit66.DataField).AsFloat*10000;
BusADOQuery.FieldByName(DBEdit64.DataField).AsString:=ConverterPercent(floattostr(num));
end;
end;
//----------------------------------------
if((Sender=DBEdit68) or (Sender=DBEdit69))then
begin
if(BusADOQuery.FieldByName(DBEdit68.DataField).Asfloat=0)or (BusADOQuery.FieldByName(DBEdit69.DataField).Asfloat=0)then
BusADOQuery.FieldByName(DBEdit67.DataField).AsString:='0'
else
begin
num:=BusADOQuery.FieldByName(DBEdit68.DataField).AsFloat/BusADOQuery.FieldByName(DBEdit69.DataField).AsFloat*100;
BusADOQuery.FieldByName(DBEdit67.DataField).AsString:=ConverterPercent(floattostr(num));
end;
end;
//----------------------------------------
if((Sender=DBEdit72) or (Sender=DBEdit73))then
begin
if(BusADOQuery.FieldByName(DBEdit72.DataField).Asfloat=0)or (BusADOQuery.FieldByName(DBEdit73.DataField).Asfloat=0)then
BusADOQuery.FieldByName(DBEdit71.DataField).AsString:='0'
else
begin
num:=BusADOQuery.FieldByName(DBEdit72.DataField).AsFloat/BusADOQuery.FieldByName(DBEdit73.DataField).AsFloat*100;
BusADOQuery.FieldByName(DBEdit71.DataField).AsString:=ConverterPercent(floattostr(num));
end;
end;
//---------------------------------------
if((Sender=DBEdit75) or (Sender=DBEdit76))then
begin
if(BusADOQuery.FieldByName(DBEdit75.DataField).Asfloat=0)or (BusADOQuery.FieldByName(DBEdit76.DataField).Asfloat=0)then
BusADOQuery.FieldByName(DBEdit74.DataField).AsString:='0'
else
begin
num:=BusADOQuery.FieldByName(DBEdit75.DataField).AsFloat/BusADOQuery.FieldByName(DBEdit76.DataField).AsFloat*100;
BusADOQuery.FieldByName(DBEdit74.DataField).AsString:=ConverterPercent(floattostr(num));
end;
end;
//-------------------------------------
if(Sender=DBEdit77)then
begin
if(BusADOQuery.FieldByName(DBEdit54.DataField).Asfloat=0)or (BusADOQuery.FieldByName(DBEdit77.DataField).Asfloat=0)then
BusADOQuery.FieldByName(DBEdit78.DataField).AsString:='0'
else
begin
num:=BusADOQuery.FieldByName(DBEdit54.DataField).AsFloat/BusADOQuery.FieldByName(DBEdit77.DataField).AsFloat;
BusADOQuery.FieldByName(DBEdit78.DataField).AsString:=ConverterPercent(floattostr(num));
end;
end;
//-------------------------------------
if((Sender=DBEdit80) or (Sender=DBEdit81) or(Sender=DBEdit82)or(Sender=DBEdit83))then
begin
DealProc1(DBEdit79.DataField,DBEdit80.DataField,DBEdit81.DataField,'+');
DealProc1(DBEdit79.DataField,DBEdit79.DataField,DBEdit82.DataField,'+');
DealProc1(DBEdit79.DataField,DBEdit79.DataField,DBEdit83.DataField,'+');
end;
end;
procedure TBusTradeMonEditFrm.DealProc1(ResultValue:string;Oper1Value:string;Oper2Value:string;curSigh:string);
var
Oper1,Oper2,curResult:single;
curPos:integer;
begin
LookUpZB(Oper1,Oper1Value,curPos);
LookUpZB(Oper2,Oper2Value,curPos);
DealProc(curResult,Oper1,Oper2,curSigh);
BusAdoQuery.FieldByName(ResultValue).AsFloat:=curResult;
end;
procedure TBusTradeMonEditFrm.LookUpZB(var OperValue:single;OperName:string;var curPos:integer);
begin
OperValue:=BusADOQuery.FieldByName(OperName).asFloat;
end;
procedure TBusTradeMonEditFrm.DealProc(var ResultValue:single;Oper1Value:single;Oper2Value:single;curSigh:string);
begin
ResultValue:=strtofloat(Converter(floattostr(Oper1Value+Oper2Value)));
end;
procedure TBusTradeMonEditFrm.BitBtn6Click(Sender: TObject);
var sqlstr:string;
iRow,iCol,iRecNum,i:integer;
begin
sqlstr:='select 指標代碼, 測算值 from 公交行業(yè)統(tǒng)計月報_z where 城市代碼='+''''+Edit9.text+''''+
' and 統(tǒng)計年份='+combobox1.text+' and 統(tǒng)計月份='+combobox2.text+' order by 指標代碼';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sqlstr);
ADOQuery1.Open;
if(ADOQuery1.Active=false)then
begin
if(not AddPrnQuery)then
begin
exit;
end;
end;
if DeviceDetect=0 then
begin
exit;
end;
//AddPrn;
if(PrnInfoFrm.ShowModal<>mrOK)then
begin
exit;
end;
PrintInit(ExtractFilePath(Application.ExeName),'BusTradeMonEditTab');
ADOQuery1.First;
for iRecNum := 0 to ADOQuery1.RecordCount-1 do
begin
if (iRecNum>=0) and (iRecNum<=19) then
begin
iRow := iRecNum+8;
iCol := 4;
end
else if (iRecNum >= 20) and (iRecNum <= 39) then
begin
iCol:= 8;
iRow:= iRecNum - 20+8;
end;
if (iRecNum >= 40) and ( iRecNum <= 60)then
begin
iCol:= 4;
iRow:= iRecNum - 2;
end;
if (iRecNum >= 61) and (iRecNum <= 80)then
begin
iCol:= 8;
iRow:= iRecNum - 23;
end;
WriteCell(iRow,iCol,Converter(ADOQuery1.FieldByName('測算值').AsString));
ADOQuery1.Next;
end;
for i:=0 to 1 do
begin
WriteCell(4+i*30,1,'匯總單位:' + label7.caption);
WriteCell(3+i*30,3,ComboBox1.Text + ' 年 '+combobox2.Text+' 月 ' );
WriteCell(28+i*31,1,'統(tǒng)計負責人:' + PrnInfoFrm.StatMainPerson);
WriteCell(28+i*31,3,'統(tǒng)計人員:' + PrnInfoFrm.StatPerson);
WriteCell(28+i*31,6,'填報日期:' + DateToStr(PrnInfoFrm.StatDate));
end;
PrintExcelShow;
PrintPreview;
CloseActiveBook;
end;
function TBusTradeMonEditFrm.YearDataNul():BOOLEAN;
var sqlstr:string;
i:integer;
begin
sqlstr:='select 指標代碼,本月實際 from 公交行業(yè)統(tǒng)計月報_z where 城市代碼='+
''''+Edit9.text+''''+' and 統(tǒng)計年份='+combobox1.text+' and 統(tǒng)計月份='+combobox2.Text;
ADOQuery1.close;
ADOQuery1.sql.clear;
ADOQuery1.sql.add(sqlstr);
ADOQuery1.open;
ADOQuery1.first;
for i:=0 to ADOQuery1.recordcount-1 do
begin
YearDataNul:=false;
if(ADOQuery1.fieldbyname('本月實際').asstring<>'0')then
begin
YearDataNul:=true;
break;
end;
ADOQuery1.next;
end;
end;
procedure TBusTradeMonEditFrm.FormKeyPress(Sender: TObject;
var Key: Char);
begin
if(Key=char(13))then
begin
Key:=char(0);
SelectNext(self.ActiveControl,true,true);
end;
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -