Sortierung von Arrays im Datumsformat

  • Hallo,

    ich habe ein Problem mit der Sortierung eines Arrays. Der Array beinhaltet Ordnernamen die wiederum in einer gui-liste angezeigt werden- Leider nicht oder besser gesagt !falsch! sortiert. Die Werte im Array sind alle im Format dd.mm.jjjj aber er sortiert nur dd und nicht wie es sein sollte das komplette packet. Habe schon verschiedene Sachen ausprobiert aber komme nicht weiter. hier der Ausschnitt um den es geht:

    Spoiler anzeigen
    [autoit]


    #include <Date.au3>
    #include <GUIConstants.au3>
    #include <Array.au3>
    #Include <File.au3>
    #include <GUIConstants.au3>
    #include <GuiCombo.au3>
    #include <GuiList.au3>
    #include <GuiEdit.au3>

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

    dim $sort[1]
    $ort = "S:\Fehlermeldungen\"

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

    $Listing=_FileListToArray($ort, "*", 2)
    _ArraySort($Listing, 1)

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

    Opt("GUIOnEventMode", 0)

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

    $Fehleransicht=GUICreate("Öffnen", 380, 450)

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

    $2=GUICtrlCreateList("", 20, 30, 200, 150)
    GUICtrlCreateLabel("Ordner wählen", 20, 10)
    $3=GUICtrlCreateList("", 20, 220, 200, 150)
    GUICtrlCreateLabel("Datei wählen", 20, 200)
    $open=GUICtrlCreateButton("Öffnen", 245, 220, 110, 25)
    $information=GUICtrlCreateButton("Info", 245, 260, 110, 25)
    $neuste=GUICtrlCreateButton("Neuste Datei öffnen", 245, 300, 110, 25)
    $zusammenfassen=GUICtrlCreateButton("Zusammenfassen", 245, 340, 110, 25)
    $beenden=GUICtrlCreateButton("Beenden", 150, 400, 110, 25)
    GUICtrlSetState($3, @sw_hide)
    $max = $Listing[0]
    For $i = 1 to $max
    _GUICtrlListAddItem($2, $Listing[$i])
    Next
    GUISetState(@sw_show)

    [/autoit]

    Der Array "Listing" soll hiert sortiert werden.

    Danke schonmal für eure Hilfe.

    MfG

    akira

    MfG

    akira2012

    ***---____---Wer RechtSCHRAIBfehler findet der darf Sie behalLTEN!---___---***

    • Offizieller Beitrag

    Wenn du das Ordnerdatum mit ausliest, bringe es in die Form: JJJJMMTT, z.B. 20070427. Nur darauf achten, dass sowohl die Monats- als auch die Tageswerte immer 2-stellig sind.
    So kannst du es problemlos sortieren. Kannst es hinterher ja in die gängige Schreibweise TT.MM.JJJJ zurückkonvertieren.

  • Sry ich sollte vielleicht doch mal das GANZE Script vorstellen.

    Spoiler anzeigen
    [autoit]


    #include <Date.au3>
    #include <GUIConstants.au3>
    #include <Array.au3>
    #Include <File.au3>
    #include <GUIConstants.au3>
    #include <GuiCombo.au3>
    #include <GuiList.au3>
    #include <GuiEdit.au3>

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

    dim $sort[1]
    $ort = "S:\Fehlermeldungen\"

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

    $Listing=_FileListToArray($ort, "*", 2)
    _ArraySort($Listing, 1)

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

    Opt("GUIOnEventMode", 0)

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

    $Fehleransicht=GUICreate("Öffnen", 380, 450)

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

    $2=GUICtrlCreateList("", 20, 30, 200, 150)
    GUICtrlCreateLabel("Ordner wählen", 20, 10)
    $3=GUICtrlCreateList("", 20, 220, 200, 150)
    GUICtrlCreateLabel("Datei wählen", 20, 200)
    $open=GUICtrlCreateButton("Öffnen", 245, 220, 110, 25)
    $information=GUICtrlCreateButton("Info", 245, 260, 110, 25)
    $neuste=GUICtrlCreateButton("Neuste Datei öffnen", 245, 300, 110, 25)
    $zusammenfassen=GUICtrlCreateButton("Zusammenfassen", 245, 340, 110, 25)
    $beenden=GUICtrlCreateButton("Beenden", 150, 400, 110, 25)
    GUICtrlSetState($3, @sw_hide)
    $max = $Listing[0]
    For $i = 1 to $max
    _GUICtrlListAddItem($2, $Listing[$i])
    Next
    GUISetState(@sw_show)

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

    While 1
    $msg = GUIGetMsg()

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

    Select

    Case $msg = $2
    _GUICtrlListClear($3)
    $Auslesen = GUICtrlRead($2)
    $Ordner=_FileListToArray($Ort&$Auslesen&"\", "*", 1)
    $max2 = $Ordner[0]
    For $i = 1 to $max2
    _GUICtrlListAddItem($3, $Ordner[$i])
    Next
    GUICtrlSetState($3, @sw_show)

    Case $msg = $open
    $auswahl=GUICtrlRead($3)
    If NOT $auswahl = "" Then

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

    $alri=FileRead($Ort&$Auslesen&"\"&$auswahl)
    $open1=GUICreate($auswahl)
    $edit = GUICtrlCreateButton("Editieren", 50, 350, 100, 25)
    $druck = GUICtrlCreateButton("Drucken", 150, 350, 100, 25)
    $beende=GUICtrlCreateButton("Beenden", 250, 350, 100, 25)
    $groesse=_FileCountLines($Ort&$Auslesen&"\"&$auswahl)
    $hoehe = $groesse*17
    $breite = 400
    $label=GUICtrlCreateLabel($alri, "1", "1", $breite, $hoehe, $SS_SUNKEN )
    GUICtrlSetBkColor($label, 0X000000)
    GUICtrlSetColor($label, 0XFFFFFF)
    GUISetState(@sw_show, $open1)
    GUISwitch($open1)
    While 1

    $msg1 = GUIGetMsg()

    Select

    Case $msg1=$edit
    run("notepad "&$auswahl, $Ort&$Auslesen)
    Case $msg1=$druck
    _FilePrint($Ort&$Auslesen&"\"&$auswahl)

    Case $msg1 = $GUI_EVENT_CLOSE
    GUISetState(@sw_hide)
    ExitLoop

    Case $msg1 = $beende
    GUISetState(@sw_hide)
    ExitLoop

    EndSelect


    WEnd

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

    ;MsgBox(0, $auswahl, $alri)
    Else
    MsgBox(0x10, "Fehler!", "Sie haben keine Datei ausgewählt")
    EndIf


    Case $msg = $information
    $auswahl=GUICtrlRead($3)
    If NOT $auswahl = "" Then
    $da=FileGetTime($Ort&$Auslesen&"\"&$auswahl, 1, 0)
    $Filedatum = "Diese Datei wurde erstellt am: " & $da[2] & "." & $da[1] & "." & $da[0] & " um " & $da[3] & ":" & $da[4] & " Uhr"
    $test=$Ort&$Auslesen&"\"&$auswahl
    ToolTip($Filedatum, 500, 500, "Info", 1)
    sleep(2000)
    ToolTip("")
    Else
    MsgBox(0x10, "Fehler!", "Sie haben keine Datei ausgewählt")
    EndIf

    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop

    case $msg = $neuste
    $inhalt = _FileListToArray($Ort, "*", 2)

    $max3 = $inhalt[0]

    for $i = 1 to $max3
    IF FileExists($Ort&$inhalt[$i]&"\*.txt") Then
    $dateien = _FileListToArray($Ort&$inhalt[$i], "*", 1)
    $max4 = $dateien[0]
    for $id = 1 to $max4
    $da=FileGetTime($Ort&$inhalt[$i]&"\"&$dateien[$id], 1, 0)
    IF NOT $id = $max4 Then
    $da2=FileGetTime($Ort&$inhalt[$i]&"\"&$dateien[$id+1], 1, 0)
    Else
    $da2=FileGetTime($Ort&$inhalt[$i]&"\"&$dateien[$id], 1, 0)
    EndIf

    $test = $da[2]&$da[1]&$da[3]&$da[4]&$da[5]
    $test2 = $da2[2]&$da2[1]&$da[3]&$da[4]&$da[5]
    If $test < $test Then
    _ArrayInsert($sort, $i, $test)
    Else
    _ArrayInsert($sort, $i, $test2)
    EndIf
    $da=0
    _ArraySort($sort, 1, 1)
    Next
    EndIf
    Next

    $inhalt = _FileListToArray($Ort, "*", 2)
    $max3 = $inhalt[0]
    for $i = 1 to $max3
    IF FileExists($Ort&$inhalt[$i]&"\*.txt") Then
    $dateien = _FileListToArray($Ort&$inhalt[$i], "*", 1)
    $max4 = $dateien[0]
    for $id = 1 to $max4
    $da=FileGetTime($Ort&$inhalt[$i]&"\"&$dateien[$id], 1, 0)
    $test = $da[2]&$da[1]&$da[3]&$da[4]&$da[5]
    If $test = $sort[1] THEN
    run("notepad "&$Ort&$inhalt[$i]&"\"&$dateien[$id])
    EndIf
    $da=0
    Next
    EndIf
    Next

    Case $msg = $zusammenfassen
    $auswahl=GUICtrlRead($3)
    $Auslesen = GUICtrlRead($2)
    IF NOT $Auslesen = "" Then
    $dateien = _FileListToArray($Ort&$Auslesen, "*", 1)
    $da=FileGetTime($Ort&$Auslesen&"\"&$dateien[$dateien[0]], 1, 0)
    $max5 = $dateien[0]
    for $i = 1 to $max5
    FileOpen($Ort&$Auslesen&"\Zusammenfassung vom "&$da[2]&"."&$da[1]&".txt", 1)
    $zf=FileRead($Ort&$Auslesen&"\"&$dateien[$i])
    FileWriteLine($Ort&$Auslesen&"\"&"Zusammenfassung vom "&$da[2]&"."&$da[1]&".txt", " ")
    FileWriteLine($Ort&$Auslesen&"\"&"Zusammenfassung vom "&$da[2]&"."&$da[1]&".txt", $zf)
    FileClose($Ort&$Auslesen&"\Zusammenfassung vom "&$da[2]&"."&$da[1]&".txt")
    Next
    $msg = MsgBox(4, "Drucken?", "Wollen Sie die Zusammenfassung jetzt ausdrucken?")
    IF $msg = "6" Then
    _FilePrint($Ort&$Auslesen&"\Zusammenfassung vom "&$da[2]&"."&$da[1]&".txt")
    Else
    EndIf
    Else
    MsgBox(0x10, "Fehler!", "Sie haben keinen Ordner zum Zusammenfassen ausgewählt! Bitte wählen Sie zuerst einen Ordner aus dem oberen Fenster!")
    EndIf

    Case $msg = $beenden
    Exit

    EndSelect
    WEnd

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

    So das ganze resultiert aus diesem Script:

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    #include <Date.au3>
    #include <GUIConstants.au3>
    #include <Array.au3>
    #Include <File.au3>
    #include <GUIConstants.au3>
    #include <GuiCombo.au3>
    #include <GuiEdit.au3>
    dim $datum,$i

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

    $ort="S:\Fehlermeldungen\"

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

    While 1
    sleep(1000)

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

    $Liste=_FileListToArray("s:\Fehlermeldungen", "*", 1)
    $i=0
    IF $Liste[0] > 1 Then
    do
    $i=$i+1
    If $Liste[$i] <> "Fehlermeldungen.exe" THEN
    $da = FileGetTime($ort&$Liste[$i], 1)
    $Filedatum = $da[2] & "." & $da[1] & "." & $da[0]
    $aktudatum=_NowCalcDate()
    If FileExists($ort&"*.txt") THEN
    $akt=StringRegExpReplace($aktudatum, "/", ".")
    DirCreate($ort&$Filedatum)
    $Zeit=$da[3]&"."&$da[4]&" Uhr am "
    FileMove($ort&$Liste[$i], $ort&$Filedatum&"\"&$Zeit&$Liste[$i])
    EndIf
    EndIf
    until $Liste[0] = $i
    IF FileExists($ort&$Filedatum&"\"&$Zeit&$Liste[$i]) Then
    MsgBox(0, "ACHTUNG!", "Es liegen neue Fehlerbeschreibungen vor!")
    Opt("GUIOnEventMode", 1)
    $Abfrage=MsgBox(4, "Öffnen?", "Wollen sie die Fehlermeldung jetzt öffnen?")
    IF $Abfrage = "6" Then
    run("Fehleransicht.exe")
    Else
    sleep(5000)
    EndIf
    EndIf
    EndIf
    WEnd

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


    Ich hab jetzt deine Variante versucht Bugfix aber wenn ich eingebe:

    Spoiler anzeigen
    [autoit]


    $Listing=_FileListToArray($ort, "*", 2)
    For $i = 1 to $Listing[0]
    StringRegExpReplace($Listing[$i], ".", "")
    _StringReverse($Listing[$i])
    Next
    _ArraySort($Listing, 1)
    _ArrayDisplay($Listing, "")

    [/autoit]

    Passiert garnichts. Wo ist der Fehler?

    MfG

    akira2012

    MfG

    akira2012

    ***---____---Wer RechtSCHRAIBfehler findet der darf Sie behalLTEN!---___---***

    3 Mal editiert, zuletzt von peethebee (27. April 2007 um 13:54)

  • Ja aber ich habe schon beide Varianten ausprobiert und irgendwie funzt keine. Hab bestimmt Syntaxmäßig was falsch gemacht.
    Also mit

    StringReplace($Listing[$i], ".", "")

    klappts nicht.

    EDIT:

    Wenn ich das ganze in eine Variable ausgebe:

    $var=StringReplace($Listing[$i], ".", "")

    dann gehts. Aber halt nur für die Variable. Kann ich keine Arraywerte ändern mit Stringreplace?

    MfG

    akira2012

    ***---____---Wer RechtSCHRAIBfehler findet der darf Sie behalLTEN!---___---***

    Einmal editiert, zuletzt von akira2012 (27. April 2007 um 14:26)

  • Ja ist es mir gerade geworden du warst nur wieder mal 1 sek schneller ^^

    MfG

    akira2012

    ***---____---Wer RechtSCHRAIBfehler findet der darf Sie behalLTEN!---___---***

  • Also es tut jetzt soweit:

    [autoit]


    dim $sort[1], $akt[40]
    $ort = "S:\Fehlermeldungen\"

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

    $Listing=_FileListToArray($ort, "*", 2)
    For $i = 1 to $Listing[0]
    $Listing[$i]=stringReplace($Listing[$i], ".", "")
    $Listing[$i]=_StringReverse($Listing[$i])
    Next
    _ArraySort($Listing, 1, 1)
    _ArrayDisplay($Listing, "")
    for $i=1 to $Listing[0]
    $Listing[$i]=_StringReverse($Listing[$i])

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

    NEXT
    Opt("GUIOnEventMode", 0)

    [/autoit]

    Aber ich habe ein Problem... Wie wandle ich die Werte zurück um? Ich mein einfach den Punkt zu entfernen war einfach aber was nu? ^^
    BugFix die Werte sind nicht geheim. Ein Wert wäre z.B. 19.04.2007 ein anderer 26.03.2007 usw also stinknormale Daten.

    MfG

    MfG

    akira2012

    ***---____---Wer RechtSCHRAIBfehler findet der darf Sie behalLTEN!---___---***

  • Super jetzt funzt das 2. _Stringreverse nicht und es kommt schwachsinn raus. Wieso dreht der mir das nicht nochmal um wenn ich den selben befehl wieder verwende? Versteh ich nicht -.-

    MfG

    akira2012

    ***---____---Wer RechtSCHRAIBfehler findet der darf Sie behalLTEN!---___---***

  • Leute ich komme nicht weiter. Es ist zum verzweifeln. Wenn ich das Array in ein Format umwandle das eigentlich sortiert werden sollte und es dann sortiere ist alles ok. Aber wenn ich dann in das alte Format umwandle ist alles wieder falsch es ist zum k o t * * *. Und mit dem Datumszeug da hab ichs auch nicht geschafft - da bleibt nur noch eins zu sagen :help:

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    #include <Date.au3>
    #include <String.au3>
    #include <GUIConstants.au3>
    #include <Array.au3>
    #Include <File.au3>
    #include <GUIConstants.au3>
    #include <GuiCombo.au3>
    #include <GuiList.au3>
    #include <GuiEdit.au3>
    #include <Date.au3>

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

    dim $sort[1], $akt[40]
    $ort = "S:\Fehlermeldungen\"

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

    ;UM DEN TEIL HIER GEHTS ###################

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

    $Listing=_FileListToArray($ort, "*", 2)
    For $i = 1 to $Listing[0]
    $Listing[$i]=stringReplace($Listing[$i], ".", "")
    ;$Listing[$i]=_StringReverse($Listing[$i])
    Next

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

    for $i=1 to $Listing[0]
    ;$Listing[$i]=_StringReverse($Listing[$i])
    $Listing[$i] = StringMid($Listing[$i],3,2) & "." & StringMid($Listing[$i],1,2) & "." & StringMid($Listing[$i],5,4)

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

    ;$Listing[$i]=_StringBetween($Listing[$i], "", "")
    NEXT
    _ArraySort($Listing, 1, 1)
    _ArrayDisplay($Listing, "")
    for $i=1 to $Listing[0]
    $Listing[$i]=stringReplace($Listing[$i], ".", "")
    _ArrayDisplay($Listing, "")
    ;$Listing[$i]=_StringReverse($Listing[$i])
    ;$Listing[$i] = StringMid($Listing[$i],3,2) & "." & StringMid($Listing[$i],1,2) & "." & StringMid($Listing[$i],5,4)

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

    ;$Listing[$i]=_StringBetween($Listing[$i], "", "")
    NEXT

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

    _ArrayDisplay($Listing, "")

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

    ; ###########################################

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

    Opt("GUIOnEventMode", 0)

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

    $Fehleransicht=GUICreate("Öffnen", 380, 450)

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

    $2=GUICtrlCreateList("", 20, 30, 200, 150)
    GUICtrlCreateLabel("Ordner wählen", 20, 10)
    $3=GUICtrlCreateList("", 20, 220, 200, 150)
    GUICtrlCreateLabel("Datei wählen", 20, 200)
    $open=GUICtrlCreateButton("Öffnen", 245, 220, 110, 25)
    $information=GUICtrlCreateButton("Info", 245, 260, 110, 25)
    $neuste=GUICtrlCreateButton("Neuste Datei öffnen", 245, 300, 110, 25)
    $zusammenfassen=GUICtrlCreateButton("Zusammenfassen", 245, 340, 110, 25)
    $beenden=GUICtrlCreateButton("Beenden", 150, 400, 110, 25)
    GUICtrlSetState($3, @sw_hide)
    $max = $Listing[0]
    For $i = 1 to $max
    _GUICtrlListAddItem($2, $Listing[$i])
    Next
    GUISetState(@sw_show)

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

    While 1
    $msg = GUIGetMsg()

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

    Select

    Case $msg = $2
    _GUICtrlListClear($3)
    $Auslesen = GUICtrlRead($2)
    $Ordner=_FileListToArray($Ort&$Auslesen&"\", "*", 1)
    $max2 = $Ordner[0]
    For $i = 1 to $max2
    _GUICtrlListAddItem($3, $Ordner[$i])
    Next
    GUICtrlSetState($3, @sw_show)

    Case $msg = $open
    $auswahl=GUICtrlRead($3)
    If NOT $auswahl = "" Then

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

    $alri=FileRead($Ort&$Auslesen&"\"&$auswahl)
    $open1=GUICreate($auswahl)
    $edit = GUICtrlCreateButton("Editieren", 50, 350, 100, 25)
    $druck = GUICtrlCreateButton("Drucken", 150, 350, 100, 25)
    $beende=GUICtrlCreateButton("Beenden", 250, 350, 100, 25)
    $groesse=_FileCountLines($Ort&$Auslesen&"\"&$auswahl)
    $hoehe = $groesse*17
    $breite = 400
    $label=GUICtrlCreateLabel($alri, "1", "1", $breite, $hoehe, $SS_SUNKEN )
    GUICtrlSetBkColor($label, 0X000000)
    GUICtrlSetColor($label, 0XFFFFFF)
    GUISetState(@sw_show, $open1)
    GUISwitch($open1)
    While 1

    $msg1 = GUIGetMsg()

    Select

    Case $msg1=$edit
    run("notepad "&$auswahl, $Ort&$Auslesen)
    Case $msg1=$druck
    _FilePrint($Ort&$Auslesen&"\"&$auswahl)

    Case $msg1 = $GUI_EVENT_CLOSE
    GUISetState(@sw_hide)
    ExitLoop

    Case $msg1 = $beende
    GUISetState(@sw_hide)
    ExitLoop

    EndSelect


    WEnd

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

    ;MsgBox(0, $auswahl, $alri)
    Else
    MsgBox(0x10, "Fehler!", "Sie haben keine Datei ausgewählt")
    EndIf


    Case $msg = $information
    $auswahl=GUICtrlRead($3)
    If NOT $auswahl = "" Then
    $da=FileGetTime($Ort&$Auslesen&"\"&$auswahl, 1, 0)
    $Filedatum = "Diese Datei wurde erstellt am: " & $da[2] & "." & $da[1] & "." & $da[0] & " um " & $da[3] & ":" & $da[4] & " Uhr"
    $test=$Ort&$Auslesen&"\"&$auswahl
    ToolTip($Filedatum, 500, 500, "Info", 1)
    sleep(2000)
    ToolTip("")
    Else
    MsgBox(0x10, "Fehler!", "Sie haben keine Datei ausgewählt")
    EndIf

    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop

    case $msg = $neuste
    $inhalt = _FileListToArray($Ort, "*", 2)

    $max3 = $inhalt[0]

    for $i = 1 to $max3
    IF FileExists($Ort&$inhalt[$i]&"\*.txt") Then
    $dateien = _FileListToArray($Ort&$inhalt[$i], "*", 1)
    $max4 = $dateien[0]
    for $id = 1 to $max4
    $da=FileGetTime($Ort&$inhalt[$i]&"\"&$dateien[$id], 1, 0)
    IF NOT $id = $max4 Then
    $da2=FileGetTime($Ort&$inhalt[$i]&"\"&$dateien[$id+1], 1, 0)
    Else
    $da2=FileGetTime($Ort&$inhalt[$i]&"\"&$dateien[$id], 1, 0)
    EndIf

    $test = $da[2]&$da[1]&$da[3]&$da[4]&$da[5]
    $test2 = $da2[2]&$da2[1]&$da[3]&$da[4]&$da[5]
    If $test < $test Then
    _ArrayInsert($sort, $i, $test)
    Else
    _ArrayInsert($sort, $i, $test2)
    EndIf
    $da=0
    _ArraySort($sort, 1, 1)
    Next
    EndIf
    Next

    $inhalt = _FileListToArray($Ort, "*", 2)
    $max3 = $inhalt[0]
    for $i = 1 to $max3
    IF FileExists($Ort&$inhalt[$i]&"\*.txt") Then
    $dateien = _FileListToArray($Ort&$inhalt[$i], "*", 1)
    $max4 = $dateien[0]
    for $id = 1 to $max4
    $da=FileGetTime($Ort&$inhalt[$i]&"\"&$dateien[$id], 1, 0)
    $test = $da[2]&$da[1]&$da[3]&$da[4]&$da[5]
    If $test = $sort[1] THEN
    run("notepad "&$Ort&$inhalt[$i]&"\"&$dateien[$id])
    EndIf
    $da=0
    Next
    EndIf
    Next

    Case $msg = $zusammenfassen
    $auswahl=GUICtrlRead($3)
    $Auslesen = GUICtrlRead($2)
    IF NOT $Auslesen = "" Then
    $dateien = _FileListToArray($Ort&$Auslesen, "*", 1)
    $da=FileGetTime($Ort&$Auslesen&"\"&$dateien[$dateien[0]], 1, 0)
    $max5 = $dateien[0]
    for $i = 1 to $max5
    FileOpen($Ort&$Auslesen&"\Zusammenfassung vom "&$da[2]&"."&$da[1]&".txt", 1)
    $zf=FileRead($Ort&$Auslesen&"\"&$dateien[$i])
    FileWriteLine($Ort&$Auslesen&"\"&"Zusammenfassung vom "&$da[2]&"."&$da[1]&".txt", " ")
    FileWriteLine($Ort&$Auslesen&"\"&"Zusammenfassung vom "&$da[2]&"."&$da[1]&".txt", $zf)
    FileClose($Ort&$Auslesen&"\Zusammenfassung vom "&$da[2]&"."&$da[1]&".txt")
    Next
    $msg = MsgBox(4, "Drucken?", "Wollen Sie die Zusammenfassung jetzt ausdrucken?")
    IF $msg = "6" Then
    _FilePrint($Ort&$Auslesen&"\Zusammenfassung vom "&$da[2]&"."&$da[1]&".txt")
    Else
    EndIf
    Else
    MsgBox(0x10, "Fehler!", "Sie haben keinen Ordner zum Zusammenfassen ausgewählt! Bitte wählen Sie zuerst einen Ordner aus dem oberen Fenster!")
    EndIf

    Case $msg = $beenden
    Exit

    EndSelect
    WEnd

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


    dickes fettes EDIT:

    Mir ist etwas aufgefallen. Die Daten sind schon richtig sortiert aber die CTRL List Sortiert die Daten scheinbar selber nochmal um -.- Also kann man das irgendwie abstellen?

    MfG

    akira2012

    ***---____---Wer RechtSCHRAIBfehler findet der darf Sie behalLTEN!---___---***

    3 Mal editiert, zuletzt von akira2012 (3. Mai 2007 um 11:11)

  • Ok habs geschafft -.- Das hier war der Fehler:

    For $i = 1 to $max
    _GUICtrlListAddItem($2, $Listing[$i])
    Next

    Komischerweise ist das ein unterschied zu

    For $i = 1 to $max
    _GUICtrlListInsertItem($2, $Listing[$i])
    Next

    Naja was solls jetzt funktionierts endlich ^^


    MfG

    Akira2012

    MfG

    akira2012

    ***---____---Wer RechtSCHRAIBfehler findet der darf Sie behalLTEN!---___---***