array auffüllen und sortieren

  • Moin,
    ich habe ein Problem mit einem Array. Unten angefügt!!
    Ich möchte die Schlüssel 9935_Dat_0 -.... auffüllen.
    Also, die drei oder mehr Einträge sollen immer von Dat_0 anfangen. Die Lücken sollen geschlossen werden.
    Wie kann ich es lösen?

    Col0 Col1 Col0 Col1
    9935_Dat_0 9935_Dat_0
    9935_Dat_1 Text1 9935_Dat_1 Text1
    9935_Dat_2 Text2 9935_Dat_2
    9935_Dat_3 Text3 9935_Dat_3 Text2
    9935_Dat_4 Text3
    9935_Dat_5
    9935_Dat_6 Text4

    Gruß
    Wuff

    4 Mal editiert, zuletzt von wuff100 (8. Februar 2011 um 19:58)

  • Hallo wuff,

    bist du dir sicher, dass das Array hier korrekt angezeigt wird?

    denn 4 Spalten wobei die 1. identische Bezeichnung wie die 3. Spalte und die 2. identisch mit der 4. Spalte ist, lässt mich einen Copy-Paste Fehler vermuten.
    Mit was soll aufgefüllt werden, woher kommen die Daten. Poste doch einmal eine Datei vorher und nachher, denn ich habe immer noch nichts verstanden,

    mfg autoBert

  • Col0 Col1

    Dat0
    Dat1 Text1
    Dat2
    Dat3 Text2
    Dat4 Text3
    Dat5
    Dat6
    Dat7 Text4

    Text 1 - 4 soll hinter Dat0 - Dat3 stehen. Also Dat0 und Dat2 auffüllen mit dem vorhandenen Text.


    Col0 Col1

    Dat0 Text1
    Dat1 Text2
    Dat2 Text3
    Dat3 Text4
    Dat4
    Dat5
    Dat6
    Dat7

  • Spoiler anzeigen
    [autoit]

    #include <array.au3>

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

    Dim $aArray[8][2] = [["Dat0", ""], ["Dat1", "Text1"], ["Dat2", ""], ["Dat3", "Text2"], ["Dat4", "Text3"], ["Dat5", ""], ["Dat6", ""], ["Dat7", "Text4"]]
    _ArrayDisplay($aArray)

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

    For $i =0 To UBound($aArray)-1
    If $aArray[$i][1] = "" Then
    For $j = $i +1 To UBound($aArray)-1
    If $aArray[$j][1] <> "" Then
    $aArray[$i][1] = $aArray[$j][1]
    $aArray[$j][1] = ""
    ExitLoop
    EndIf
    Next
    EndIf
    Next
    _ArrayDisplay($aArray)

    [/autoit]