summaryrefslogtreecommitdiff
path: root/wizards/source/schedule/BankHoliday.xba
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-01-28 20:52:45 +0100
committerMichael Stahl <mstahl@redhat.com>2012-01-28 20:52:45 +0100
commit2e626373db2412ac22e8c5c27a60d11cd29e875b (patch)
tree9e9f67205cd5b72f1031721273e1534a3a1e5b0f /wizards/source/schedule/BankHoliday.xba
parentf7ee7bbd5174b084f018c2ec94d8c70c98ee04da (diff)
replace obsolete "master" branch with README that points at new repoHEADmaster-deletedmaster
Diffstat (limited to 'wizards/source/schedule/BankHoliday.xba')
-rw-r--r--wizards/source/schedule/BankHoliday.xba177
1 files changed, 0 insertions, 177 deletions
diff --git a/wizards/source/schedule/BankHoliday.xba b/wizards/source/schedule/BankHoliday.xba
deleted file mode 100644
index e9af180aa..000000000
--- a/wizards/source/schedule/BankHoliday.xba
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
-<script:module xmlns:script="http://openoffice.org/2000/script" script:name="BankHoliday" script:language="StarBasic">Option Explicit
-
-Sub Main()
- Call CalAutopilotTable()
-End Sub
-
-
-Function CalEasterTable&amp;(byval Year%)
-Dim B%,C%,D%,E%,F%,G%,H%,I%,K%,L%,M%,N%,O%, nMonth%, nDay%
- N = Year% mod 19
- B = int(Year% / 100)
- C = Year% mod 100
- D = int(B / 4)
- E = B mod 4
- F = int((B + 8) / 25)
- G = int((B - F + 1) / 3)
- H =(19 * N + B - D - G + 15) mod 30
- I = int(C / 4)
- K = C mod 4
- L =(32 + 2 * E + 2 * I - H - K) mod 7
- M = int((N + 11 * H + 22 * L) / 451)
- O = H + L - 7 * M + 114
- nDay = O mod 31 + 1
- nMonth = int(O / 31)
- CalEasterTable&amp; = DateSerial(Year, nMonth,nDay)
-End Function
-
-
-&apos; Note: the following algorithm is valid only till the Year 2100.
-&apos; but I have no Idea from which date in the paste it is valid
-Function CalOrthodoxEasterTable(ByVal iYear as Integer) as Long
-Dim R1%, R2%, R3%, RA%, R4%, RB%, R5%, RC%
-Dim lDate as Long
- R1 = iYear mod 19
- R2 = iYear mod 4
- R3 = iYear mod 7
- RA =19 * R1 + 16
- R4 = RA mod 30
- RB = 2 * R2 + 4 * R3 + 6 * R4
- R5 = RB mod 7
- RC = R4 + R5
- lDate = DateSerial(iYear, 4,4)
- CalOrthodoxEasterTable() = lDate + RC
-End Function
-
-
-Sub CalInitGlobalVariablesDate()
-Dim i as Integer
- For i = 1 To 374
- CalBankholidayName$(i) = &quot;&quot;
- CalTypeOfBankHoliday%(i) = cHolidayType_None
- Next
-End Sub
-
-
-Sub CalInsertBankholiday(byval CurDate as Long, byval EventName as String, ByVal iLevel as Integer)
-Dim iDay
- iDay =(Month(CurDate)-1)*31 +Day(CurDate)
-
- If 0 &lt;&gt; CalTypeOfBankHoliday(iDay) Then
- If iLevel &lt; CalTypeOfBankHoliday(iDay) Then
- CalTypeOfBankHoliday(iDay) = iLevel
- End If
- Else
- CalTypeOfBankHoliday(iDay) = iLevel
- End If
-
- If CalBankHolidayName(iDay) = &quot;&quot; Then
- CalBankHolidayName(iDay) = EventName
- Else
- CalBankHolidayName(iDay) = CalBankHolidayName(iDay) &amp; &quot; / &quot; &amp; EventName
- End If
-End Sub
-
-Function CalMaxDayInMonth(ByVal iYear as Integer, ByVal iMonth as Integer) as Integer
-&apos; delivers the maximum Day of a month in a certain year
- Dim TmpDate as Long
- Dim MaxDay as Long
-
- MaxDay = 28
- TmpDate = DateSerial(iYear, iMonth, MaxDay)
-
- While Month(TmpDate) = iMonth
- MaxDay = MaxDay + 1
- TmpDate = TmpDate + 1
- Wend
- Maxday = MaxDay - 1
- CalMaxDayInMonth() = MaxDay
-End Function
-
-
-Function CalGetIntOfShortMonthName(ByVal MonthName as String) as Integer
-Dim i as Integer
-Dim nMonth as Integer
-
- nMonth = Val(MonthName)
-
- If (1 &lt;= nMonth And 12 &gt;= nMonth) Then
- CalGetIntOfShortMonthName = nMonth
- Exit Function
- End If
-
- MonthName = UCase(Trim(Left(MonthName, 3)))
-
- For i = 0 To 11
- If (UCase(cCalShortMonthNames(i)) = MonthName) Then
- CalGetIntOfShortMonthName = i+1
- Exit Function
- End If
- Next
-
- &apos; Not Found
- CalGetIntOfShortMonthName = 0
-End Function
-
-
-Sub CalInsertOwnDataInTables(ByVal iSelYear as Integer)
- &apos; inserts the individual data from the table into the previously unsorted list
-Dim CurEventName as String
-Dim CurEvMonth as Integer
-Dim CurEvDay as Integer
-Dim LastIndex as Integer
-Dim i as Integer
-Dim DateStr as String
- LastIndex = Ubound(DlgCalModel.lstOwnData.StringItemList())
- For i = 0 To LastIndex
- If GetSelectedDateUnits(CurEvDay, CurEvMonth, i) &lt;&gt; SBDATEUNDEFINED Then
- CurEventName = CalGetNameOfEvent(i)
- CalInsertBankholiday(DateSerial(iSelYear, CurEvMonth, CurEvDay), CurEventName, cHolidayType_Own)
- End If
- Next
-End Sub
-
-
-&apos; Finds eg the first,second Monday in a month
-&apos; Note: in This Function the week starts with the Sunday
-Function GetMonthDate(YearInt as Integer, iMonth as Integer, iWeekDay as Integer, iOffset as Integer)
-Dim bFound as Boolean
-Dim lDate as Long
- &apos; 1st Tue in Nov : Election Day, Half
- bFound = False
- lDate = DateSerial(YearInt, iMonth, 1)
- Do
- If iWeekDay = WeekDay(lDate) Then
- bFound = True
- Else
- lDate = lDate + 1
- End If
- Loop Until bFound
- GetMonthDate = lDate + iOffset
-End Function
-
-
-&apos; Finds the next weekday after a fixed date
-&apos; e.g. Midsummerfeast in Sweden: next Saturday after 20th June
-Function GetNextWeekDay(iYear as Integer, iMonth as Integer, iDay as Integer, iWeekDay as Integer)
-Dim lDate as Long
-Dim iCurWeekDay as Integer
- lDate = DateSerial(iYear, iMonth, iDay)
- iCurWeekDay = WeekDay(lDate)
- While iCurWeekDay &lt;&gt; iWeekDay
- lDate = lDate + 1
- iCurWeekDay = WeekDay(lDate)
- Wend
- GetNextWeekDay() = lDate
-End Function
-
-
-Sub AddFollowUpHolidays(ByVal lStartDate as Long, iCount as Integer, HolidayName as String, iType as Integer)
-Dim lDate as Long
- For lDate = lStartDate + 1 To lStartDate + 4
- CalInsertBankholiday(lDate, HolidayName, iType)
- Next lDate
-End Sub
-</script:module> \ No newline at end of file