home *** CD-ROM | disk | FTP | other *** search
/ Kompuutteri Kaikille K-CD 2002 #3 / K-CD_2002-03.iso / OpenOffice / f_0031 / HolidayGerman.xba < prev    next >
Extensible Markup Language  |  2001-10-12  |  7KB  |  148 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
  3. <script:module xmlns:script="http://openoffice.org/2000/script" script:name="HolidayGerman" script:language="StarBasic">Option Explicit
  4.  
  5. Sub Main()
  6.     Call CalAutopilotTable()
  7. End Sub
  8.  
  9. Function CalGetGermanLandAtMousePos(byval X as single, byval Y as single) as Integer
  10. '    Liefert das BundesLand, das sich unter Maus befindet.
  11. '    oStatusline.SetText("X: " & X & "; " & "Y: " & Y)
  12.     CalChoosenLand = 0
  13.     If (X>68)And(X<125)And(Y>116)And(Y<176) Then
  14.         CalChoosenLand = CalBLBayern
  15.  
  16.     ElseIf (X>36)And(X<84)And(Y>131)And(Y<178) Then 
  17.         CalChoosenLand = CalBLBadenWuert
  18.         
  19.     ElseIf (X>9)And(X<26)And(Y>128)And(Y<139) Then 
  20.         CalChoosenLand = CalBLSaarland
  21.         
  22.     ElseIf (X>8)And(X<37)And(Y>107)And(Y<141) Then 
  23.         CalChoosenLand = CalBLRheinlandPfalz
  24.         
  25.     ElseIf (X>5)And(X<53)And(Y>65)And(Y<107) Then 
  26.         CalChoosenLand = CalBLNordrheinWest
  27.  
  28.     ElseIf (X>39)And(X<70)And(Y>87)And(Y<131) Then 
  29.         CalChoosenLand = CalBLHessen
  30.  
  31.     ElseIf (X>70)And(X<105)And(Y>83)And(Y<116) Then 
  32.         CalChoosenLand = CalBLThueringen
  33.         
  34.     ElseIf (X>105)And(X<150)And(Y>82)And(Y<107) Then 
  35.         CalChoosenLand = CalBLSachsen
  36.         
  37.     ElseIf (X>47)And(X<85)And(Y>6)And(Y<37) Then 
  38.         CalChoosenLand = CalBLSchlHolstein
  39.  
  40.     ElseIf (X>74)And(X<85)And(Y>37)And(Y<43) Then 
  41.         CalChoosenLand = CalBLHamburg
  42.  
  43.     ElseIf (X>85)And(X<138)And(Y>18)And(Y<45) Then 
  44.         CalChoosenLand = CalBLMeckPomm
  45.  
  46.     ElseIf (X>49)And(X<55)And(Y>41)And(Y<47) Then 
  47.         CalChoosenLand = CalBLBremen
  48.  
  49.     ElseIf (X>51)And(X<65)And(Y>53)And(Y<60) Then 
  50.         CalChoosenLand = CalBLBremen
  51.  
  52.     ElseIf (X>23)And(X<85)And(Y>38)And(Y<67) Then 
  53.         CalChoosenLand = CalBLNiedersachsen
  54.  
  55.     ElseIf (X>53)And(X<85)And(Y>67)And(Y<83) Then 
  56.         CalChoosenLand = CalBLNiedersachsen
  57.  
  58.     ElseIf (X>85)And(X<105)And(Y>45)And(Y<83) Then 
  59.         CalChoosenLand = CalBLSachsenAnhalt
  60.  
  61.     ElseIf (X>116)And(X<130)And(Y>58)And(Y<68) Then 
  62.         CalChoosenLand = CalBLBerlin
  63.  
  64.     ElseIf (X>105)And(X<144)And(Y>45)And(Y<82) Then 
  65.         CalChoosenLand = CalBLBrandenburg
  66.     End If
  67. '    If (CalChoosenLand >= Lbound(BLNameList)) AND ((CalChoosenLand <= Ubound(BLNameList))) Then
  68. '        Land$ = BLNameList(CalChoosenLand)
  69. '    End If
  70.     CalGetGermanLandAtMousePos = CalChoosenLand
  71. End Function
  72.  
  73.  
  74.  
  75. Sub CalFindWholeYearHolidays_GERMANY(ByVal iSelYear as Integer, ByVal iCountry as Integer)
  76.     
  77.     '    Ermittelt die Feiertage eines gesamten Jahres (Parameter iSelYear),
  78.     '    bezogen auf ein bestimmtes Bundesland (Parameter iCountry). Kein 
  79.     '    bestimmtes Bundesland bedeutet, dass der Parameter gleich der 
  80.     '    Konstante calBLHamburg ist, da Hamburg nur Standardfeiertage kennt. 
  81.     '    Die Feiertage werden in das Array CalBankHolidayName$ geschrieben. 
  82.     '    Der Index dieses Arrays geht bis vierhundert. Der 1. Januar hat den 
  83.     '    Indexwert 1, der 2. Januar den Indexwert 2 usw. Das bedeutet, da├ƒ 
  84.     '    wenn am 2. Januar kein Feiertag existiert, liefert 
  85.     '    CalBankHolidayName$(DateSerial(0, 1, 2) eine leere Zeichenkette ("").
  86.  
  87.     Dim So as Integer
  88.     Dim OsternDate&, VierterAdvent&
  89.  
  90.     If (iCountry < 1) Or (iCountry > 16) Then 
  91.         iCountry = CalBLHamburg
  92.     End If
  93.     OsternDate& = CalEasterTable&(iSelYear)
  94.     So = 1
  95.  
  96.     CalInsertBankholiday(DateSerial(iSelYear, 1, 1), "Neujahr", cHolidayType_Full)
  97.     
  98.     If (iCountry = CalBLBayern) Or (iCountry = CalBLBadenWuert) Or (iCountry = CalBLSachsenAnhalt) Then
  99.         CalInsertBankholiday(DateSerial(iSelYear, 1, 6), "Hl. 3 K├╢nige", cHolidayType_Full)
  100.     End If
  101.     
  102.     CalInsertBankholiday(OsternDate&-2, "Karfreitag", cHolidayType_Full)
  103.     CalInsertBankholiday(OsternDate&, "Ostersonntag", cHolidayType_Full)
  104.     CalInsertBankholiday(OsternDate&+1, "Ostermontag", cHolidayType_Full)
  105.     CalInsertBankholiday(DateSerial(iSelYear, 5, 1), "Maifeiertag", cHolidayType_Full)
  106.     CalInsertBankholiday(OsternDate&+39, "Christi Himmelfahrt", cHolidayType_Full)
  107.     CalInsertBankholiday(OsternDate&+49, "Pfingstsonntag", cHolidayType_Full)
  108.     CalInsertBankholiday(OsternDate&+50, "Pfingstmontag", cHolidayType_Full)
  109.  
  110.     If (iCountry = CalBLBadenWuert) Or (iCountry = CalBLBayern) Or (iCountry = CalBLHessen) Or (iCountry = CalBLNordRheinWest) Or (iCountry = CalBLRheinlandPfalz) Or (iCountry = CalBLSaarland) Or (iCountry = CalBLSachsen) Or (iCountry = CalBLThueringen) Then
  111.         CalInsertBankholiday(OsternDate&+60, "Fronleichnam", cHolidayType_Full)
  112.     End If
  113.  
  114.     If (iCountry = CalBLBayern) Or (iCountry = CalBLSaarland) Then
  115.         CalInsertBankholiday(DateSerial(iSelYear, 8, 15), "Mari├ñ Himmelfahrt", cHolidayType_Full)
  116.     End If
  117.  
  118.     CalInsertBankholiday(DateSerial(iSelYear, 10, 3), "Tag der dt. Einheit", cHolidayType_Full)
  119.  
  120.     If (iCountry=CalBLBrandenburg) Or (iCountry=CalBLMeckPomm) Or (iCountry=CalBLSachsenAnhalt) Or (iCountry=CalBLSachsen) Or (iCountry=CalBLThueringen) Then
  121.         CalInsertBankholiday(DateSerial(iSelYear, 10, 31), "Reformationstag", cHolidayType_Full)
  122.     End If
  123.  
  124.     If (iCountry = CalBLBadenWuert) Or (iCountry = CalBLBayern) Or (iCountry = CalBLNordRheinWest) Or (iCountry = CalBLRheinlandPfalz) Or (iCountry = CalBLSaarland) Or (iCountry = CalBLSachsen) Or (iCountry = CalBLThueringen) Then
  125.         CalInsertBankholiday(DateSerial(iSelYear, 11, 1), "Allerheiligen", cHolidayType_Full)
  126.     End If
  127.  
  128.     VierterAdvent& = DateSerial(iSelYear, 12, 24)
  129.     While WeekDay(vierterAdvent&) <> So
  130.         vierterAdvent& = vierterAdvent& - 1
  131.     Wend
  132.  
  133.     If iCountry = CalBLSachsen Then
  134.         CalInsertBankholiday(vierterAdvent&-32, "Bu├ƒ- und Bettag", cHolidayType_Full)
  135.     Else
  136.         CalInsertBankholiday(vierterAdvent&-32, "Bu├ƒ- und Bettag", cHolidayType_Half)
  137.     End If        ' Dank an die EKD f├╝r die Berechnungsvorschrift des Bu├ƒ- und Bettags!
  138.     CalInsertBankholiday(vierterAdvent&-21, "1. Advent", cHolidayType_Full)
  139.     CalInsertBankholiday(vierterAdvent&-14, "2. Advent", cHolidayType_Full)
  140.     CalInsertBankholiday(vierterAdvent&-7, "3. Advent", cHolidayType_Full)
  141.     CalInsertBankholiday(vierterAdvent&, "4. Advent", cHolidayType_Full)
  142.  
  143.     CalInsertBankholiday(Dateserial(iSelYear, 12, 24), "Heiligabend", cHolidayType_Half)
  144.     CalInsertBankholiday(Dateserial(iSelYear, 12, 25), "1. Weihnachtstag", cHolidayType_Full)
  145.     CalInsertBankholiday(Dateserial(iSelYear, 12, 26), "2. Weihnachtstag", cHolidayType_Full)
  146.     CalInsertBankholiday(Dateserial(iSelYear, 12, 31), "Sylvester", cHolidayType_Half)
  147. End Sub
  148. </script:module>