kann keine arrays erstellen

  • hi
    ich wollte gerade ein array in meinem script erstellen. allerdings kriege ich immer den fehler

    Expected a "=" operator in assignment statement.:
    $abc[0]="123"
    $abc^ ERROR

    der fehler tritt auch auf wenn ich das ganze in ein leeres script schreibe also liegt es nicht am rest des codes. habe schon alles mögliche versucht aber der fehler tritt immer wieder auf :(
    ich wäre für einen kleinen denkanstoß sehr dankbar :)

  • Hi,
    Das Array ist ja eine Variable die zuerst deklariert werden muss.

    [autoit]

    #include <Array.au3>

    [/autoit][autoit][/autoit][autoit]

    Dim $abc[2]

    [/autoit][autoit][/autoit][autoit]

    $abc[0]="123"
    $abc[1]="567"

    [/autoit][autoit][/autoit][autoit]

    _ArrayDisplay($abc)

    [/autoit]

    Dim $abc bedeutet, dass dem Array 2 Einträge zur Verfügung gestellt werden.

  • achso. ich kannte mich bisher nur in php aus und da muss man ja nichts erst deklarieren oder so. wozu ist denn der include befehl da. muss ich das erst machen damit ich arrays erstellen kann?

  • alles klar ich verstehe :)
    gibts auch eine möglichkeit die arrays in funktionen, also global verfügbar zu machen? oder muss man da mit zeigern arbeiten?

  • einfach ein Global statt Dim verwenden, dann ist das Array auch innerhalt aller Funktionen verfügbar. Hier ein Ausschnitt aus der Hilfe.

    "The difference between Dim, Local and Global is the scope in which they are created:
    Dim = Local scope if the variable name doesn't already exist globally (in which case it reuses the global variable!)
    Global = Forces creation of the variable in the Global scope
    Local = Forces creation of the variable in the Local/Function scope"

    schönes Wochenende !

    Franz

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

  • vielen dank ihr habt mir sehr geholfen. echt nettes board hier :)
    ich hab noch eine frage. so wie es jetzt ist muss ich ja bei jedem eintrag den ich mache den index angeben. ist es möglich das man es ohne index macht? also in php geht es zb so, aber das funktioniert nicht in autoit:

    [autoit]

    $array[]="abc"

    [/autoit]

    4 Mal editiert, zuletzt von autoit_newbie (18. Oktober 2008 um 17:03)

  • Hi,

    in solchen Fällen hat mir immer das Tutorial von BugFix immer sehr geholfen
    http://www.bug-fix.info/array_tut.htm
    Da steht alles sehr gut einfach und recht übersichtlich lang beschrieben.

    Ja Autoit möchte wissen wieviel Elemente ein array hat. Allerdings kann man ja im Programmverlauf beliebig viele Werte hinzufügen oder löschen.

    Der kleinste, deklarierbare Wert ist ein Array mit einem Element:
    Dim $arTest[1]

    Franz

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---