-
        

Ergebnis 1 bis 6 von 6

Thema: Berechnung der Feiertage in Bascom

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    24.03.2006
    Beiträge
    12

    Berechnung der Feiertage in Bascom

    Anzeige

    Hallo,

    hat mal jemand unter Bascom die Feiertage berechnet ...
    (Gauss-Fomel für Ostersonntag + X für die nächsten Feiertage)
    und veröffentllicht den Code?

    Danke vorab

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    09.10.2004
    Beiträge
    40
    Hi!

    Habs zwar nicht in Bascom ihr aber in Visual Basic.
    http://www.microsoft.com/germany/msd....mspx?mfr=true

    Müßte man auf Bascom umschreiben(pro Code-Zeile nur eine Berechnung !)

    gruß,MX3

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    In Excel habe ich das so:
    tag = ((234 - 11 * (current_year Mod 19)) Mod 30) + 21
    ostern = DateSerial(current_year, 3, 1) + tag + (tag > 4 + 6 - ((current_year + current_year \ 4 + tag + (tag > 4 + 1) Mod 7)

    Ungetestet übersetzt wäre das etwa so:

    config date= DMY , Separator = .

    tag=_year mod 19
    tag=tag*11
    tag=234-tag
    tag=tag mod 30
    tag=tag+21
    if tag>48 then tag=tag+1
    märz01="01.03."+str(_year)
    ostern=_year\4
    ostern=ostern+year
    ostern=ostern+tag
    ostern=ostern+1
    ostern=ostern mod 7
    ostern=sysday(märz01)-ostern
    ostern=ostern+tag
    ostern=ostern+6

    Rosenmontag=ostern-48
    Karfreitag=ostern-2
    Ostersonntag=ostern
    Ostermontag=ostern+1
    Christi_Himmelfahrt=ostern + 39
    Pfingstsonntag=ostern + 49
    Pfingstsonntag=ostern + 50
    Fronleichnam=ostern + 60


    Gruß

    Rolf

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Versteht jemand, wo der diese beiden smilies hergenommen hat?
    Da soll eigentlich eine 8 und eine) stehen.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.11.2004
    Ort
    Hard, Vorarlberg
    Beiträge
    155
    Ich habe die obige Formel für das 21. Jahrhundert vereinfacht und in eine Library-Funktion umgesetzt.

    Die Funktion Eastern ist gültig von 2000 bis 2099 und muss mit einem BYTE-Wert von 0 bis 99 (Jahreszahl) aufgerufen werden.

    Mit Einbindung der Library Eastern.lib/lbx kann die Funktion Eastern benutzt werden, welche eine SYSDAY-Wert zurückgibt. Dies ist ein nummerischer Wert vom Typ WORD, welcher die Anzahl der Tage seit dem 1.1.2000 angibt.

    Mit diesem Wert kann in BASCOM-AVR mit Tagen gerechnet werden.

    Mit der Funktion DATE kann dann dieser SYSDAY-Wert in einen Datums-String oder auch in diskrete Werte für Tag, Monat und Jahr umgewandelt werden.
    Code:
    Dim wOsterSonntag as Word
    Dim bJahr as Byte
    
    bJahr = 6
    wOsterSonntag = Eastern (bJahr)    
    Print Date(wOsterSonntag)
    Mit diesem Code-Beispiel wird 16.04.06 ausgegeben.

    Aus dem angehängten ZIP-File müssen die Dateien Eastern.lib und Eastern.lbx in den LIB-Pfad kopiert werden. Ein ausführliches Beispiel, wie man diese Funktion Eastern benutzt ist im File Ostern.bas enthalten.
    Angehängte Dateien Angehängte Dateien
    Viele Grüße
    Josef
    -------------------------------------------------------------------------------------
    DOS-File System für BASCOM-AVR auf http://members.aon.at/voegel

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    24.03.2006
    Beiträge
    12
    Hey, Klasse - Funktioniert prima!

    Vielen Dank dafür!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •