array durchsuchen

  • ich wollt mal fragen wie man das macht wenn man ein in einem array alle index mit einem anderem array vergleicht.

    ich habe einmal $win = winlist()
    und will jetzt mit $newwin = winlist() suchen ob ein neuer string dazugekommen ist der nicht in $win vorhanden ist, wie mach ich das? _ArrayBinarySearch hat nicht funktioniert und ergab einen fehler im include-script(!)

  • den vergleich von zwei arrays ob im zweiten ein bestimmter neuer eintrag hinzugekommen ist.

  • If $win <> $newwin Then ....

    sowas? O_o

    Dieser Beitrag wurde 9521 mal editiert, zum letzten Mal von Blubkuh: Morgen, 02:28.

    [autoit]

    If Not $Elephant Then $Irelephant = True

    [/autoit]
  • Hi,

    mit dieser Funktion kann man 2 Arrays vergleichen und gibt die Übereinstimmungen ausgeben lassen.

    [autoit]

    #include <Array.au3>
    $Pos = _ArraySearch ($wert, $wert2)

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

    MfG
    Der_Doc

    Einmal editiert, zuletzt von Der_Doc (28. März 2007 um 16:41)

    • Offizieller Beitrag
    Zitat

    Hi,

    mit dieser Funktion kann man 2 Arrays vergleichen und gibt die Übereinstimmungen ausgeben lassen.

    #include <Array.au3>
    $Pos = _ArraySearch ($wert, $wert2)

    MfG
    Der_Doc

    Sorry Doc, aber dem muß wiedersprochen werden.
    Dir müßte selbst auffallen, dass gar kein Array zur Suche angegeben ist.
    Hier die korrekte Syntax für den Suchbefehl.

    [autoit]


    #include <Array.au3>
    _ArraySearch ( $ZuDurchsuchendesArray, $Suchbegriff, $Startindex = 0, $Endindex = 0, Sensitivität = 0, SucheMitTeilweiserUebereinstimmung = False )

    [/autoit]

    @Health
    Beide Arrays sortieren, dann vergleichen:
    Element[$i] von Array1 = Element[$i] von Array2
    wenn nicht wurde was geändert.

  • und wie krieg ich jetzt raus welcher string nicht vorhanden ist?

    hab das jetzt so:

    [autoit]

    ...

    [/autoit]

    ich erklär einfach mal was ich will:
    ich hab ein array mit Handles von bestimmten fenstern die ich vorher aus der winlist() "rausgefiltert hab. jetzt will ich nach ner zeit immer nachgucken ob es neue fenster gibt die dem filter entsprechen und lass dann eine funktion mit den fenstern laufen aber ich hab keine ahnung wie ich das realisieren soll :(

    3 Mal editiert, zuletzt von Health (29. März 2007 um 02:40)

    • Offizieller Beitrag

    Hier mal ein einfaches Beispiel. Voraussetzung ist, dass hier das Array1 die fixen Werte enthält und die variablen Werte im Array2 sind.

    Spoiler anzeigen
    [autoit]

    Dim $arArray1[10], $arArray2[10], $Unterschied = ""

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

    $arArray1[0] = "a"
    $arArray1[1] = "b"
    $arArray1[2] = "c"
    $arArray1[3] = "d"
    $arArray1[4] = "e"

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

    $arArray2[0] = "a"
    $arArray2[1] = "b"
    $arArray2[2] = "c"
    $arArray2[3] = "d"
    $arArray2[4] = "e"
    $arArray2[5] = "f"
    $arArray2[6] = "g"

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

    For $i = 0 To UBound($arArray1)-1
    If $arArray1[$i] <> $arArray2[$i] Then $Unterschied &= $arArray2[$i] & "|"
    Next

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

    MsgBox(0, '', $Unterschied)

    [/autoit]
  • problem gelöst, danke euch :party3:

    Einmal editiert, zuletzt von Health (29. März 2007 um 02:40)