legeneral
Goto Top

Array befüllen mit Variablen

Das Problem ist folgendes, ich möchte die Konstanten in das Array einlesen lassen mittels einer Schleife.
Der Knackpunkt liegt darin, dass bei der Zuweisung des Arraywertes die Zuweisung als Textstring erkannt wird und nicht als der Wert der oben Angegebenen Konstanten.

Einer eine Idee oder ist es nicht möglich??

Dim ProcessArray(2) ' Array
Dim i 'Hilfsvariable

Const Process1 = "Notepad.exe"
Const Process2 = "Mspaint.exe"

For i = 1 To 2

ProcessArray(i) = "Process" & i
WScript.Echo ProcessArray(i)

Next

Content-Key: 85722

Url: https://administrator.de/contentid/85722

Printed on: April 25, 2024 at 12:04 o'clock

Member: bastla
bastla Apr 17, 2008 at 07:53:11 (UTC)
Goto Top
Hallo LeGeneral und willkommen im Forum!

Kürze das doch einfach so ab:
ProcessArray = Array("Notepad.exe", "Mspaint.exe")  

For i = 0 To UBound(ProcessArray)
    WScript.Echo ProcessArray(i)
Next

Grüße
bastla
Member: tacker
tacker Apr 17, 2008 at 08:10:05 (UTC)
Goto Top
Dim ProcessArray(2) ' Array
Dim i 'Hilfsvariable

Const Process1 = "Notepad.exe"
Const Process2 = "Mspaint.exe"

For i = 1 To 2

ProcessArray(i) = "Process" & i
WScript.Echo ProcessArray(i)

Next

Salü, noch kurz zur Erklärung:

Du definierst dein Array mit der Grösse 2! Das Array wird aber von 0 an aufgefüllt - sprich bei deiner Arraygrösse gibt's dann ProcessArray(0) und ProcessArray(1) die dir zur Verfügung stehen...

also müsste es zumindest so aussehen - aber bastla's Kurzversion ist natürlich vorzuziehen!

Dim ProcessArray(2) ' Array  
Dim i 'Hilfsvariable  

Const Process1 = "Notepad.exe"  
Const Process2 = "Mspaint.exe"  

For i = 1 To 2

ProcessArray(i-1) = "Process" & i  
WScript.Echo ProcessArray(i-1)

Next

Gruss tacker
Member: bastla
bastla Apr 17, 2008 at 08:16:45 (UTC)
Goto Top
@tacker

Damit wird aber noch nicht das Ziel erreicht, den Inhalt der Konstanten in das Array zu bekommen - dafür wäre noch ein "Eval()" nötig, also:
ProcessArray(i-1) = Eval("Process" & i)  

Grüße
bastla
Member: tacker
tacker Apr 17, 2008 at 08:23:59 (UTC)
Goto Top
ich wollte ihm doch nur ein bisschen helfen face-smile ich sagte doch er solle deine version nehmen ;)

Grüsse tacker
Member: bastla
bastla Apr 17, 2008 at 08:28:16 (UTC)
Goto Top
@tacker
ich wollte ihm doch nur ein bisschen helfen face-smile
... und ich das andere bisschen - sollte doch OK sein in dieser unserer arbeitsteiligen Welt face-wink ...

Grüße
bastla
Member: LeGeneral
LeGeneral Apr 17, 2008 at 08:34:14 (UTC)
Goto Top
Besten Dank das ist die Lösung euch beiden, das war es.


@ Tacker danke für die Erklärung, dass das VBS Array mit 0 beginnt.

@ bastla deine Lösung ist die, die ich gesucht habe aber ein anderer Gedankenansatz ist auch nicht schlecht....