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

📄 yonganmain.pas

📁 一个计算汽车保险费额的小软
💻 PAS
📖 第 1 页 / 共 2 页
字号:
        if YY<1 then S1:='JS1,FL1'
        else if YY<2 then S1:='JS12,FL12'
        else if YY<6 then S1:='JS26,FL26'
        else S1:='JS6U,FL6U';
        S2:='select '+S1+' from [CS$]'+WSTR;
        if GetDulValue(S2,VL1,VL2)
           then RzNumericEdit3.Value:=VL1+GCJ*VL2
           else Showmessage('错误!数据可能未定义。');
      end
   else RzNumericEdit3.Value:=0;
   //车上人员险
   if RzCheckBox3.Checked then
      begin
        S2:='select SJ,CK from [IC$]'+WSTR;
        if GetDulValue(S2,VL1,VL2) then
           begin
             RzNumericEdit10.Value:=RzNumericEdit4.Value*VL1;
             RzNumericEdit14.Value:=RzNumericEdit4.Value*VL2*RzSpinEdit1.IntValue;
             RzNumericEdit11.Value:=RzNumericEdit10.Value+RzNumericEdit14.Value;
           end
           else Showmessage('错误!数据可能未定义。');
      end
   else
      begin
        RzNumericEdit11.Value:=0;
        RzNumericEdit14.Value:=0;
        RzNumericEdit10.Value:=0;
      end;
   //盗抢险
   if RzCheckBox4.Checked then
      begin
        S2:='select JS,PL from [DQ$]'+WSTR;
        if GetDulValue(S2,VL1,VL2) then
           begin
              if (RzRadioGroup1.ItemIndex<>3) and (RzRadioGroup1.ItemIndex<>7)
                 and (RzRadioGroup1.ItemIndex<>8)
              then RzNumericEdit26.Value:=(1-0.009*MM)*GCJ
              else RzNumericEdit26.Value:=(1-0.006*MM)*GCJ;
              RzNumericEdit5.Value:=VL1+VL2*RzNumericEdit26.Value;
           end
           else Showmessage('错误!数据可能未定义。');
      end
   else RzNumericEdit5.Value:=0;
   //玻璃破损险
   if RzCheckBox5.Checked then
      begin
        if RzRadioGroup4.ItemIndex=0 then S1:='MC' else S1:='JK';
        S2:='select '+S1+' from [BL$] where typeid='+inttostr(RzRadioGroup1.ItemIndex)
           +' and sitid='+inttostr(RzRadioGroup5.ItemIndex);
        RzNumericEdit6.Value:=GetValue(S2)*GCJ;
      end
   else RzNumericEdit6.Value:=0;
   //车身划痕险
   if RzCheckBox6.Checked then
      begin
        if YY<2 then S1:='0' else S1:='1';
        S2:=' where typeid='+S1+' and BE='+RzComboBox2.Value;
        if GCJ<300000 then S1:='U3'
        else if GCJ<500000 then S1:='U35'
        else S1:='U5';

        S2:='select '+S1+' from [HH$]'+S2;
        RzNumericEdit15.Value:=GetValue(S2);
      end
   else RzNumericEdit15.Value:=0;
   //交强险
   if RzCheckBox7.Checked
      then RzNumericEdit8.Value:=1050
      else RzNumericEdit8.Value:=0;
   //不计免赔
   if RzCheckBox9.Checked then RzNumericEdit7.Value:=RzNumericEdit2.Value*0.15 else RzNumericEdit7.Value:=0;
   if RzCheckBox10.Checked then RzNumericEdit16.Value:=RzNumericEdit3.Value*0.15 else RzNumericEdit16.Value:=0;
   if RzCheckBox11.Checked then RzNumericEdit17.Value:=RzNumericEdit11.Value*0.15 else RzNumericEdit17.Value:=0;
   RzNumericEdit9.Value:=RzNumericEdit7.Value+RzNumericEdit16.Value+RzNumericEdit17.Value;
   //合计
   RzNumericEdit12.Value:=RzNumericEdit2.Value+RzNumericEdit3.Value+RzNumericEdit5.Value
                         +RzNumericEdit6.Value+RzNumericEdit15.Value+RzNumericEdit8.Value
                         +RzNumericEdit11.Value+RzNumericEdit9.Value;
   //折扣
   Dis:=strtofloat(RzComboBox1.Value);
   RzNumericEdit18.Value:=RzNumericEdit2.Value*Dis;
   RzNumericEdit19.Value:=RzNumericEdit3.Value*Dis;
   RzNumericEdit20.Value:=RzNumericEdit11.Value*Dis;
   RzNumericEdit21.Value:=RzNumericEdit5.Value*Dis;
   RzNumericEdit22.Value:=RzNumericEdit6.Value*Dis;
   RzNumericEdit23.Value:=RzNumericEdit15.Value*Dis;
   RzNumericEdit24.Value:=RzNumericEdit8.Value*Dis;
   RzNumericEdit25.Value:=RzNumericEdit9.Value*Dis;
   RzNumericEdit13.Value:=RzNumericEdit12.Value*Dis;
end;

procedure TMainForm.RzRadioGroup1Changing(Sender: TObject;
  NewIndex: Integer; var AllowChange: Boolean);
begin
   RzRadioGroup5.Items.Clear;
   case NewIndex of
     0:begin
         RzRadioGroup5.Items.Add('6座以下');
         RzRadioGroup5.Items.Add('6-10座');
         RzRadioGroup5.Items.Add('10座以上');
       end;      
     1,2:begin
         RzRadioGroup5.Items.Add('6座以下');
         RzRadioGroup5.Items.Add('6-10座');
         RzRadioGroup5.Items.Add('10-20座');
         RzRadioGroup5.Items.Add('20座以上');
       end;
     4,5,6:begin
         RzRadioGroup5.Items.Add('6座以下');
         RzRadioGroup5.Items.Add('6-10座');
         RzRadioGroup5.Items.Add('10-20座');
         RzRadioGroup5.Items.Add('20-36座');
         RzRadioGroup5.Items.Add('36座以上');
       end;
     3,7:begin
         RzRadioGroup5.Items.Add('2吨以下');
         RzRadioGroup5.Items.Add('2-5吨');
         RzRadioGroup5.Items.Add('5-10吨');
         RzRadioGroup5.Items.Add('10吨以上');
         RzRadioGroup5.Items.Add('低速载货车');
       end;
     8:begin
         RzRadioGroup5.Items.Add('特种车一');
         RzRadioGroup5.Items.Add('特种车二');
         RzRadioGroup5.Items.Add('特种车三');
         RzRadioGroup5.Items.Add('特种车四');
       end;
   end;

   RzRadioGroup5.ItemIndex:=0;
end;

procedure TMainForm.RzDateTimeEdit1Change(Sender: TObject);
var iYear1,iYear2,iMonth1,iMonth2,iDay:word;
begin
   DeCodeDate(now,iYear1,iMonth1,iDay);
   DeCodeDate(RzDateTimeEdit1.Date,iYear2,iMonth2,iDay);
   YY:=iYear1-iYear2;
   MM:=YY*12+(iMonth1-iMonth2);
end;

procedure TMainForm.RzBitBtn3Click(Sender: TObject);
begin
   CacuIC;
end;

procedure TMainForm.RzBitBtn4Click(Sender: TObject);
var S2,WSTR:string;
    VL1,VL2,Dis:Currency;

  function GetDulValue(SQ:string; var V1,V2:Currency):Boolean;
  begin
     PQ.Close;
     PQ.SQL.Clear;
     PQ.SQL.Add(SQ);
     PQ.Open;
     if not(PQ.IsEmpty) then
       begin
          result:=true;
          V1:=PQ.Fields[0].AsCurrency;
          V2:=PQ.Fields[1].AsCurrency;
       end
     else result:=false;
     PQ.Close;
  end;
begin
   //盗抢险
   if RzCheckBox4.Checked then
      begin
        S2:='select JS,PL from [DQ$] where (typeid='+inttostr(RzRadioGroup1.ItemIndex)+') and (sitid='
            +inttostr(RzRadioGroup5.ItemIndex)+')';
        if GetDulValue(S2,VL1,VL2)
           then RzNumericEdit5.Value:=VL1+VL2*RzNumericEdit26.Value
           else Showmessage('错误!数据可能未定义。');
      end
   else RzNumericEdit5.Value:=0;
   //合计
   RzNumericEdit12.Value:=RzNumericEdit2.Value+RzNumericEdit3.Value+RzNumericEdit5.Value
                         +RzNumericEdit6.Value+RzNumericEdit15.Value+RzNumericEdit8.Value
                         +RzNumericEdit11.Value+RzNumericEdit9.Value;
   Dis:=strtofloat(RzComboBox1.Value);
   RzNumericEdit21.Value:=RzNumericEdit5.Value*Dis;
   RzNumericEdit13.Value:=RzNumericEdit12.Value*Dis;
end;

procedure TMainForm.RzBitBtn5Click(Sender: TObject);
begin
   //MainForm.Print;

   {Printer.BeginDoc;
  MainForm.PaintTo(printer.Handle,10,100);
  printer.EndDoc;  }

   QRLabel1.Caption:='汽车车型:'+RzRadioGroup1.Items.Text+'  车牌号码:'+RzEdit1.Text;
   QRLabel2.Caption:='三责保额:'+RzRadioGroup3.Items.Text;
   QRLabel3.Caption:='座(吨)位:'+RzRadioGroup5.Items.Text;
   QRLabel4.Caption:='玻璃类型:'+RzRadioGroup4.Items.Text;
   QRLabel5.Caption:='初登日期:'+formatdatetime('yyyy-mm-dd',RzDateTimeEdit1.Date);
   QRLabel6.Caption:='购车价格:'+RzNumericEdit1.Text;
   QRLabel7.Caption:='优惠折扣:'+RzComboBox1.Text;
   QRLabel8.Caption:='三责保费:'+RzNumericEdit2.Text+'  折后:'+RzNumericEdit18.Text+'  免赔:'+RzNumericEdit7.Text;
   QRLabel9.Caption:='车辆损失保费:'+RzNumericEdit3.Text+'  折后:'+RzNumericEdit19.Text+'  免赔:'+RzNumericEdit16.Text;
   QRLabel10.Caption:='车上人员保额:'+RzNumericEdit4.Text+'  座位:'+RzSpinEdit1.Text+'  司机:'+RzNumericEdit10.Text;
   QRLabel11.Caption:='    乘客:'+RzNumericEdit14.Text+'  合计:'+RzNumericEdit11.Text+'  免赔:'+RzNumericEdit17.Text;
   QRLabel12.Caption:='盗抢投保金额:'+RzNumericEdit26.Text+'  保费:'+RzNumericEdit5.Text+'  折后:'+RzNumericEdit21.Text;
   QRLabel13.Caption:='玻璃破损保费:'+RzNumericEdit6.Text+'  折后:'+RzNumericEdit22.Text;
   QRLabel14.Caption:='车身划痕保额:'+RzComboBox2.Value+'  保费:'+RzNumericEdit15.Text+'  折后:'+RzNumericEdit23.Text;
   QRLabel15.Caption:='交通强制保险:'+RzNumericEdit8.Text+'  折后:'+RzNumericEdit24.Text;
   QRLabel16.Caption:='不计免赔保费:'+RzNumericEdit9.Text+'  折后:'+RzNumericEdit25.Text;
   QRLabel17.Caption:='全部金额合计:'+RzNumericEdit12.Text+'  折后:'+RzNumericEdit13.Text;
   QRLabel18.Caption:='*备注:以上保费为0的表示为该险种没有投保';
   //QRLabel19.Caption:='HUA.15817736653';                         
   QRLabel19.Caption:='';
   QRLabel20.Caption:='东莞市永安财产保险有限公司';
   QRLabel21.Caption:='车牌号码:'+RzEdit1.Text;
   QuickRep1.Preview;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -