?? bustradejleditunit.~pas
字號:
ADOQuery1.Cancel;
end;
procedure TBusTradeJLEditFrm.BitBtn7Click(Sender: TObject);
begin
close;
end;
procedure TBusTradeJLEditFrm.Edit01Change(Sender: TObject);
begin
BitBtn1.Enabled:=false;
BitBtn2.Enabled:=false;
BitBtn3.Enabled:=false;
BitBtn4.Enabled:=false;
BitBtn5.Enabled:=false;
BitBtn6.Enabled:=false;
Panel8.Enabled:=false;
Panel9.Enabled:=false;
end;
procedure TBusTradeJLEditFrm.FormCreate(Sender: TObject);
begin
if(edit01.Text='')or(combobox2.Text='')then
exit;
DBEdit17.OnExit:=DealDBEditExit;
DBEdit37.OnExit:=DealDBEditExit;
DBEdit18.OnExit:=DealDBEditExit;
DBEdit20.OnExit:=DealDBEditExit;
DBEdit27.OnExit:=DealDBEditExit;
DBEdit28.OnExit:=DealDBEditExit;
DBEdit29.OnExit:=DealDBEditExit;
DBEdit33.OnExit:=DealDBEditExit;
DBEdit49.OnExit:=DealDBEditExit;
DBEdit48.OnExit:=DealDBEditExit;
end;
procedure TBusTradeJLEditFrm.ADOQuery1AfterInsert(DataSet: TDataSet);
begin
ADOQuery1.FieldByName('統計年份').AsString:=ComboBox2.Text;
ADOQuery1.FieldByName('城市代碼').AsString:=Edit01.Text;
end;
procedure TBusTradeJLEditFrm.ADOQuery1BeforePost(DataSet: TDataSet);
var i:integer;
begin
for i:=0 to ADOQuery1.FieldCount-1 do
begin
if(trim(ADOQuery1.Fields[i].AsString)='')then
ADOQuery1.Fields[i].AsString:='0';
end;
end;
function TBusTradeJLEditFrm.AddPrnQuery:boolean;
var sqlstr:string;
begin
if(not CheckYear)then
begin
AddPrnQuery:=false;
exit;
end;
sqlstr:='select * from 公交行業城市交流指標表_z where 統計年份='+ComboBox2.text+
' and 城市代碼='+''''+Edit01.text+''''+' order by 指標代碼';
ADOQPrintYear.Close;
ADOQPrintYear.SQL.Clear;
ADOQPrintYear.SQL.Add(sqlstr);
try
ADOQPrintYear.Open;
AddPrnQuery:=true;
except
AddPrnQuery:=false;
end;
end;
function TBusTradeJLEditFrm.CheckYear:boolean;
var
YearValue:integer;
begin
try
YearValue:=StrToInt(ComboBox2.Text);
except
ShowMessage('年份不是數值!');
CheckYear:=false;
exit;
end;
if((YearValue<1990) or (YearValue>2030))then
begin
ShowMessage('輸入年份不對!');
CheckYear:=false;
exit;
end;
CheckYear:=true;
end;
procedure TBusTradeJLEditFrm.OpenAllPage();
var sqlstr:string;
begin
sqlstr:='select * from 公交行業城市交流指標表 where 城市代碼='+''''+Edit01.Text+''''+
' and 統計年份='+combobox2.text;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sqlstr);
ADOQuery1.Open;
end;
function TBusTradeJLEditFrm.IsEmptyRep():boolean;
begin
if(ADOQuery1.RecordCount<=0) and (ADOQPrintYear.RecordCount<=0)then
begin
IsEmptyRep:=true;
exit;
end;
IsEmptyRep:=false;
end;
procedure TBusTradeJLEditFrm.ButtonEnable(curButton:TButton);
begin
if(curButton=nil)then
begin
BitBtn1.Enabled:=True;
BitBtn2.Enabled:=True;
BitBtn3.Enabled:=True;
BitBtn4.Enabled:=false;
BitBtn5.Enabled:=false;
BitBtn7.Enabled:=true;
Panel8.Enabled:=false;
Panel9.Enabled:=false;
DBMemo1.Enabled:=false;
exit;
end;
if((curButton.Name='BitBtn1') or (curButton.Name='BitBtn2'))then
begin
BitBtn1.Enabled:=False;
BitBtn2.Enabled:=False;
BitBtn3.Enabled:=False;
BitBtn7.Enabled:=false;
BitBtn6.Enabled:=false;
BitBtn4.Enabled:=True;
BitBtn5.Enabled:=True;
Panel8.Enabled:=true;
Panel9.Enabled:=true;
DBMemo1.Enabled:=true;
end;
if((curButton.Name='BitBtn4') or (curButton.Name='BitBtn5'))then
begin
BitBtn1.Enabled:=True;
BitBtn2.Enabled:=True;
BitBtn7.Enabled:=True;
BitBtn3.Enabled:=True;
BitBtn4.Enabled:=False;
BitBtn5.Enabled:=False;
Panel8.Enabled:=false;
Panel9.Enabled:=false;
DBMemo1.Enabled:=false;
end;
IF(curButton.Name='BitBtn3')Then
begin
BitBtn1.Enabled:=true;
BitBtn2.Enabled:=true;
BitBtn4.Enabled:=false;
BitBtn5.Enabled:=false;
Panel8.Enabled:=false;
Panel9.Enabled:=false;
DBMemo1.Enabled:=false;
end;
end;
procedure TBusTradeJLEditFrm.DealDBEditExit(Sender: TObject);
var num,num1,num2,num3,num4,num5:single;
begin
if(Sender=DBEdit17)or (Sender=DBEdit37) then
begin
num1:=ADOQuery1.FieldByName(DBEdit17.DataField).Asfloat;
num2:=ADOQuery1.FieldByName(DBEdit37.DataField).Asfloat;
num:=num1+num2;
ADOQuery1.FieldByName(DBEdit16.DataField).AsString:=Converter(floattostr(num));
end;
if(Sender=DBEdit18)or (Sender=DBEdit20) then
begin
num1:=ADOQuery1.FieldByName(DBEdit18.DataField).Asfloat;
num2:=ADOQuery1.FieldByName(DBEdit20.DataField).Asfloat;
num:=num1+num2;
ADOQuery1.FieldByName(DBEdit40.DataField).AsString:=Converter(floattostr(num));
end;
if(Sender=DBEdit27)or (Sender=DBEdit28) or (Sender=DBEdit29) then
begin
num1:=ADOQuery1.FieldByName(DBEdit27.DataField).Asfloat;
num2:=ADOQuery1.FieldByName(DBEdit28.DataField).Asfloat;
num3:=ADOQuery1.FieldByName(DBEdit29.DataField).Asfloat;
num:=num1+num2+num3;
ADOQuery1.FieldByName(DBEdit26.DataField).AsString:=Converter(floattostr(num));
end;
if(Sender=DBEdit33)or (Sender=DBEdit49) or (Sender=DBEdit48) then
begin
num1:=ADOQuery1.FieldByName(DBEdit33.DataField).Asfloat;
num2:=ADOQuery1.FieldByName(DBEdit49.DataField).Asfloat;
num3:=ADOQuery1.FieldByName(DBEdit48.DataField).Asfloat;
num:=num1+num2+num3;
ADOQuery1.FieldByName(DBEdit32.DataField).AsString:=Converter(floattostr(num));
end;
end;
procedure TBusTradeJLEditFrm.FillDataToZTable(SrcTable:TADOQuery;DesTable:TADOQuery);
var
i:integer;
begin
DesTable.Close;
DesTable.Open;
for i:=0 to SrcTable.FieldCount-1 do
begin
if (SrcTable.Fields[i].FieldName<>'統計年份') and
(SrcTable.Fields[i].FieldName<>'城市代碼') and
(SrcTable.Fields[i].FieldName<>'備注') and
(SrcTable.Fields[i].FieldName<>'填報日期')
then
begin
if(DesTable.Locate('統計年份;城市代碼;指標代碼',
VarArrayOf([StrToInt(ComboBox2.Text),
trim(Edit01.text),SrcTable.Fields[i].FieldName]),[]))then
DesTable.Edit else
DesTable.Append;
DesTable.FieldByName('本年實際').Value:=SrcTable.Fields[i].Value;
DesTable.FieldByName('統計年份').AsInteger:=StrToInt(ComboBox2.Text);
DesTable.FieldByName('城市代碼').AsString:=trim(Edit01.text);
DesTable.FieldByName('指標代碼').AsString:=SrcTable.Fields[i].FieldName;
DesTable.Post;
end;
end;
end;
function TBusTradeJLEditFrm.CheckBalance():boolean;
var WrongMessage:string;
begin
WrongMessage:='';
if((ADOQuery1.FieldByName(DBEdit2.DataField).AsFloat)<=
(ADOQuery1.FieldByName(DBEdit3.DataField).AsFloat))
then
WrongMessage:=WrongMessage+' JG02>JG03';
if((ADOQuery1.FieldByName(DBEdit5.DataField).AsFloat)<=
(ADOQuery1.FieldByName(DBEdit6.DataField).AsFloat))
then
WrongMessage:=WrongMessage+' JG05>JG06';
{ if((ADOQuery1.FieldByName(DBEdit17.DataField).AsFloat)<
(ADOQuery1.FieldByName(DBEdit34.DataField).AsFloat)+
(ADOQuery1.FieldByName(DBEdit35.DataField).AsFloat)+
(ADOQuery1.FieldByName(DBEdit36.DataField).AsFloat))
then
WrongMessage:=WrongMessage+' JS07>=JS08+JS09+JS10';}
if(WrongMessage<>'')then
begin
showmessage('對不起,不滿足'+WrongMessage+'指標之間的關系!');
CheckBalance:=true;
end else
CheckBalance:=false;
end;
procedure TBusTradeJLEditFrm.BitBtn6Click(Sender: TObject);
var iRow,iCol,iRecNum,i:integer;
begin
if(ADOQPrintYear.Active=false)then
begin
if(not AddPrnQuery)then
begin
exit;
end;
end;
if DeviceDetect=0 then
begin
exit;
end;
if(PrnInfoFrm.ShowModal<>mrOK)then
begin
exit;
end;
PrintInit(ExtractFilePath(Application.ExeName),'CityComm');
iRow := 1 ;
iRecNum := 1 ;
ADOQPrintYear.First;
for i:=4 to 28 do
begin
WriteCell(i,4,Converter(ADOQPrintYear.FieldByName('本年實際').AsString));
ADOQPrintYear.Next;
end;
for i:=4 to 27 do
begin
WriteCell(i,8,Converter(ADOQPrintYear.FieldByName('本年實際').AsString));
ADOQPrintYear.Next;
end;
WriteCell(2,1,'城市代碼:' + Edit01.Text);
WriteCell(2,2,ComboBox2.Text+' 年' );
WriteCell(29,1,'統計負責人:' + PrnInfoFrm.StatMainPerson);
WriteCell(29,4,'統計人員:' + PrnInfoFrm.StatPerson);
WriteCell(29,6,'填報日期:' + DateToStr(PrnInfoFrm.StatDate));
PrintExcelShow;
PrintPreview;
CloseActiveBook;
end;
procedure TBusTradeJLEditFrm.FormShow(Sender: TObject);
begin
OpenExcelApp;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -