home *** CD-ROM | disk | FTP | other *** search
/ Chip: 25 Years Anniversary / CHIP_25Jahre_Jubilaeum.iso / downloads / 400616 / data1.cab / _lohnauskunft-Formulare-Standard / stklwahl.lsf < prev    next >
Text File  |  2003-04-01  |  17KB  |  431 lines

  1. Include "DruckNT.int"
  2. Include "Lak_NT.int"
  3.  
  4. 'Descriptions
  5. description Form_Description as "Steuerklassenwahl"
  6. description Form_Code as "Steuerklassenwahl"
  7. description Page_Orientation as PAGE_PORTRAIT
  8.  
  9. Dim NumTmp as Numeric
  10.  
  11. 'Funktion, um die Kopfzeile zu schreiben
  12. Function OnPrintHeader()
  13.  
  14.             SetFont("Arial",14,FONT_BOLD,COLOR_BLACK)
  15.             SetTabs("L30 ")
  16.             TL("\tSteuerklassenwahl " + StrInt("H",1) )            
  17.             NumTmp=GetPosY()+30
  18.             DrawLineExt(0,NumTmp,1800,NumTmp)
  19.  
  20. End Function
  21.  
  22.  
  23. 'Funktion, um die Fu▀zeile zu schreiben
  24. Function OnPrintFooter()
  25.             
  26.             DrawLineExt(0,0,GetAreaWidth(),0)
  27.             SetPos(0,GetPosY()+20)
  28.             SetFont("Arial",8,FONT_NORMAL,COLOR_BLACK)
  29.             SetTabs("L10 R-10")
  30.             TL("\tLexware lohnauskunft  " +GetProgramVersion()+"\t" +FormatDate("%d.%m.%Y",Now()))
  31.             RemoveAllTabs()
  32.             
  33. End Function
  34.  
  35.  
  36. Dim AufteilbFreibetrag as Numeric
  37.  
  38. AufteilbFreibetrag=GetNumeric("H",21)
  39.  
  40. If AufteilbFreibetrag=0 Then
  41.     'Hauptteil
  42.     SetHeaderMargin(150,200,150,150)
  43.     SetBodyMargin(150,600,150,350)
  44.     SetFooterMargin(150,250,150,150)
  45.     
  46.     SetEventHandler(EVENT_PRINT_HEADER,OnPrintHeader)
  47.     SetEventHandler(EVENT_PRINT_FOOTER,OnPrintFooter)
  48.     
  49.     SetPen(3,PEN_SOLID,COLOR_BLACK)
  50.     DrawLineExt(0,0,1800,0)
  51.     DrawLineExt(0,0,0,1730)
  52.     DrawLineExt(1800,0,1800,1730)
  53.     
  54.     SetPen(0,PEN_SOLID,COLOR_BLACK)
  55.     SetFont("Arial",12,FONT_BOLD,COLOR_BLACK)
  56.     LF
  57.     SetTabs("L30")
  58.     TL("\tAllgemeine Angaben")
  59.     NumTmp=GetPosY()+30
  60.     DrawLineExt(0,NumTmp,1800,NumTmp)
  61.     LF
  62.     SetFont("Arial",10,FONT_NORMAL,COLOR_BLACK)
  63.     RemoveAllTabs()
  64.     SetTabs("L30 L500")
  65.     LF
  66.     TL("\tAbrechnungsjahr\t"+StrInt("H",1))
  67.     LF
  68.     TL("\tBerechnungszeitraum\t"+StrStr("H",2))
  69.     LF
  70.     TL("\tKinderfreibetrag\t"+StrKfb("H",3))
  71.     LF
  72.     TL("\tSolidaritΣtszuschlag\t"+StrStr("H",20))
  73.     LF
  74.     LF
  75.     LF
  76.     LF
  77.     RemoveAllTabs()
  78.     SetFont("Arial",12,FONT_BOLD,COLOR_BLACK)
  79.     SetTabs("L30 R900 R1400")
  80.     T("\tBerechnungsdaten")
  81.     SetFont("Arial",10,FONT_BOLD,COLOR_BLACK)
  82.     SetPos(GetPosX(),GetPosY()+5)
  83.     TL("\tSteuerpflichtiger 1\tSteuerpflichtiger 2")
  84.     NumTmp=GetPosY()+30
  85.     DrawLineExt(0,NumTmp,1800,NumTmp)
  86.     SetFont("Arial",10,FONT_NORMAL,COLOR_BLACK)
  87.     RemoveAllTabs()
  88.     SetTabs("L30 R900 R1400")
  89.     LF
  90.     LF
  91.     
  92.     TL("\tJeweiliges Einkommen\t"+StrAmt("H",4)+" "+StrStr("H",104)+"\t"+StrAmt("H",5)+" "+StrStr("H",105))
  93.     LF
  94.     TL("\tJΣhrlicher Freibetrag\t"+StrAmt("H",8)+" "+StrStr("H",108)+"\t"+StrAmt("H",9)+" "+StrStr("H",109))
  95.     LF
  96.     TL("\tAngewandte Tabelle\t"+StrStr("H",6)+"\t"+StrStr("H",7))
  97.     LF
  98.     LF
  99.     LF
  100.     LF
  101.     SetFont("Arial",12,FONT_BOLD,COLOR_BLACK)
  102.     RemoveAllTabs()
  103.     SetTabs("L30 R900 R1400 R-30")
  104.     T("\tSteuerbelastung")
  105.      SetFont("Arial",10,FONT_BOLD,COLOR_BLACK)
  106.     SetPos(GetPosX(),GetPosY()+5)
  107.     TL("\tSteuerpflichtiger 1\tSteuerpflichtiger 2\tSumme")
  108.     NumTmp=GetPosY()+30
  109.     DrawLineExt(0,NumTmp,1800,NumTmp)
  110.     SetFont("Arial",10,FONT_NORMAL,COLOR_BLACK)
  111.     RemoveAllTabs()
  112.     SetTabs("L30 R900 R1400 R-30")
  113.     LF
  114.     LF
  115.     
  116.     TL("\t"+StrStr("H",13)+"\t"+StrAmt("H",10)+" "+StrStr("H",110)+"\t"+StrAmt("H",11)+" "+StrStr("H",111)+"\t"+StrAmt("H",12)+" "+StrStr("H",112))
  117.     LF
  118.     TL("\tSteuerklasse IV/IV\t"+StrAmt("H",14)+" "+StrStr("H",114)+"\t"+StrAmt("H",15)+" "+StrStr("H",115)+"\t"+StrAmt("H",16)+" "+StrStr("H",116))
  119.     LF
  120.     LF
  121.     SetPen(3,PEN_SOLID,COLOR_BLACK)
  122.     NumTmp=GetPosY()+30
  123.     DrawLineExt(0,NumTmp,1800,NumTmp)
  124.     LF
  125.     LF
  126.     LF
  127.     LF
  128.     RemoveAllTabs()
  129.     SetFont("Arial",10,FONT_BOLD,COLOR_BLACK)
  130.     SetTabs("L30 R-30")
  131.     TL("\t"+StrStr("H",18)+"\t"+StrAmt("H",17)+" "+StrStr("H",117))
  132.     SetPen(3,PEN_SOLID,COLOR_BLACK)
  133.     DrawLineExt(0,1730,1800,1730)
  134.  
  135. End If
  136.  
  137.  
  138. If AufteilbFreibetrag<>0 Then
  139.     SetBodyMargin(135,250,105,250)
  140.     SetFooterMargin(135, 250, 105, 80)
  141. End If
  142.  
  143. SetEventHandler(EVENT_PRINT_FOOTER,OnPrintFooter)
  144.  
  145. 'Schriftgr÷▀en
  146. Dim TopGross as FontType=CreateFont("Arial", 14, FONT_BOLD, COLOR_BLACK)
  147. Dim TopNormal as FontType=CreateFont("Arial", 12, FONT_BOLD, COLOR_BLACK)
  148. Dim Normal as FontType=CreateFont("Arial", 10, FONT_NORMAL, COLOR_BLACK)
  149. Dim NormalBold as FontType=CreateFont("Arial", 10, FONT_BOLD, COLOR_BLACK)
  150. Dim NormalBoldItalic as FontType=CreateFont("Arial", 10, FONT_ITALIC+FONT_BOLD, COLOR_BLACK)
  151. Dim NormalGross as FontType=CreateFont("Arial", 12, FONT_NORMAL, COLOR_BLACK)
  152. Dim OptFont as FontType
  153.  
  154. 'Farben
  155. Const COLOR_GREY_LIGHT as 15790320
  156. Const COLOR_GREY_MIDDLE as 14803425
  157. Const COLOR_GREY_DARK as 13158600
  158.  
  159. Function BorderWidth(id as CellType, left as Numeric, top as Numeric, right as Numeric, bottom as Numeric)
  160.     SetCellBorder(id, CELL_BORDER_LEFT,left ,PEN_SOLID, COLOR_BLACK)
  161.     SetCellBorder(id, CELL_BORDER_TOP, top,PEN_SOLID, COLOR_BLACK)
  162.     SetCellBorder(id, CELL_BORDER_RIGHT, right,PEN_SOLID, COLOR_BLACK)
  163.     SetCellBorder(id, CELL_BORDER_BOTTOM,bottom ,PEN_SOLID, COLOR_BLACK)
  164. End Function
  165.  
  166. Function Cell( id as CellType, index as Numeric) as CellType
  167.     Cell=GetCellByIndex(id, index)
  168. End Function
  169.  
  170.  
  171. Dim r as Numeric
  172. Dim s as Numeric=1
  173. Dim ZeilenNr as Numeric=1
  174. Dim u as Numeric=1
  175. Dim v as Numeric=1
  176.  
  177. Dim cStKlWahl as CellType=CreateCell(0,0, CELL_TYPE_DYNHORZ+CELL_TYPE_DYNVERT+CELL_TYPE_VERT)
  178. Dim cStKlWahlTop as CellType=CreateCellEx(cStKlWahl,1850, 130, CELL_TYPE_DYNHORZ, "Steuerklassenwahl"+" "+StrInt("H",1),
  179.     TopGross, CELL_TEXT_LEFT, COLOR_GREY_LIGHT, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 30,40,0,0)
  180.  
  181. BorderWidth(cStKlWahlTop, 4, 4, 4, 4)
  182.  
  183. If AufteilbFreibetrag<>0 Then DrawCell(cStKlWahlTop,TRUE) End If
  184.  
  185.  
  186. Dim cDaten as CellType=CreateCellEx(cStKlWahl, 1850,0, CELL_TYPE_HORZ+CELL_TYPE_DYNVERT, "",
  187.     Normal, CELL_TEXT_LEFT, COLOR_TRANSPARENT, hSolidPen, hSolidPen , hSolidPen, hSolidPen, hNullPen, 15,20,0,0)
  188.  
  189. Dim cAllgDaten as CellType=CreateCellEx(cDaten, 655, 85, CELL_TYPE_DYNVERT+CELL_TYPE_VERT, "",
  190.     Normal, CELL_TEXT_LEFT, COLOR_TRANSPARENT, hSolidPen, hSolidPen , hSolidPen, hSolidPen, hNullPen, 15,20,0,0)
  191.  
  192. Dim cBerDaten as CellType=CreateCellEx(cDaten, 1195, 0, CELL_TYPE_DYNVERT+CELL_TYPE_VERT, "",
  193.     Normal, CELL_TEXT_LEFT, COLOR_TRANSPARENT, hSolidPen, hSolidPen , hSolidPen, hSolidPen, hNullPen, 15,20,0,0)
  194.  
  195. BorderWidth(cAllgDaten,4,0,4,4)
  196. BorderWidth(cBerDaten,0,0,4,4)
  197.     
  198. Function EinfgAllgDaten(  FeldName as String, FeldWert as String) as CellType
  199.     Dim cPos as CellType=CreateCell(0,0,CELL_TYPE_DYNVERT+CELL_TYPE_DYNHORZ+CELL_TYPE_HORZ) 
  200.     SetCellParent(cPos, cAllgDaten)
  201.     
  202.     SetCellBorder(CreateCellEx(cPos,385,45,CELL_TYPE_DYNVERT,FeldName,Normal,CELL_TEXT_LEFT,
  203.         COLOR_TRANSPARENT, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 15, 7, 0, 0),CELL_BORDER_RIGHT,2,PEN_SOLID,COLOR_BLACK)
  204.  
  205.     CreateCellEx(cPos,270,45,CELL_TYPE_DYNVERT,FeldWert,Normal,CELL_TEXT_RIGHT,
  206.         COLOR_TRANSPARENT, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 0, 7, 15, 0)
  207. End Function
  208.  
  209. SetCellBorder(CreateCellEx(cAllgDaten,655,85,CELL_TYPE_DYNVERT,"Daten",TopNormal,CELL_TEXT_LEFT,
  210.         COLOR_GREY_DARK, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 15, 20, 0, 0),CELL_BORDER_BOTTOM,2,PEN_SOLID,COLOR_BLACK)
  211.  
  212. EinfgAllgDaten("Abrechnungsjahr", StrInt("H",1))
  213. EinfgAllgDaten("Abrechnungszeitraum", StrStr("H",2))
  214. EinfgAllgDaten("Kinderfreibetrag",StrKfb("H",3))
  215. EinfgAllgDaten("SolidaritΣtszuschlag",StrStr("H",20))
  216.  
  217. While v<=2 Do
  218.     SetCellBackground(cell(cAllgDaten,2*v+1), COLOR_GREY_LIGHT)
  219. v=v+1
  220. End While
  221.  
  222. Dim cBerDatenTop as CellType=CreateCellEx(cBerDaten,0,0,CELL_TYPE_DYNVERT+CELL_TYPE_DYNHORZ+CELL_TYPE_HORZ,"",TopNormal,CELL_TEXT_LEFT,
  223.     COLOR_GREY_DARK, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 15, 20, 0, 0)
  224. SetCellBorder(cBerDatenTop,CELL_BORDER_BOTTOM,2,PEN_SOLID,COLOR_BLACK)
  225.  
  226. SetCellParent(CreateCell(385,85, CELL_TYPE_DYNHORZ+CELL_TYPE_DYNVERT+CELL_TYPE_HORZ),cBerDatenTop)
  227.  
  228. While s<=2 Do
  229.     SetCellBorder(    CreateCellEx(cBerDatenTop,405,85,CELL_TYPE_DYNVERT,"Steuerpflichtiger "+FormatNumeric("%0.0f", s),NormalBold,CELL_TEXT_RIGHT,
  230.         COLOR_TRANSPARENT, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 0, 25, 15, 0),CELL_BORDER_LEFT,2,PEN_SOLID,COLOR_BLACK)
  231. s=s+1
  232. End While
  233.  
  234. While ZeilenNr<=4 Do
  235.  
  236.     SetCellParent(CreateCell(0,0,CELL_TYPE_DYNVERT+CELL_TYPE_DYNHORZ+CELL_TYPE_HORZ),cBerDaten) 
  237.     
  238.     CreateCellEx(Cell(cBerDaten,ZeilenNr+1),385,45,CELL_TYPE_DYNVERT,"",Normal,CELL_TEXT_LEFT,
  239.             COLOR_TRANSPARENT, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 15, 7, 0, 0)
  240.     s=1
  241.     If ZeilenNr<>4 Then
  242.         while s<=2 Do
  243.             SetCellBorder(CreateCellEx(Cell(cBerDaten,ZeilenNr+1),405,45,CELL_TYPE_DYNVERT+CELL_TYPE_HORZ,"",Normal,CELL_TEXT_RIGHT,
  244.             COLOR_TRANSPARENT, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 0, 7, 15, 0),CELL_BORDER_LEFT,2,PEN_SOLID,COLOR_BLACK)
  245.             s=s+1
  246.         End While
  247.     Else
  248.         SetCellBorder(CreateCellEx(Cell(cBerDaten,ZeilenNr+1),810,45,CELL_TYPE_DYNVERT,StrAmt("H",21)+" "+StrStr("H",121),Normal,CELL_TEXT_CENTER,
  249.             COLOR_TRANSPARENT, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 0, 7, 0, 0),CELL_BORDER_LEFT,2,PEN_SOLID,COLOR_BLACK)
  250.     End If
  251.     ZeilenNr=ZeilenNr+1
  252. End While
  253.  
  254. SetCellText(Cell(Cell(cBerDaten,2),1),"Einkommen")
  255. SetCellText(Cell(Cell(cBerDaten,3),1),"Tabelle")
  256. SetCellText(Cell(Cell(cBerDaten,4),1),"Fester Freibetrag")
  257. SetCellText(Cell(Cell(cBerDaten,5),1),"Aufteilbarer Freibetrag")
  258.  
  259. Dim StTab as String
  260.  
  261. dim ctBetrag as celltemplateType
  262. dim ctWaehrung as celltemplateType
  263.  
  264. ctBetrag=createCellTemplate(305,0,CELL_TYPE_DYNVERT,Normal,CELL_TEXT_RIGHT,
  265.     COLOR_TRANSPARENT, hNullPen, hNullPen, hNullPen, hNullPen, hNullPen,0, 7, 0, 0)
  266.  
  267. ctWaehrung=createCellTemplate (100,0,CELL_TYPE_DYNVERT,Normal,CELL_TEXT_LEFT,
  268.     COLOR_TRANSPARENT, hNullPen, hNullPen, hSolidPen, hNullPen, hNullPen,0, 7, 0, 0)
  269.     
  270. function WaehrungBetrag(Zelle as CellType, Betrag as String, Waehrung as String)    
  271.     createCellFromTemplate(ctBetrag,Zelle,Betrag ) 
  272.     createCellFromTemplate(ctWaehrung,Zelle," "+Waehrung )
  273. end function
  274.  
  275. s=1
  276. While s<=2 Do
  277.     StTab=Get("H",5+s)
  278.     If StTab="allg. Tabelle" Then StTab="allgemeine Tabelle" End If
  279.     SetCellText(Cell(Cell(cBerDaten,3),s+1),StTab)
  280.     WaehrungBetrag(Cell(Cell(cBerDaten,2),s+1),StrAmt("H",3+s),StrStr("H",103+s))
  281.     WaehrungBetrag(Cell(Cell(cBerDaten,4),s+1),StrAmt("H",7+s),StrStr("H",107+s))
  282.     s=s+1
  283. End While
  284.  
  285. v=1
  286. While v<=2 Do
  287.     SetCellBackground(cell(cBerDaten,2*v+1), COLOR_GREY_LIGHT)
  288. v=v+1
  289. End While
  290.  
  291.  
  292.  
  293. If AufteilbFreibetrag<>0 Then DrawCell(cDaten,TRUE) End If
  294.  
  295.  
  296. Dim cStBelastung as CellType=CreateCell(0,0,CELL_TYPE_DYNVERT+CELL_TYPE_DYNHORZ+CELL_TYPE_VERT)
  297. Dim cStBelastungTop as CellType=CreateCellEx(cStBelastung,1850,85,CELL_TYPE_DYNVERT,"Steuerbelastung",TopNormal,CELL_TEXT_LEFT,
  298.             COLOR_GREY_DARK, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 15, 20, 0, 0)
  299. SetCellBorder(cStBelastungTop,CELL_BORDER_BOTTOM,2,PEN_SOLID,COLOR_BLACK)
  300.  
  301. SetCellParent(CreateCell(0,0,CELL_TYPE_DYNVERT+CELL_TYPE_DYNHORZ+CELL_TYPE_HORZ),cStBelastung)
  302. SetCellParent(CreateCell(0,0,CELL_TYPE_DYNVERT+CELL_TYPE_DYNHORZ+CELL_TYPE_HORZ),cStBelastung)
  303.  
  304. BorderWidth(cStBelastung,4,0,4,4)
  305. SetCellBorder(Cell(cStBelastung,2),CELL_BORDER_BOTTOM,3,PEN_SOLID,COLOR_BLACK)
  306. SetCellBorder(Cell(cStBelastung,3),CELL_BORDER_BOTTOM,3,PEN_SOLID,COLOR_BLACK)
  307.  
  308.  
  309. Function StPlichtStKl(StPflichtNr as String, StKl as String)
  310.     Dim i as Numeric
  311.     Dim j as Numeric=1
  312.     Dim Diff as Numeric
  313.     Dim Kreuz as String
  314.     Dim cTabelle as CellType=CreateCell(0,0,CELL_TYPE_DYNVERT+CELL_TYPE_DYNHORZ+CELL_TYPE_VERT)
  315.     SetCellParent(cTabelle,GetCellByIndex(cStBelastung,r))
  316.     If StPflichtNr="1" Then BorderWidth(cTabelle,0,0,3,3)
  317.                             Else BorderWidth(cTabelle,3,0,3,3) End If        
  318.     
  319.     Dim cUeberschrift1 as CellType=CreateCell(0,0,CELL_TYPE_DYNVERT+CELL_TYPE_DYNHORZ+CELL_TYPE_HORZ)
  320.     SetCellParent(cUeberschrift1,cTabelle)
  321.     SetCellBackground(cUeberschrift1,COLOR_GREY_MIDDLE)
  322.     CreateCellEx(cUeberschrift1,385,85,CELL_TYPE_DYNVERT,"Steuerpflichtiger "+StPflichtNr,NormalGross,CELL_TEXT_RIGHT,
  323.             COLOR_TRANSPARENT, hSolidPen, hSolidPen, hNullPen, hSolidPen, hNullPen, 0,20, 15, 0)
  324.     CreateCellEx(cUeberschrift1,200,85,CELL_TYPE_DYNVERT,"St.-Kl.",Normal,CELL_TEXT_RIGHT,
  325.         COLOR_TRANSPARENT, hNullPen, hSolidPen, hNullPen, hSolidPen, hNullPen, 0, 27, 0, 0)
  326.     CreateCellEx(cUeberschrift1,70,85,CELL_TYPE_DYNVERT,StKl,TopGross,CELL_TEXT_RIGHT,
  327.         COLOR_TRANSPARENT, hNullPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 0, 13, 15, 0)
  328.     
  329.     Dim cUeberschrift2 as CellType=CreateCell(0,0,CELL_TYPE_DYNVERT+CELL_TYPE_DYNHORZ+CELL_TYPE_HORZ)
  330.     SetCellParent(cUeberschrift2,cTabelle)
  331.     SetCellBackground(cUeberschrift2,COLOR_GREY_DARK)
  332.     BorderWidth(cUeberschrift2,0,2,0,2)
  333.     CreateCellEx(cUeberschrift2,270,45,CELL_TYPE_DYNVERT,"Freibetrag",NormalBold,CELL_TEXT_RIGHT,
  334.         COLOR_TRANSPARENT, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 0, 7, 15, 0)
  335.     CreateCellEx(cUeberschrift2,115,45,CELL_TYPE_DYNVERT,"%",NormalBold,CELL_TEXT_RIGHT,
  336.         COLOR_TRANSPARENT, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 0, 7, 15, 0)
  337.     BorderWidth(Cell(cUeberschrift2,2),2,0,2,0)
  338.     CreateCellEx(cUeberschrift2,270,45,CELL_TYPE_DYNVERT,"Steuer",NormalBold,CELL_TEXT_RIGHT,
  339.         COLOR_TRANSPARENT, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 0, 7, 15, 0)
  340.     
  341.     Dim a as Numeric
  342.     Dim b as Numeric=1
  343.     Dim c as Numeric
  344.     Dim d as Numeric
  345.     If    StPflichtNr="2" Then a=100 b=-1 c=500 End If
  346.     If StKl="IV" Then d=11 End If 
  347.     While i<=10 Do
  348.         Diff=GetInt("H",1401+i+d)
  349.         If Diff>0 Then OptFont=NormalBold
  350.                             Else OptFont=Normal End If
  351.         Diff=GetNumeric("H",1201+i+d)
  352. '        If Diff=0 Then Kreuz="# "
  353. '                      Else Kreuz=""    End If
  354.         SetCellParent(CreateCell(0,0,CELL_TYPE_DYNVERT+CELL_TYPE_DYNHORZ+CELL_TYPE_HORZ),cTabelle)
  355.         CreateCellEx(GetCellByIndex(cTabelle,3+i),270,45,CELL_TYPE_DYNVERT,StrAmt("H",c+301+i+d),OptFont,CELL_TEXT_RIGHT,
  356.             COLOR_TRANSPARENT, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 0, 7, 15, 0)
  357.         CreateCellEx(GetCellByIndex(cTabelle,3+i),115,45,CELL_TYPE_DYNVERT,Kreuz+FormatNumeric("%0.0f",a+(b*10*i)),OptFont,CELL_TEXT_RIGHT,
  358.             COLOR_TRANSPARENT, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 0, 7, 15, 0)
  359.         BorderWidth(Cell(Cell(cTabelle,3+i),2),2,0,2,0)
  360.         CreateCellEx(GetCellByIndex(cTabelle,3+i),270,45,CELL_TYPE_DYNVERT,StrAmt("H",c+501+i+d),OptFont,CELL_TEXT_RIGHT,
  361.             COLOR_TRANSPARENT, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 0, 7, 15, 0)
  362.     i=i+1
  363.     End While
  364.  
  365.     While j<=5 Do
  366.         SetCellBackground(Cell(cTabelle,2*j+2),COLOR_GREY_LIGHT)
  367.         j=j+1
  368.     End While
  369.     
  370. End Function
  371.  
  372. Function GesDiff(StKlStPflicht1 as String, StKlStPflicht2 as String)
  373.     Dim i as Numeric
  374.     Dim j as Numeric
  375.     Dim Diff as Numeric
  376.     Dim Kreuz as String
  377.     Dim cTabelle as CellType=CreateCell(0,0,CELL_TYPE_DYNVERT+CELL_TYPE_DYNHORZ+CELL_TYPE_VERT)
  378.     SetCellParent(cTabelle,GetCellByIndex(cStBelastung,r))
  379.     BorderWidth(cTabelle,3,0,0,3)
  380.     
  381.     SetCellBackground(CreateCellEx(cTabelle,540,85,CELL_TYPE_DYNVERT,"",Normal,CELL_TEXT_LEFT,
  382.             COLOR_TRANSPARENT, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 0, 7, 0, 0),COLOR_GREY_MIDDLE)
  383.     
  384.     
  385.     Dim cUeberschrift2 as CellType=CreateCell(0,0,CELL_TYPE_DYNVERT+CELL_TYPE_DYNHORZ+CELL_TYPE_HORZ)
  386.     SetCellParent(cUeberschrift2,cTabelle)
  387.     BorderWidth(cUeberschrift2,0,2,0,2)
  388.     SetCellBorder(CreateCellEx(cUeberschrift2,270,45,CELL_TYPE_DYNVERT,"Gesamt",NormalBold,CELL_TEXT_RIGHT,
  389.             COLOR_GREY_DARK, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 0, 7, 15, 0),CELL_BORDER_RIGHT,2,PEN_SOLID,COLOR_BLACK)
  390.     
  391.     CreateCellEx(cUeberschrift2,270,45,CELL_TYPE_DYNVERT,"Differenz",NormalBold,CELL_TEXT_RIGHT,
  392.         COLOR_GREY_DARK, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 0, 7, 15, 0)
  393.     
  394.     
  395.     Dim d as Numeric
  396.     
  397.     If StKlStPflicht1=StKlStPflicht2 Then d=11 End If 
  398.     
  399.     While i<=10 Do
  400.         Diff=GetInt("H",1401+i+d)
  401.         If Diff>0 Then OptFont=NormalBold
  402.                             Else OptFont=Normal End If
  403.         Diff=GetNumeric("H",1201+i+d)
  404.         If Diff=0 Then Kreuz="Optimum "
  405.                       Else Kreuz=""    End If
  406.         SetCellParent(CreateCell(0,0,CELL_TYPE_DYNVERT+CELL_TYPE_DYNHORZ+CELL_TYPE_HORZ),cTabelle)
  407.         SetCellBorder(CreateCellEx(GetCellByIndex(cTabelle,3+i),270,45,CELL_TYPE_DYNVERT,StrAmt("H",1101+i+d),OptFont,CELL_TEXT_RIGHT,
  408.             COLOR_TRANSPARENT, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 0, 7, 15, 0),CELL_BORDER_RIGHT,2,PEN_SOLID,COLOR_BLACK)
  409.         CreateCellEx(GetCellByIndex(cTabelle,3+i),270,45,CELL_TYPE_DYNVERT,Kreuz+StrAmt("H",1201+i+d),OptFont,CELL_TEXT_RIGHT,
  410.             COLOR_TRANSPARENT, hSolidPen, hSolidPen, hSolidPen, hSolidPen, hNullPen, 0, 7, 15, 0)
  411.     i=i+1
  412.     End While
  413.     While j<=5 Do
  414.         SetCellBackground(Cell(cTabelle,2*j+2),COLOR_GREY_LIGHT)
  415.         j=j+1
  416.     End While
  417. End Function
  418.  
  419. If AufteilbFreibetrag<>0 Then
  420. r=2
  421. StPlichtStKl("1","III")
  422. StPlichtStKl("2","V")
  423. GesDiff("III","V")
  424. r=3
  425. StPlichtStKl("1","IV")
  426. StPlichtStKl("2","IV")
  427. GesDiff("IV","IV")
  428. DrawCell(cstBelastung,TRUE)
  429. End If
  430.  
  431.