vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Feiertage ? 
Autor: unbekannt
Datum: 15.04.02 23:43

Naja,

weil auch Lordchen mal angefangen hat .... ein Erstwerk in ooP ... lange ist's her ....

Class1:


<code><font color=#000099>Option</font> <font color=#000099>Explicit</font>
<font color=#000099>Private</font> tmpDatum <font color=#000099>As</font> _
  Variant
<font color=#000099>Public</font> Event Feiertag(<font _
color=#000099>ByVal</font> TXTFeiertag <font color=#000099>As</font> <font _
color=#000099>String</font>)
<font color=#000099>Public</font> Event <font color=#000099>Error</font>(<font _
color=#000099>ByVal</font> NewError <font color=#000099>As</font> <font _
color=#000099>String</font>)
<font color=#000099>Private</font> tmpIsFeiertag <font color=#000099>As</font> _
<font color=#000099>Boolean</font>
<font color=#000099>Private</font> tmpFeiertag <font color=#000099>As</font> _
<font color=#000099>String</font>
<font color=#000099>Private</font> tmpError <font color=#000099>As</font> <font _
color=#000099>String</font>
<font color=#000099>Private</font> tmpFTyp <font color=#000099>As</font> _
clsFeiertagTyp
<font color=#000099>Private</font> tmpFTypes <font color=#000099>As</font> _
<font color=#000099>Collection</font>
<font color=#000099>Private</font> tmpWoT(7) <font color=#000099>As</font> _
<font color=#000099>String</font>
<font color=#000099>Private</font> tmpT <font color=#000099>As</font> <font _
color=#000099>String</font>
<font color=#000099>Private</font> tmpB <font color=#000099>As</font> <font _
color=#000099>String</font>
<font color=#000099>Private</font> tmpBListe <font color=#000099>As</font> _
Variant
<font color=#000099>Private</font> tmpEingang <font color=#000099>As</font> _
<font color=#000099>Boolean</font>
 
 
<font color=#000099>Private</font> <font color=#000099>Sub</font> _
  Class_Initialize()
   tmpWoT(1) = "Sonntag"
   tmpWoT(2) = "Montag"
   tmpWoT(3) = "Dienstag"
   tmpWoT(4) = "Mittwoch"
   tmpWoT(5) = "Donnerstag"
   tmpWoT(6) = "Freitag"
   tmpWoT(7) = "Samstag"
   tmpEingang = <font color=#000099>False</font>
   Ausrechnen Year(Date)
<font color=#000099>End</font> <font color=#000099>Sub</font>
 
 
<font color=#000099>Public</font> Property Get FeiertagListe() <font _
  color=#000099>As</font> Variant
   <font color=#000099>Dim</font> i <font color=#000099>As</font> <font _
   color=#000099>Byte</font>
   <font color=#000099>Dim</font> myvar() <font color=#000099>As</font> <font _
   color=#000099>String</font>
   i = 0
   <font color=#000099>On</font> <font color=#000099>Error</font> Resume <font _
     color=#000099>Next</font>
   <font color=#000099>ReDim</font> myvar(tmpFTypes.Count - 1, 3)
   <font color=#000099>For</font> Each tmpFTyp In tmpFTypes
      myvar(i, 0) = tmpFTyp.FName
      <font color=#000099>If</font> Len(tmpFTyp.FDate) = 8 <font _
        color=#000099>Then</font>
         myvar(i, 3) = "fest"
      <font color=#000099>Else</font>
         myvar(i, 3) = "beweglich"
      <font color=#000099>End</font> <font color=#000099>If</font>
      myvar(i, 1) = CVDate(tmpFTyp.FDate)
      myvar(i, 2) = tmpWoT(Weekday(tmpFTyp.FDate))
      i = i + 1
   <font color=#000099>Next</font>
   FeiertagListe = myvar
<font color=#000099>End</font> Property
 
 
<font color=#000099>Public</font> Property Get BenutzerListe() <font _
  color=#000099>As</font> Variant
   BenutzerListe = tmpBListe
<font color=#000099>End</font> Property
 
 
<font color=#000099>Public</font> Property Let BenutzerListe(vNewValue <font _
  color=#000099>As</font> Variant)
      <font color=#000099>Dim</font> mykon() <font color=#000099>As</font> _
      <font color=#000099>String</font>
      <font color=#000099>Dim</font> i, m <font color=#000099>As</font> <font _
      color=#000099>Long</font>
      tmpEingang = <font color=#000099>True</font>
      <font color=#000099>If</font> <font color=#000099>Not</font> IsArray( _
        vNewValue) <font color=#000099>Then</font>
         tmpError = "Der eingegebene Datentyp ist ungültig. Eigenschaft" & _
         "<Benutzerliste>"
         RaiseEvent <font color=#000099>Error</font>(tmpError)
      <font color=#000099>Else</font>
         m = <font color=#000099>UBound</font>(vNewValue, 1)
         <font color=#000099>ReDim</font> mykon(m, 1)
         <font color=#000099>For</font> i = 0 <font color=#000099>To</font> m
            <font color=#000099>Set</font> tmpFTyp = <font _
              color=#000099>New</font> clsFeiertagTyp
            tmpFTyp.FName = vNewValue(i, 0)
            tmpFTyp.FDate = vNewValue(i, 1)
            tmpFTypes.Add tmpFTyp, tmpFTyp.FDate
         <font color=#000099>Next</font>
      <font color=#000099>End</font> <font color=#000099>If</font>
      Erase mykon
<font color=#000099>End</font> Property
 
 
<font color=#000099>Public</font> Property Get IstFeiertag() <font _
  color=#000099>As</font> <font color=#000099>Boolean</font>
   IstFeiertag = tmpIsFeiertag
<font color=#000099>End</font> Property
 
 
<font color=#000099>Public</font> Property Get Feiertag() <font _
  color=#000099>As</font> <font color=#000099>String</font>
   Feiertag = tmpFeiertag
<font color=#000099>End</font> Property
 
 
<font color=#000099>Public</font> Property Get Fehler() <font _
  color=#000099>As</font> <font color=#000099>String</font>
   Fehler = tmpError
<font color=#000099>End</font> Property
 
 
<font color=#000099>Public</font> <font color=#000099>Sub</font> Datum(<font _
  color=#000099>ByVal</font> vNewValue <font color=#000099>As</font> Variant)
   <font color=#000099>If</font> <font color=#000099>Not</font> IsDate( _
   vNewValue) <font color=#000099>Then</font>
      tmpError = "Das eingegebene Datum ist ungültig. Eigenschaft <Datum>"
      RaiseEvent <font color=#000099>Error</font>(tmpError)
      <font color=#000099>Exit</font> <font color=#000099>Sub</font>
   <font color=#000099>End</font> <font color=#000099>If</font>
   tmpDatum = vNewValue
   <font color=#000099>If</font> Year(vNewValue) <> Year(Date) <font _
     color=#000099>Then</font> Ausrechnen (Year(vNewValue))
   <font color=#000099>For</font> Each tmpFTyp In tmpFTypes
      <font color=#000099>If</font> CVDate(tmpFTyp.FDate) = CVDate(vNewValue) _
        <font color=#000099>Then</font>
         tmpIsFeiertag = <font color=#000099>True</font>
         tmpFeiertag = tmpFTyp.FName
         tmpT = tmpWoT(Weekday(CVDate(vNewValue)))
         <font color=#000099>If</font> Len(tmpFTyp.FDate) = 8 <font _
           color=#000099>Then</font>
            tmpB = "fest"
         <font color=#000099>Else</font>
            tmpB = "beweglich"
         <font color=#000099>End</font> <font color=#000099>If</font>
         RaiseEvent Feiertag(<font color=#000099>ByVal</font> tmpFTyp.FName)
         <font color=#000099>Exit</font> <font color=#000099>For</font>
      <font color=#000099>Else</font>
         tmpIsFeiertag = <font color=#000099>False</font>
         tmpFeiertag = vbNullChar
         tmpT = ""
         tmpB = ""
      <font color=#000099>End</font> <font color=#000099>If</font>
   <font color=#000099>Next</font>
<font color=#000099>End</font> <font color=#000099>Sub</font>
 
 
<font color=#000099>Private</font> <font color=#000099>Function</font> _
  Osterdatum(<font color=#000099>ByVal</font> Jahr <font _
  color=#000099>As</font> <font color=#000099>Integer</font>) <font _
  color=#000099>As</font> Date
    <font color=#000099>Dim</font> A, b, c, d, e, tag, monat <font _
    color=#000099>As</font> <font color=#000099>Integer</font>
    A = Jahr Mod 19
    b = Jahr Mod 4
    c = Jahr Mod 7
    d = (19 * A + 24) Mod 30
    e = (2 * b + 4 * c + 6 * d + 5) Mod 7
    tag = 22 + d + e
    monat = 3
    <font color=#000099>If</font> tag > 31 <font color=#000099>Then</font>
        tag = d + e - 9
        monat = 4
    <font color=#000099>ElseIf</font> tag = 26 <font color=#000099>And</font> _
      monat = 4 <font color=#000099>Then</font>
        tag = 19
    <font color=#000099>ElseIf</font> tag = 25 <font color=#000099>And</font> _
      monat = 4 <font color=#000099>And</font> d = 28 <font _
      color=#000099>And</font> e = 6 <font color=#000099>And</font> A > 10 _
      <font color=#000099>Then</font>
        tag = 18
    <font color=#000099>End</font> <font color=#000099>If</font>
    Osterdatum = DateSerial(Year:=Jahr, Month:=monat, Day:=tag)
<font color=#000099>End</font> <font color=#000099>Function</font>
 
 
<font color=#000099>Private</font> <font color=#000099>Sub</font> Ausrechnen( _
  <font color=#000099>ByVal</font> xjahr <font color=#000099>As</font> <font _
  color=#000099>String</font>)
    <font color=#000099>Dim</font> j <font color=#000099>As</font> <font _
    color=#000099>String</font>
    <font color=#000099>Dim</font> myd <font color=#000099>As</font> Date
    <font color=#000099>Dim</font> myx <font color=#000099>As</font> Date
    <font color=#000099>Dim</font> f <font color=#000099>As</font> <font _
      color=#000099>Byte</font>
    typensetzen
    j = Right(xjahr, 2)
    myd = Osterdatum(xjahr)
    <font color=#000099>For</font> Each tmpFTyp In tmpFTypes
       f = InStr(1, tmpFTyp.FDate, ".")
       <font color=#000099>If</font> f <> 0 <font color=#000099>Then</font>
          tmpFTyp.FDate = tmpFTyp.FDate + j
       <font color=#000099>Else</font>
          Select Case tmpFTyp.FDate
              Case "Karfreitag"
                 tmpFTyp.FDate = DateAdd("d", -2, myd)
              Case "Ostersonntag"
                 tmpFTyp.FDate = myd
              Case "Ostermontag"
                 tmpFTyp.FDate = DateAdd("d", 1, myd)
              Case "Christi Himmelfahrt"
                 myx = DateAdd("d", 49, myd)
                 myx = DateAdd("ww", -1, myx)
                 myx = DateAdd("d", -3, myx)
                 tmpFTyp.FDate = myx
              Case "Pfingstsonntag"
                 tmpFTyp.FDate = DateAdd("d", 49, myd)
              Case "Pfingstmontag"
                 tmpFTyp.FDate = DateAdd("d", 50, myd)
              Case "Fronleichnam"
                 tmpFTyp.FDate = DateAdd("d", 60, myd)
              Case "Buß- und Bettag"
                 myd = "24.12." + j
                 <font color=#000099>Do</font> <font color=#000099>While</font> _
                   Weekday(myd) <> 1
                    myd = DateAdd("d", -1, myd)
                 <font color=#000099>Loop</font>
                 myd = DateAdd("ww", -4, myd)
                 myd = DateAdd("d", -4, myd)
                 tmpFTyp.FDate = myd
          <font color=#000099>End</font> Select
       <font color=#000099>End</font> <font color=#000099>If</font>
    <font color=#000099>Next</font>
<font color=#000099>End</font> <font color=#000099>Sub</font>
 
 
<font color=#000099>Private</font> <font color=#000099>Sub</font> typensetzen()
   <font color=#000099>Set</font> tmpFTypes = <font color=#000099>Nothing</font>
   <font color=#000099>Set</font> tmpFTypes = <font color=#000099>New</font> _
     <font color=#000099>Collection</font>
   <font color=#000099>Set</font> tmpFTyp = <font color=#000099>New</font> _
   clsFeiertagTyp
   <font color=#000099>With</font> tmpFTyp
     .FName = "Neujahr"
     .FDate = "01.01."
   <font color=#000099>End</font> <font color=#000099>With</font>
   tmpFTypes.Add tmpFTyp, tmpFTyp.FDate
   <font color=#000099>Set</font> tmpFTyp = <font color=#000099>New</font> _
     clsFeiertagTyp
   <font color=#000099>With</font> tmpFTyp
     .FName = "Dreikönigstag"
     .FDate = "06.01."
   <font color=#000099>End</font> <font color=#000099>With</font>
   tmpFTypes.Add tmpFTyp, tmpFTyp.FDate
   <font color=#000099>Set</font> tmpFTyp = <font color=#000099>New</font> _
     clsFeiertagTyp
   <font color=#000099>With</font> tmpFTyp
     .FName = "Karfreitag"
     .FDate = "Karfreitag"
   <font color=#000099>End</font> <font color=#000099>With</font>
   tmpFTypes.Add tmpFTyp, tmpFTyp.FDate
   <font color=#000099>Set</font> tmpFTyp = <font color=#000099>New</font> _
     clsFeiertagTyp
   <font color=#000099>With</font> tmpFTyp
     .FName = "Ostersonntag"
     .FDate = "Ostersonntag"
   <font color=#000099>End</font> <font color=#000099>With</font>
   tmpFTypes.Add tmpFTyp, tmpFTyp.FDate
   <font color=#000099>Set</font> tmpFTyp = <font color=#000099>New</font> _
     clsFeiertagTyp
   <font color=#000099>With</font> tmpFTyp
     .FName = "Ostermontag"
     .FDate = "Ostermontag"
   <font color=#000099>End</font> <font color=#000099>With</font>
   tmpFTypes.Add tmpFTyp, tmpFTyp.FDate
   <font color=#000099>Set</font> tmpFTyp = <font color=#000099>New</font> _
     clsFeiertagTyp
   <font color=#000099>With</font> tmpFTyp
     .FName = "Christi Himmelfahrt"
     .FDate = "Christi Himmelfahrt"
   <font color=#000099>End</font> <font color=#000099>With</font>
   tmpFTypes.Add tmpFTyp, tmpFTyp.FDate
   <font color=#000099>Set</font> tmpFTyp = <font color=#000099>New</font> _
     clsFeiertagTyp
   <font color=#000099>With</font> tmpFTyp
     .FName = "Pfingstsonntag"
     .FDate = "Pfingstsonntag"
   <font color=#000099>End</font> <font color=#000099>With</font>
   tmpFTypes.Add tmpFTyp, tmpFTyp.FDate
   <font color=#000099>Set</font> tmpFTyp = <font color=#000099>New</font> _
     clsFeiertagTyp
   <font color=#000099>With</font> tmpFTyp
     .FName = "Pfingstmontag"
     .FDate = "Pfingstmontag"
   <font color=#000099>End</font> <font color=#000099>With</font>
   tmpFTypes.Add tmpFTyp, tmpFTyp.FDate
   <font color=#000099>Set</font> tmpFTyp = <font color=#000099>New</font> _
     clsFeiertagTyp
   <font color=#000099>With</font> tmpFTyp
     .FName = "Tag der Arbeit"
     .FDate = "01.05."
   <font color=#000099>End</font> <font color=#000099>With</font>
   tmpFTypes.Add tmpFTyp, tmpFTyp.FDate
   <font color=#000099>Set</font> tmpFTyp = <font color=#000099>New</font> _
     clsFeiertagTyp
   <font color=#000099>With</font> tmpFTyp
     .FName = "Fronleichnam"
     .FDate = "Fronleichnam"
   <font color=#000099>End</font> <font color=#000099>With</font>
   tmpFTypes.Add tmpFTyp, tmpFTyp.FDate
   <font color=#000099>Set</font> tmpFTyp = <font color=#000099>New</font> _
     clsFeiertagTyp
   <font color=#000099>With</font> tmpFTyp
     .FName = "Mariae Himmelfahrt"
     .FDate = "15.08."
   <font color=#000099>End</font> <font color=#000099>With</font>
   tmpFTypes.Add tmpFTyp, tmpFTyp.FDate
   <font color=#000099>Set</font> tmpFTyp = <font color=#000099>New</font> _
     clsFeiertagTyp
   <font color=#000099>With</font> tmpFTyp
     .FName = "Tag der deutschen Einheit"
     .FDate = "03.10."
   <font color=#000099>End</font> <font color=#000099>With</font>
   tmpFTypes.Add tmpFTyp, tmpFTyp.FDate
   <font color=#000099>Set</font> tmpFTyp = <font color=#000099>New</font> _
     clsFeiertagTyp
   <font color=#000099>With</font> tmpFTyp
     .FName = "Reformationstag"
     .FDate = "31.10."
   <font color=#000099>End</font> <font color=#000099>With</font>
   tmpFTypes.Add tmpFTyp, tmpFTyp.FDate
   <font color=#000099>Set</font> tmpFTyp = <font color=#000099>New</font> _
     clsFeiertagTyp
   <font color=#000099>With</font> tmpFTyp
     .FName = "Allerheiligen"
     .FDate = "01.11."
   <font color=#000099>End</font> <font color=#000099>With</font>
   tmpFTypes.Add tmpFTyp, tmpFTyp.FDate
   <font color=#000099>Set</font> tmpFTyp = <font color=#000099>New</font> _
     clsFeiertagTyp
   <font color=#000099>With</font> tmpFTyp
     .FName = "Buß- und Bettag"
     .FDate = "Buß- und Bettag"
   <font color=#000099>End</font> <font color=#000099>With</font>
   tmpFTypes.Add tmpFTyp, tmpFTyp.FDate
   <font color=#000099>Set</font> tmpFTyp = <font color=#000099>New</font> _
     clsFeiertagTyp
   <font color=#000099>With</font> tmpFTyp
     .FName = "1. Weihnachtsfeiertag"
     .FDate = "25.12."
   <font color=#000099>End</font> <font color=#000099>With</font>
   tmpFTypes.Add tmpFTyp, tmpFTyp.FDate
   <font color=#000099>Set</font> tmpFTyp = <font color=#000099>New</font> _
     clsFeiertagTyp
   <font color=#000099>With</font> tmpFTyp
     .FName = "2. Weihnachtsfeiertag"
     .FDate = "26.12."
   <font color=#000099>End</font> <font color=#000099>With</font>
   tmpFTypes.Add tmpFTyp, tmpFTyp.FDate
<font color=#000099>End</font> <font color=#000099>Sub</font>
 
 
<font color=#000099>Public</font> Property Get Wochentag() <font _
  color=#000099>As</font> Variant
   Wochentag = tmpT
<font color=#000099>End</font> Property
 
 
<font color=#000099>Public</font> Property Get FeiertagTyp() <font _
  color=#000099>As</font> Variant
   FeiertagTyp = tmpB
<font color=#000099>End</font> Property
 
 
<font color=#000099>Public</font> Property Get Count() <font _
  color=#000099>As</font> Variant
   Count = tmpFTypes.Count
<font color=#000099>End</font> Property
 
 
<font color=#000099>Public</font> <font color=#000099>Sub</font> Remove(<font _
  color=#000099>ByVal</font> Index <font color=#000099>As</font> <font _
  color=#000099>Long</font>)
    tmpFTypes.Remove Index
<font color=#000099>End</font> <font color=#000099>Sub</font>
 
 
<font color=#000099>Public</font> <font color=#000099>Sub</font> Add(newi <font _
  color=#000099>As</font> clsFeiertagTyp, <font color=#000099>ByVal</font> _
  nDate <font color=#000099>As</font> Date)
    tmpFTypes.Add newi, nDate
<font color=#000099>End</font> <font color=#000099>Sub</font>
 
 
'<font color=#000099>Public</font> Property Let Item(<font 
' color=#000099>ByVal</font> Index <font color=#000099>As</font> <font 
' color=#000099>Long</font>)
<font color=green>'    Set Item = tmpFTypes.Item(Index)</font>
'<font color=#000099>End</font> Property
</code>
würde ich heute etwas anders proggen ...

cu
Lordchen
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Feiertage ?54Dieter15.04.02 16:08
Re: Feiertage ?38maic15.04.02 17:46
Re: Feiertage ?178unbekannt15.04.02 20:30
Re: Feiertage ?31maic15.04.02 23:00
Re: Feiertage ?166unbekannt15.04.02 23:24
Re: Feiertage ?161unbekannt15.04.02 23:28
Re: Feiertage ?194unbekannt15.04.02 23:43

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel