Seite 1 von 1
nummerierte Variablen erzeugen [erledigt]
Verfasst: So, 12.09.2010 14:02
von clag
Hallo Leutz,
in einer Schleife möchte ich pro Durchgang eine neue Variable erzeugen mit der Zahl des Zählers als Namensteil
zB so
Code: Alles auswählen
For i = 0 to oDocGraphics.count - 1
gfkurl_ & i = oDocGraphics.GetbyIndex(i).GraphicURL
Next
msgbox _
gfkurl_1 & chr(13) & _
gfkurl_2 & chr(13) & _
gfkurl_3 & chr(13) & _
gfkurl_4 & chr(13) & _
gfkurl_5 & chr(13) & _
gfkurl_6 & chr(13) & _
gfkurl_7 & chr(13) & _
gfkurl_8 & chr(13) & _
"ende "
um anschließend alle Werte auf einmal auszugeben
allerdings nimmt mir Basic diesen
Versuch übel und meckert über "unerwartetes Zeichen"
wie könnte ich sonst durchnummerierte Variablen erzeugen ?
Re: nummerierte Variablen erzeugen
Verfasst: So, 12.09.2010 15:36
von Karolus
Hallo
Man kann keine Variablen
namen per Verkettung erzeugen, auch nicht in anderen Programmiersprachen.
Du möchtest:
Code: Alles auswählen
dim aMessage( oDocGraphics.count )
For i = 0 to oDocGraphics.count - 1
aMessage( i ) = oDocGraphics.GetbyIndex( i ).GraphicURL
Next
aMessage( oDocGraphics.count ) = "Ende"
msgbox join( aMessage() , chr(13))
Gruß Karo
Re: nummerierte Variablen erzeugen
Verfasst: So, 12.09.2010 17:31
von clag
Hallo Karo,
ja wenn das so ist, dann eben nicht
für die reine Anzeige bzw das auflisten hatte ich mir schon so etwas ähnliches wie du es vorschlägst
zusammen gebastelt und in die Schleife eingebaut
Code: Alles auswählen
For i = 0 to oDocGraphics.count - 1
grfk_url = oDocGraphics.GetbyIndex(i).GraphicURL
namelist = namelist & "Grafik " & i & " = " & grfk_url & " <" & chr(13)
next
MsgBox namelist
was dann nach ende der Schleife alles gemeinsam angezeigt
troztdem Danke
Re: nummerierte Variablen erzeugen [erledigt]
Verfasst: Mo, 13.09.2010 21:13
von Stephan
Hinweis:
Man kann keine Variablennamen per Verkettung erzeugen
Naja, man würde es wohl nicht tun, weil es nicht besonders sinnvoll ist, gehen ansich sollte es mit etwas Umweg hingegen schon, da man zur Laufzeit eines Makros auch neue Module/Makros erstellen und starten kann und innerhalb dieser auch Variablen initialisieren.
Es ist einfach nur nötig zur Laufzeit ein neues Makro uzu erzeugen und innerhalb dessen Code die vorher erzeugten Variablennamen einzubauen, und diese Makros anschließend gleich zu starten. Bei Michael gibts Hinweise dazu wie man Makros zur Laufzeit erzeugt:
http://www.starbasicfaq.de/WiekannmanMo ... chen..html
In anderen Programmiersprachen ist sowas ebenfalls möglich da man beispielsweise Dateien mit Code zur Laufzeit einbinden kann und anschließend ausführen, bei z.B. Webprogrammierung und Inline-Skripten ist das weit verbreitet, geht aber auch bei eher 'klassischen' Programmiersprachen (wobei ich ein Beispiel hier einmal schuldig bleibe, denn ich müßte erst einmal suchen, da man solche Art der Programmmierung ja nicht jeden Tag macht).
Gruß
Stephan