array übergeben

  • Guten Abend,

    zu später Stunde eine Frage. Ich möchte ein Array von einer Variablen in die andere übergeben, allerdings sollen die Einträge gleichzeitig "verschobenen" werden.
    Es soll dazu dienen, Parameter abzufragen bzw. zu übergeben. Da ich aber den ersten Parameter schon verwendet hab, soll es jetzt mit dem zweiten los gehen.

    Keine Ahnung, wie ich das erklären soll.

    Also: Das Ziel-Array ist um einen Eintrag kleiner als das Quell-Array.

    Hier mal mein Entwurf. Funktioniert leider nicht.

    Spoiler anzeigen
    [autoit]


    If $CmdLine[0]>1 Then
    $i = $CmdLine[0]-1 ; number of ous to be created
    Local $new_ou[$i] ; define array

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

    For $i = 1 to $new_ou[0]
    $new_ou[$i] = $CmdLine[$i+1] ; creates an array with ous to be created
    Next

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

    Else ; ask for the ous to be created by input box
    Local $ous=InputBox(@ScriptName, "Type the ous you want to create, separated by spaces.")
    If @error = 1 then terminate()
    Local $new_ou = StringSplit($ous, " ") ; also creates an array with ous to be created
    EndIf

    [/autoit]

    //edited: Bitte entschuldigt, die Einrückung der Zeilen scheint nicht übernommen worden zu sein. Mal schauen, wie ich das nächstes Mal übernehmen kann.

    Einmal editiert, zuletzt von optimizer (15. Februar 2012 um 09:58)

  • Hi,

    kann dir leider nicht ganz folgen, aber suchst du vielleicht

    [autoit]

    _ArrayPush

    [/autoit]

    ?

    Liefert folgender Code das, was du gerne haben möchtest?

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>

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

    Dim $aArray[5]

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

    For $i = 0 To UBound($aArray) - 1
    $aArray[$i] = $i * 100
    Next

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

    _ArrayDisplay($aArray)
    _ArrayPush($Aarray, 12345)
    _ArrayDisplay($aArray)

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


    Gruß stay

  • Kopier doch einfach das Ganze Array($new_ou = $CmdLine). Wenn du dann das 0-te Element weghaben willst kannst du das ja mit _ArrayDelete() machen.

    Gruss Shadowigor

  • Kopier doch einfach das Ganze Array($new_ou = $CmdLine). Wenn du dann das 0-te Element weghaben willst kannst du das ja mit _ArrayDelete() machen.

    Gruss Shadowigor

    Yepp, das wars. Ich wusste, dass das viel einfacher geht. Danke Euch beiden fürs optimizen... :thumbup:

    //edited: Tatsächlich muss ich das 0-te Element weghaben, da die Zählung innerhalb der <Array.au3> bei 0 beginnt, im Gegensatz zur sonstigen Array-Nummerierung

    array[0] = Anzahl_der_Werte

    Danke

    Einmal editiert, zuletzt von optimizer (15. Februar 2012 um 10:46)