Jakann man soetwas auch in einer App einbinden?
Private Sub FeiertageBerechnen
Dim a As Int, b As Int, c As Int
Dim d As Int, e As Int
Dim Tag , Monat As Int
a = year Mod 19
b = year Mod 4
c = year Mod 7
d = (19 * a + 24) Mod 30
e = (2 * b + 4 * c + 6 * d + 5) Mod 7
Tag = 22 + d + e
Monat = 3
If Tag > 31 Then
Tag = d + e - 9
Monat = 4
Else If Tag = 26 And Monat = 4 Then
Tag = 19
Else If Tag = 25 And Monat = 4 And d = 28 And e = 6 And a > 10 Then
Tag = 18
End If
Osterdatum = Tag &"."& Monat &"."& year
Dim t As Long = DateTime.DateParse(Osterdatum)
DtFeiertage(0) = "01.01." & year 'Neujahr
DtFeiertage(1) = "06.01." & year 'Hl. Dreikönige (nur in BW, BY und ST)
DtFeiertage(2) = "01.05." & year 'Maifeiertag
DtFeiertage(3) = "15.08." & year 'Mariä Himmelfahrt (nur SL und in Teilen BY)
DtFeiertage(4) = "03.10." & year 'Tag der Deutschen Einheit
DtFeiertage(5) = "31.10." & year 'Reformationstag (nur in BB, MV, SN, ST und TH)
DtFeiertage(6) = "01.11." & year 'Allerheiligen (nur in BW, BY, NW, RP und SL)
DtFeiertage(7) = "25.12." & year '1. Weihnachtsfeiertag
DtFeiertage(8) = "26.12." & year '2. Weihnachtsfeiertag
DtFeiertage(9) = DateTime.Date(DateTime.Add(t,0,0,-2)) 'Karfreitag
DtFeiertage(10) = DateTime.Date(DateTime.Add(t,0,0,0)) 'Ostersonntag
DtFeiertage(11) = DateTime.Date(DateTime.Add(t,0,0,1)) 'Ostermontag
DtFeiertage(12) = DateTime.Date(DateTime.Add(t,0,0,39)) 'Christi Himmerlfahrt
DtFeiertage(13) = DateTime.Date(DateTime.Add(t,0,0,49)) 'Pfingstsonntag
DtFeiertage(14) = DateTime.Date(DateTime.Add(t,0,0,50)) 'Pfingstmontag
DtFeiertage(15) = DateTime.Date(DateTime.Add(t,0,0,60)) 'Fronleichnam (nur in BW, BY, HE, NW, RP, SL und in Teilen SN und TH)
For i = 9 To 15
Log ("Feiertag am: " & DtFeiertage(i))
Next
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim cal As CalHelp
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
'Activity.LoadLayout("Layout1")
Log(cal.getEaster(2015))
DateTime.DateFormat = "dd.MM.yyyy"
Dim feiertage As Map = cal.getHoliday(2015)
For i = 0 To feiertage.Size -1
Log(feiertage.GetKeyAt(i)&"="&DateTime.Date(feiertage.GetValueAt(i)))
Next
End Sub
5.3.
OsterSonntag=05.03.2015
OsterMontag=06.03.2015
Karfreitag=03.03.2015
RosenMontag=16.01.2015
Christi Himmelfahrt=13.04.2015
PfingstSonntag=13.04.2015
Frohnleichnam=04.05.2015
Tag der deutschen Einheit=01.10.2015
Heilig Abend=24.12.2015
1. Weihnachtstag=25.12.2015
2. Weihnachtstag=26.12.2015
Silvester=31.12.2015
Neujahr=01.01.2015
Private Sub FeiertageBerechnen
Dim a As Int, b As Int, c As Int
Dim d As Int, e As Int
Dim Tag , Monat As Int
'year wird aus DatePicker übernommen
a = year Mod 19
b = year Mod 4
c = year Mod 7
d = (19 * a + 24) Mod 30
e = (2 * b + 4 * c + 6 * d + 5) Mod 7
Tag = 22 + d + e
Monat = 3
If Tag > 31 Then
Tag = d + e - 9
Monat = 4
Else If Tag = 26 And Monat = 4 Then
Tag = 19
Else If Tag = 25 And Monat = 4 And d = 28 And e = 6 And a > 10 Then
Tag = 18
End If
'Osterdatum = String
Osterdatum = Tag &"."& Monat &"."& year
Dim t As Long = DateTime.DateParse(Osterdatum)
'Hole die Bundesland Auswahl vom Nutzer aus der Datenbank
SQL1.Initialize(File.DirDefaultExternal, "setting.db", False)'Datenbank Verzeichnissangabe
Dim Cursor1 As Cursor
Cursor1 = SQL1.ExecQuery("SELECT setting4 FROM setting")'Datenbank einlesen
For i = 0 To Cursor1.RowCount - 1
Cursor1.Position = i
'Bundesland = String
Bundesland = Cursor1.GetString("setting4")'Feiertage übergeben
Next
'DtFeiertage = Arry
For kein = 0 To 15
DtFeiertage(kein) = "" 'Alle Einträge bereinigen
Next
If Bundesland = "Baden-Württemberg" Then 'Baden-Württemberg
DtFeiertage(1) = "06.01." & year 'Hl. Dreikönige (nur in BW, BY und ST)
DtFeiertage(6) = "01.11." & year 'Allerheiligen (nur in BW, BY, NW, RP und SL)
DtFeiertage(15) = DateTime.Date(DateTime.Add(t,0,0,60)) 'Fronleichnam (nur in BW, BY, HE, NW, RP, SL und in Teilen SN und TH)
End If
If Bundesland = "Bayern" Then 'Bayern
DtFeiertage(1) = "06.01." & year 'Hl. Dreikönige (nur in BW, BY und ST)
DtFeiertage(3) = "15.08." & year 'Mariä Himmelfahrt (nur SL und in Teilen BY)
DtFeiertage(6) = "01.11." & year 'Allerheiligen (nur in BW, BY, NW, RP und SL)
DtFeiertage(15) = DateTime.Date(DateTime.Add(t,0,0,60)) 'Fronleichnam (nur in BW, BY, HE, NW, RP, SL und in Teilen SN und TH)
End If
If Bundesland = "Hessen" Then 'Hessen
DtFeiertage(15) = DateTime.Date(DateTime.Add(t,0,0,60)) 'Fronleichnam (nur in BW, BY, HE, NW, RP, SL und in Teilen SN und TH)
End If
If Bundesland = "Brandenburg" Or Bundesland = "Mecklenburg-Vorpommern" Then 'Brandenburg
DtFeiertage(5) = "31.10." & year 'Reformationstag (nur in BB, MV, SN, ST und TH)
End If
If Bundesland = "Sachsen" Or Bundesland = "Thüringen" Then 'Sachsen
DtFeiertage(5) = "31.10." & year 'Reformationstag (nur in BB, MV, SN, ST und TH)
DtFeiertage(15) = DateTime.Date(DateTime.Add(t,0,0,60)) 'Fronleichnam (nur in BW, BY, HE, NW, RP, SL und in Teilen SN und TH)
End If
If Bundesland = "Nordrhein-Westfalen" Or Bundesland = "Rheinland-Pfalz" Then 'Nordrhein-Westfalen
DtFeiertage(6) = "01.11." & year 'Allerheiligen (nur in BW, BY, NW, RP und SL)
DtFeiertage(15) = DateTime.Date(DateTime.Add(t,0,0,60)) 'Fronleichnam (nur in BW, BY, HE, NW, RP, SL und in Teilen SN und TH)
End If
If Bundesland = "Saarland" Then 'Saarland
DtFeiertage(3) = "15.08." & year 'Mariä Himmelfahrt (nur SL und in Teilen BY)
DtFeiertage(6) = "01.11." & year 'Allerheiligen (nur in BW, BY, NW, RP und SL)
DtFeiertage(15) = DateTime.Date(DateTime.Add(t,0,0,60)) 'Fronleichnam (nur in BW, BY, HE, NW, RP, SL und in Teilen SN und TH)
End If
If Bundesland = "Sachsen-Anhalt" Then 'Sachsen-Anhalt
DtFeiertage(1) = "06.01." & year 'Hl. Dreikönige (nur in BW, BY und ST)
DtFeiertage(5) = "31.10." & year 'Reformationstag (nur in BB, MV, SN, ST und TH)
End If
'Für alle Feste Feiertage überall gleich
DtFeiertage(0) = "01.01." & year 'Neujahr
DtFeiertage(2) = "01.05." & year 'Maifeiertag
DtFeiertage(4) = "03.10." & year 'Tag der Deutschen Einheit
DtFeiertage(7) = "25.12." & year '1. Weihnachtsfeiertag
DtFeiertage(8) = "26.12." & year '2. Weihnachtsfeiertag
DtFeiertage(9) = DateTime.Date(DateTime.Add(t,0,0,-2)) 'Karfreitag
DtFeiertage(10) = DateTime.Date(DateTime.Add(t,0,0,0)) 'Ostersonntag
DtFeiertage(11) = DateTime.Date(DateTime.Add(t,0,0,1)) 'Ostermontag
DtFeiertage(12) = DateTime.Date(DateTime.Add(t,0,0,39)) 'Christi Himmerlfahrt
DtFeiertage(13) = DateTime.Date(DateTime.Add(t,0,0,49)) 'Pfingstsonntag
DtFeiertage(14) = DateTime.Date(DateTime.Add(t,0,0,50)) 'Pfingstmontag
If Bundesland = "Keine Feiertage" Then 'Ohne Feiertage
For kein = 0 To 15
DtFeiertage(kein) = "" 'Leer Eintrag
Next
End If
End Sub
' Geburtstagsanzeige
Dim Bild_Geburtstag As Bitmap
Bild_Geburtstag.Initialize(File.DirAssets, "geburtstag.png")
If day &"." & month = Geburtstag Then
cvs.DrawText(day, (((dayOfWeekOffset + day - 1) Mod 7) + 0.5) * boxW, _
(row + 0.5)* boxH + vCorrection, Typeface.DEFAULT_BOLD, Label1.TextSize, Colors.Black, "CENTER")
End If
' Geburtstagsanzeige
Private Sub DrawDays
' Geburtstagsanzeige
If day & "." & month = Geburtstag Then
DrawGeburtstag(cvs, selectedColor, (dayOfWeekOffset + day - 1) Mod 7, (dayOfWeekOffset + day - 1) / 7)
End If
' Geburtstagsanzeige
End Sub
Private Sub DrawGeburtstag(c As Canvas, clr As Int, x As Int, y As Int)
Dim Bitmap1 As Bitmap
Bitmap1.Initialize(File.DirAssets, "geburtstag.png")
Dim r As Rect
r.Initialize(x * boxW, y * boxH, (x + 1) * boxW, (y + 1) * boxH)
cvs.DrawBitmap(Bitmap1, Null, r)
End Sub