⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bustradejleditunit.~pas

📁 公交行业的管理系统
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
       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 + -