Seite 1 von 2

kleine Spielerei mit StructureUnion und Datum zerlegen

Verfasst: 26.04.2008 18:00
von hjbremer
Finde ich irgendwie eleganter als ein Datum mit MID zu zerlegen.

Code: Alles auswählen

Structure datum1
  tag.s{2}
  pk1.s{1}
  mon.s{2} 
  pk2.s{1}
  jahr.s{4}
EndStructure 

Structure datum2
 StructureUnion 
  s.s{10}
  d.datum1
 EndStructureUnion
EndStructure 

  Dim d1.datum2(5)
  
  d1(0)\s="05.04.2008"   
  d1(1)\s="07.05.2009"    
  
  Debug d1(0)\d\tag
  Debug d1(0)\d\mon
  Debug d1(0)\d\jahr
  Debug "---"
  
  Debug d1(1)\d\tag
  Debug d1(1)\d\mon
  Debug d1(1)\d\jahr
  Debug "---"
    
  d2.datum2\s="15.11.2010"   
  
  Debug d2\d\tag
  Debug d2\d\mon
  Debug d2\d\jahr
  Debug "---"
  
PS: Kann man natürlich auch für andere Strings umbauen

Verfasst: 26.04.2008 19:30
von Andreas_S
Gute Idee!

Jetzt weiß ich endlich was StructureUnion macht...

Verfasst: 26.04.2008 19:37
von milan1612
Andreas_S hat geschrieben:Jetzt weiß ich endlich was StructureUnion macht...
Jupp, geht mir genauso...
Danke hjbremer, sehr anschaulich und vor allem praktisch :allright:

Verfasst: 26.04.2008 19:56
von marco2007
Jup, Danke ebenfalls.
Dieses Beispiel sollte in die Hilfe :allright:

Verfasst: 26.04.2008 22:45
von hjbremer
Danke für die Blumen :D

Verfasst: 26.04.2008 22:56
von STARGÅTE
im Prinzip wird das ja auch bei den Farben eingesetzt:

Ist mir aber auch erst jetzt aufgefallen als ich dein Code gesehen habe :wink: , auch danke von mir.

Code: Alles auswählen

Structure RGB
 R.c
 G.c
 B.c
EndStructure

Structure Farbe 
 StructureUnion 
  Farbe.l 
  Wert.RGB 
 EndStructureUnion 
EndStructure 

MeineFarbe.Farbe\Farbe = RGB(128,64,255)

Debug MeineFarbe\Farbe

Debug MeineFarbe\Wert\R
Debug MeineFarbe\Wert\G
Debug MeineFarbe\Wert\B

MeineFarbe\Wert\G = 190

Debug Green(MeineFarbe\Farbe)

Verfasst: 27.04.2008 12:27
von NicTheQuick
@STARGATE:
Wieso nutzt du 'R.c', 'G.c' und 'B.c'? Da muss jeweils ein 'b' dahinter, kein 'c'.
Wenn man den Code mit Unicode-Support an kompiliert, funktioniert er
nämlich nicht mehr, weil dann 'Character' 2 Bytes belegt.

Verfasst: 27.04.2008 13:00
von STARGÅTE
na ganz einfach Nic:
16728192
-128
64
-1
190
Das wäre ein bisschen quark.

Verfasst: 27.04.2008 13:14
von DarkDragon
STARGÅTE hat geschrieben:na ganz einfach Nic:
16728192
-128
64
-1
190
Das wäre ein bisschen quark.
Wie wäre es mit (r.b & $FF)? :freak:

Verfasst: 27.04.2008 13:16
von STARGÅTE
ja lol, dann muss ich aber über all diesen anhang mitschleifen, da bleibe ich lieber bei .c und kein Unicode.

Wenn jemand Unicode braucht soll er hat es mit Umwegen machen :freak: