Seite 1 von 1

StructureUnion und Namen für Wochentage+Monatsnamen zuweisen

Verfasst: 07.06.2008 20:25
von hjbremer
hier ein weiteres Beispiel wie man mit StructureUnion sehr einfach den Wochentagen und Monaten einen Namen zuweisen kann.
Man könnte natürlich auch StringField oder MID nehmen, aber ich finds so viel schöner, einfacher und schneller :D

Code: Alles auswählen

;HJBREMER PB 4.1 - Windows XP

Structure DatumsNamen

   StructureUnion
    wochenstrg.s{24}
    wochenname.s{3}[0]
   EndStructureUnion

   StructureUnion
    monatsstrg.s{52}
    monatsname.s{4}[0]
   EndStructureUnion

EndStructure   

;Hinweis: die Fragezeichen werden bei einem falschen Datum ausgegeben

name.DatumsNamen\wochenstrg = "??.So.Mo.Di.Mi.Do.Fr.Sa."
name.DatumsNamen\monatsstrg = "???.Jan.Feb.MärzApr.Mai JuniJuliAug.Sep.Okt.Nov.Dez."

;aktuelles Datum per API

GetLocalTime_(sys.systemtime)

Debug name\wochenname[1+sys\wDayOfWeek]
Debug name\monatsname[sys\wMonth]

;oder mit PB

datum = Date()
  tag = 1 + DayOfWeek(datum)    ;fängt bei 0 an
  mon = Month(datum)            ;fängt bei 1 an

Debug name\wochenname[tag]
Debug name\monatsname[mon]

;oder

eigenesDatum$ = "06.05.08"       ;z.B. aus einer Tabelle geholt

datum = ParseDate("%dd.%mm.%yy", eigenesDatum$)
  tag = 0
  mon = 0
  If datum > -1                  ;falsches Datum ergibt -1 
    tag = 1 + DayOfWeek(datum)
    mon = Month(datum)
  EndIf

Debug name\wochenname[tag]
Debug name\monatsname[mon]
         
PS: Kann mir mal jemand verraten warum GetSystemTime und GetLocalTime unterschiedlich sein können, war bei mir so. Dachte immer das wäre gleich.

Verfasst: 08.06.2008 13:38
von mk-soft
Mit GetSystemTime(...) kommt GMT

FF :wink: