bei deinem beispiel kann ich nicht besonders einen sinn erkennen.
wenn es dir um sowas wie ne enum geht, ist ein array auf jeden fall besser geeignet als ne struct.
Code: Alles auswählen
Dim IconName.s(4)
Restore IconTable
For n=1 To 4
Read IconName(n)
Next
DataSection
IconTable:
Data.s "Haus", "Auto", "Hund", "Katze"
EndDataSection
wenn du im programmverlauf die namen nicht brauchst, ergibt es nicht den geringsten sinn,
sie irgendwo zu verwenden, es sei denn als konstanten.
Code: Alles auswählen
Enumeration
#Icon_Haus
#Icon_Auto
#Icon_Hund
#Icon_Katze
EndEnumeration
ansonsten schreib dir
Icon_Haus = 1
Icon_Auto = 2
Icon_Hund = 3
Icon_Katze = 4
auf nen zettel und verwende die zahlen direkt.
aber es ergibt keinen sinn, vier unterschiedliche variablen zu verwenden
(oder vier unterschiedliche felder einer struktur)
um eine einzige eigenschaft zu speichern.
du willst ja wohl die icon-nummern an der selben stelle verwenden, also z.b. um ein image zuzuordnen.
eine struct verwendet man dazu, um unterschiedliche eigenschaften von einer reihe elementen speichern zu können.
Code: Alles auswählen
Structure Icon
Number.l
Name.s
XSize.w
YSize.w
EndStructure
NewList Symbols.Icon()
NameBuf.s = ""
XSBuf.w = 0
YSBuf.w = 0
Restore Table
For n=1 To 4
Read NameBuf
Read XSBuf
Read YSBuf
AddElement(Symbols())
Symbols()\Number = n
Symbols()\Name = NameBuf
Symbols()\XSize = XSBuf
Symbols()\YSize = YSBuf
Next
DataSection
Table:
Data.s "Haus"
Data.w 64,64
Data.s "Auto"
Data.w 48,48
Data.s "Hund"
Data.w 32,32
Data.s "Katze"
Data.w 24,24
EndDataSection
ForEach Symbols()
Out$ = "Element Nr. " + Str(Symbols()\Number) + " is "
Out$ + Chr(34) + Symbols()\Name + Chr(34)
Out$ + ", Size: " + Str(Symbols()\XSize) + "x" + Str(Symbols()\YSize)
Debug Out$
Next
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.