Array in ein zweites Array übergeben mit For Next

  • Hallo,

    habe zwei Array's und möchte die Daten mit einer For Next Schleife Übergeben.

    Dim $aArrayNr[2]
    Dim $aArrayNr1[2]
    $aArrayNr[1]="Holger"
    $aArrayNr[2]="Jon"
    For $i = 1 To 2
    $aArrayNr1[$i] = $aArrayNr[$i]
    Next

    Funktioniert leider nicht! Wer kann mir helfen?

  • Hallo Keule-Freiburg,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die deutsche Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee

    und jetzt zu deinem Problem: Arrays beginnen in AutoIt (wie bei fast jeder anderen Programmiersprache auch) mit dem Element 0. Du musst es also so machen:

    [autoit]

    #include <array.au3>
    Dim $aArrayNr[2]
    Dim $aArrayNr1[2]
    $aArrayNr[0] = "Holger"
    $aArrayNr[1] = "Jon"
    For $i = 0 To 1
    $aArrayNr1[$i] = $aArrayNr[$i]
    Next
    _ArrayDisplay($aArrayNr1) ;zu Kontrollzwecken kann gelöscht werden

    [/autoit]

    mfg autoBert

  • Hi autoBert,

    danke für die schnelle Antwort.
    Da2 erste Array kommt aus einer Exceltabelle und soll in ein IE-Explorer Array übergeben werden.

    #Include <Excel.au3>
    #include <Array.au3>
    #include <Ie.au3>

    Dim $aArrayNr[2]

    $sFilePath = "C:\Temp\Nr.xls"
    $oExcel = _ExcelBookAttach($sFilePath)

    $aArrayNr = _ExcelReadArray($oExcel, 1, 1, 100, 1)

    $oIE = _IEAttach ( "Nr.","text")

    For $i = 0 to 100
    $fNr = _IEGetObjById($oIE, "t_nr[$i]")
    _IEFormElementSetValue($fNr, $aArrayNr[$i])
    Next

    Funktioniert leider nicht !

    Mfg

    Keule-Freiburg

  • Funktioniert leider nicht !


    Die Fehlerbeschreibung ist leider etwas zu nichts sagend.

    Ich habe zwar kein Excel, bin der Meinung sollte aber so funktionieren:

    Spoiler anzeigen
    [autoit]

    #include <Excel.au3>
    #include <Array.au3>
    #include <Ie.au3>

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

    Dim $aArrayNr[2]

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

    $sFilePath = "C:\Temp\Nr.xls"
    $oExcel = _ExcelBookAttach($sFilePath)

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

    $aArrayNr = _ExcelReadArray($oExcel, 1, 1, 100, 1)
    _ArrayDisplay($aArrayNr) ;zur Kontrolle

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

    $oIE = _IEAttach("Nr.", "text")

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

    For $i = 0 To UBound($aArrayNr) -1
    $fNr = _IEGetObjById($oIE, "t_nr[$i]")
    _IEFormElementSetValue($fNr, $aArrayNr[$i])
    Next

    [/autoit]

    sollten noch weitere Fargen bestehen bitte nach folgender Anweisung posten:

    • Kommt eine Fehlermeldung
    • wenn ja welche (bitte in Post kopieren)
    • bis wohin klappt es wie geplant?
    • wird das gewünschte Ergebnis nicht erreicht.

    Ausserdem ist die Excel-Tabelle hilfreich zum durchtesten.

    mfg autoBert