Spezielle Variablen deklarieren

  • Hallo
    mir geht es darum Variablennamen in einer variable zu haben
    Bsp: Variable1=abc
    Name der Variable2 ist der Wert der Variablen1+j
    Also $abcj
    Ist so etwas Möglich?
    gruß
    jendrik

    Einmal editiert, zuletzt von jendrik (17. Mai 2008 um 14:53)

  • ich glaube du hast mich missverstanden:
    es geht darum den NAMEN der Variable so zu erstellen, nicht den wert
    gruß
    jendrik

  • hmm was soll das bringen, wenn schon, dann sollte man mit Arrays Arbeiten 8|

  • Ich habe eine schleife die für jedes laufwerk ein paar variablen ausspucken soll.
    Also $Csize, $Cname, usw.
    Da es aber nicht immer laufwerk C ist, sondern auch mal F oder C und F müssten diese nach dem Muster benannt werden
    darum diese idee
    wenn ihr bessere Vorschläge habt wäre ich auch froh
    gruß jendrik

  • da ich grad nicht weiß wie man laufwerke checkt, poste mal bitte deinen quellcode.
    gruß

    Einmal editiert, zuletzt von Dönn3y (17. Mai 2008 um 12:52)

    • Offizieller Beitrag

    Es geht, stör dich nicht an der Fehlermeldung beim Start. Die Variablen werden ja erst zur Laufzeit erstellt, sind somit noch nicht deklariert:

    [autoit]

    For $i = 1 To 9
    Assign('var' & $i, $i)
    Next
    ConsoleWrite('var1 = ' & $var1 & @CRLF)
    ConsoleWrite('var2 = ' & $var2 & @CRLF)
    ConsoleWrite('var3 = ' & $var3 & @CRLF)
    ConsoleWrite('var4 = ' & $var4 & @CRLF)
    ConsoleWrite('var5 = ' & $var5 & @CRLF)
    ConsoleWrite('var6 = ' & $var6 & @CRLF)
    ConsoleWrite('var7 = ' & $var7 & @CRLF)
    ConsoleWrite('var8 = ' & $var8 & @CRLF)
    ConsoleWrite('var9 = ' & $var9 & @CRLF)

    [/autoit]

    Aber um die Angaben weiter zu verarbeiten, mußt du vorab den Variablennamen kennen. Insofern weiß ich nicht, ob das was bringt.

  • @jendrik: Ich glaube du suchst Assign()

    [autoit]

    Dim $Var1 = "abc", $Var2
    Assign($Var2, $Var1 & "j")
    MsgBox(0, "Ergebnis", $Var2

    [/autoit]


    Edit: Mist da war jemand schneller :D
    PS: BugFix : Machs doch einfach so:

    Spoiler anzeigen
    [autoit]

    Dim $var0 = "abc"
    For $i = 1 To 9
    Assign('var' & $i, Eval("var" & $i -1) & "j ")
    ConsoleWrite("var" & $i & " = " & Eval("var" & $i) & @CRLF)
    Nex

    [/autoit]

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

    Einmal editiert, zuletzt von Fast2 (17. Mai 2008 um 13:14)

  • Jetzt funkt es
    anbei der code


    gruß
    jendrik