Hile zu Array - Element manipulieren

  • Guten Abend,

    an folgendem Sachverhalt hänge ich aktuell ein wenig und hoffe auf einen guten Hinweis:

    Ich habe ein Array mit folgenden Daten:

    Code
    0 <Datum> <Timestamp> <Username> <IP-Adresse>
    1<Datum> <Timestamp> <Username> <IP-Adresse>
    2 <Datum> <Timestamp> <Username> <IP-Adresse>
    3 <Datum> <Timestamp> <Username> <IP-Adresse>
    .
    .

    Wie kann ich in diesem Fall auf die IP-Adresse die Funktion _TCPIpToName() anwenden, also gezielt auf das letzte Element der jeweiligen Zeile?

    Gruß,
    mxtrp

    Einmal editiert, zuletzt von mxtrp (14. Oktober 2009 um 01:09)

  • Hallo,

    danke für deine Antwort. So "in der Art" habe ich es bereits versucht, jedoch finde ich wohl einfach nicht die richtige Stelle.

    Code
    $output = ""
    For $r = 1 to UBound($array,1) - 1
    $output = $output & @CRLF
    For $c = 0 to UBound($array,2) - 1
    $output = $output & $array[$r][$c] & "	"
    Next
    Next
    _ArrayDisplay($array)

    Wo müsste ich ansetzen damit ich das Element des Arrays zu packen bekomme?

    Gruß,
    Mxtrp

  • Du solltest deine Fragen präziser stellen und ein Sript posten mit dem man testen kann ^^

    Falls du die letzte Zeile im Array und davon den rechten Eintrag ermitteln willst, dann so

    [autoit]

    #include <Array.au3>
    Dim $array[5][4] = [["", "", "", ""],["Datum", "Timestamp", "Username", "IP-Adresse1"],["Datum", "Timestamp", "Username", "IP-Adresse2"],["Datum", "Timestamp", "Username", "IP-Adresse3"],["Datum", "Timestamp", "Username", "IP-Adresse4"]]
    _ArrayDisplay($array)

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

    $ergebnis = $array[UBound($array) -1][3]
    ConsoleWrite($ergebnis & @CRLF)

    [/autoit]
  • Ich versuche einmal, die nötigen Schritte zu posten, alle ca. 200 Zeilen erscheinen mir ein wenig viel.

    Ich hoffe das dieser Ausschnitt hilfreich ist - leider hatte ich bislang mit dem Erstellen von Programmen nie etwas zu tun, so dass es für mich schwer einzuschätzen ist.

    Danke & Gruß,
    mxtrp

  • So ganz klar ist immernoch nicht was in deinem Array steht. Besser zuviel Code als zuwenig ;)

    Hier das Bsp. von Tweaky etwas abgeändert, vielleicht hilfts ja:

    Spoiler anzeigen
    [autoit]


    #include <Array.au3>
    dim $ergebnis
    Dim $array[5][4] = [["", "", "", ""],["Datum", "Timestamp", "Username", "IP-Adresse1"],["Datum", "Timestamp", "Username", "IP-Adresse2"],["Datum", "Timestamp", "Username", "IP-Adresse3"],["Datum", "Timestamp", "Username", "IP-Adresse4"]]
    _ArrayDisplay($array)

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

    for $i = 1 to UBound($array, 1) -1
    $ergebnis &= $array[$i][3] & @CRLF
    Next
    ConsoleWrite($ergebnis)

    [/autoit]


    Ansonsten gibts hier auch tolle Tut's zum Thema Array.
    http://www.bug-fix.info/array_tut.htm

  • Vielen lieben Dank für die Hilfestellung, insbesondere der Link zu dem Array-Tutorial war sehr hilfreich. Jetzt werden aus den IP-Adresse endlich Hostnamen!

    Böse werde ich jetzt nur, wenn sich die Datenquelle ändert! 8)

    Gruß,
    mxtrp