geänderte / neue / ungültige Funktionen 3.3.4.0 auf 3.3.6.0

  • Hi,
    hab mir mal die Mühe gemacht und ein AutoIt Script geschrieben, welches mir die Unterschiede zwischen 3.3.4.0 auf 3.3.6.0 darstellt.
    Bei den meisten Funktionen wird sich der Syntax nicht geändert haben, sondern nur der Hilfetext.
    Aber für die Hilfe-Übersetzung ist es wichtig, damit wir wissen, was wir !!! nochmals übersetzen müssen 8o .

    Das Script

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <ArrayMore.au3>
    #include <File.au3>
    #include <GuiListBox.au3>
    #include <GuiListView.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StructureConstants.au3>
    #include <WindowsConstants.au3>
    Dim $array_datei1, $array_datei2, $file, $read_radio_noch_uebersetzen, $lParam, $ilParam, $welche_ini, $bereits_bearbeitet, $geloescht, $read_radio_aenderungen, $read_radio_ungueltig, $read_radio_neu, $ok, $ok2, $ok3, $nur_ordner
    Dim $array_alle_eintraege[1][3]
    Dim $array_quelle_neu
    Dim $array_quelle_alt, $array_zeile2, $array_zeile3
    Dim $array_alles_eintragen, $welches_array, $array_geaendert, $array_ungueltig, $array_neu
    Dim $szDrive, $szDir, $szFName, $szExt

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

    Local $laden_beenden, $verzeichnisse_alle, $dateiliste_erster_start, $alle_bilder_zaehler, $array_quelle
    Dim $szDrive, $szDir, $szFName, $szExt

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

    $dateiliste_erster_start = 1

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

    ;Doppelklick auf das listview
    Global $listview
    GUIRegisterMsg($WM_NOTIFY, "WM_Notify_Events")

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

    $version1 = "3.2.10.0"
    ;~ $version1 = "3.2.12.1"
    ;~ $version2 = "3.2.13.7"
    $version2 = "3.2.12.1"

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

    $datei = "AutoIt Versionsunterschiede herausfinden " & $version1 & " auf " & $version2 & " neue Funktionen.txt"
    $ini_geandert = "AutoIt Versionsunterschiede herausfinden " & $version1 & " auf " & $version2 & " geandert.ini"
    $ini_neu = "AutoIt Versionsunterschiede herausfinden " & $version1 & " auf " & $version2 & " neu.ini"
    $ini_ungueltig = "AutoIt Versionsunterschiede herausfinden " & $version1 & " auf " & $version2 & " ungültig.ini"
    $ini_geandert_ori = @ScriptDir & "\" & $ini_geandert
    $ini_geandert_tmp = @TempDir & "\" & $ini_geandert
    $ini_neu_ori = @ScriptDir & "\" & $ini_neu
    $ini_neu_tmp = @TempDir & "\" & $ini_neu
    $ini_ungueltig_ori = @ScriptDir & "\" & $ini_ungueltig
    $ini_ungueltig_tmp = @TempDir & "\" & $ini_ungueltig

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

    ; Tool-Infos
    $tool_version = "01 Test 24"
    $tool_titel = "Autoit Versionsunterschiede herausfinden"

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

    $pfad_teil1 = "D:\_AutoIt Hilfe\autoit-docs-v"
    $pfad_teil2 = "-src\docs\autoit\english\"

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

    $pfad_alt_grund = $pfad_teil1 & $version1 & $pfad_teil2
    $pfad_neu_grund = $pfad_teil1 & $version2 & $pfad_teil2

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

    $ordner_core = "txtFunctions"
    $ordner_udf = "txtlibfunctions"
    $ordner_keywords = "txtKeywords"
    $ordner_core_bsp = "examples"
    $ordner_udf_bsp = "libExamples"

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

    $stichwort_ungueltig = "ungültige Funktionen"
    $stichwort_neue = "neue Funktionen"
    $stichwort_geaendert = "geänderte Funktionen"

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

    $stichwort_ungueltig_sonstiges = "ungültig sonstiges"
    $stichwort_neue_sonstiges = "neu sonstiges"
    $stichwort_geaendert_sonstiges = "geändert sonstiges"

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

    $stichwort_ungueltig_bsp = "ungültige Beispiele"
    $stichwort_neue_bsp = "neue Beispiele"
    $stichwort_geaendert_bsp = "geänderte Beispiele"

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

    ;****************************
    ; GUI *
    ;****************************

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

    ;GUI erzeugen
    $GUI_titel = $tool_titel
    $GUI = GUICreate($GUI_titel, 540, 475)

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

    ;Buttons
    $button_einlesen = GUICtrlCreateButton("einlesen", 10, 10)
    $button_loeschen = GUICtrlCreateButton("löschen", 65, 10, 100)
    $button_beenden = GUICtrlCreateButton("beenden", 170, 10)

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

    ;Tips anzeigen
    GUICtrlSetTip($button_einlesen, "Die alte und neue AutoIt Version vergleichen")
    GUICtrlSetTip($button_loeschen, "Funktion aus dem ListView löschen")
    GUICtrlSetTip($button_beenden, "Programm beenden")

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

    GUICtrlCreateLabel($version1 & " auf " & $version2, 10, 70)
    $label_anzahl = GUICtrlCreateLabel("", 140, 70, 30)
    GUICtrlCreateLabel("Einträge", 170, 70)

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

    $listview = GUICtrlCreateListView("Funktion|Ordner|Zeilen|Status|Art|Dateiendung", 10, 120, 530, 345, BitOR($LVS_SHOWSELALWAYS, $LVS_NOSORTHEADER))
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
    GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)
    _spaltenbreite()

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

    GUIStartGroup()
    $radio_noch_uebersetzen = GUICtrlCreateRadio("noch übersetzen", 10, 40)
    $radio_fertig = GUICtrlCreateRadio("fertig", 130, 40)

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

    GUIStartGroup()
    GUICtrlCreateGroup("Unterschied", 230, 10, 80, 85)
    $radio_aenderungen = GUICtrlCreateRadio("geändert", 240, 30)
    $radio_ungueltig = GUICtrlCreateRadio("ungültig", 240, 50)
    $radio_neu = GUICtrlCreateRadio("neu", 240, 70)

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

    GUIStartGroup()
    GUICtrlCreateGroup("Art", 320, 10, 90, 105)
    $radio_Func = GUICtrlCreateRadio("Funktionen", 330, 30)
    $radio_sonstiges = GUICtrlCreateRadio("sonstiges", 330, 50)
    $radio_beispiele = GUICtrlCreateRadio("Beispiele", 330, 70)
    $radio_alles = GUICtrlCreateRadio("alles", 330, 90)

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

    ;****************************
    ; Tray *
    ;****************************

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

    Opt("TrayMenuMode", 1) ;Zeigt das Standard Tray Menü nicht an (Script Paused / Exit)
    $versionitem = TrayCreateItem("Version")
    TrayCreateItem("")
    $aboutitem = TrayCreateItem("Über")
    TrayCreateItem("")
    $exititem = TrayCreateItem("Beenden")

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

    GUICtrlSetState($radio_noch_uebersetzen, $GUI_CHECKED)
    GUICtrlSetState($radio_aenderungen, $GUI_CHECKED)
    GUICtrlSetState($radio_Func, $GUI_CHECKED)

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

    _array_erstellen_alles()

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

    ;GUI anzeigen
    GUISetState()

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

    ;********************************************
    ; Drücken eines Buttons *
    ;********************************************

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

    While 1
    $msg = GUIGetMsg()
    $msg_tray = TrayGetMsg()
    Select
    ;------------------------------------------------------------ Buttons ------------------------------------------------------
    Case $msg = $button_einlesen
    _aenderungen()
    _array_erstellen_alles()

    Case $msg = $button_loeschen
    _listview_eintrag_loeschen_kurz()

    Case $msg = $radio_noch_uebersetzen Or $msg = $radio_fertig Or $msg = $radio_aenderungen Or $msg = $radio_neu Or $msg = $radio_ungueltig
    _status()
    _listview_fuellen_kurz()

    Case $msg = $radio_Func Or $msg = $radio_sonstiges Or $msg = $radio_beispiele Or $msg = $radio_alles
    _listview_fuellen_kurz()

    Case $msg = $button_beenden Or $msg = $GUI_EVENT_CLOSE
    Exit

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

    ;------------------------------------------------------------ Tray Befehle ----------------------------------------
    Case $msg_tray = $versionitem

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

    Case $msg_tray = $aboutitem

    Case $msg_tray = $exititem
    ExitLoop
    EndSelect
    WEnd

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

    ;****************************
    ;* Spaltenbreite *
    ;****************************

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

    Func _spaltenbreite()
    _GUICtrlListView_SetColumnWidth($listview, 0, 240)
    _GUICtrlListView_SetColumnWidth($listview, 1, 135)
    _GUICtrlListView_SetColumnWidth($listview, 2, 90)
    _GUICtrlListView_SetColumnWidth($listview, 5, 40)
    EndFunc ;==>_spaltenbreite

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

    ;********************************************
    ;* Array erstellen Hilfsfunktion *
    ;********************************************

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

    Func _array_erstellen_alles()
    _array_erstellen($ini_geandert_ori)
    $array_geaendert = $array_alles_eintragen
    _array_erstellen($ini_ungueltig_ori)
    $array_ungueltig = $array_alles_eintragen
    _array_erstellen($ini_neu_ori)
    $array_neu = $array_alles_eintragen
    _status()
    _listview_fuellen_kurz()
    EndFunc ;==>_array_erstellen_alles

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

    ;********************
    ;* Status *
    ;********************

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

    Func _status()
    $read_radio_noch_uebersetzen = GUICtrlRead($radio_noch_uebersetzen) ; 1 = ja ;4 = nein
    If $read_radio_noch_uebersetzen = 1 Then
    GUICtrlSetData($button_loeschen, "löschen")
    $bereits_bearbeitet = 0
    $geloescht = 1
    Else
    GUICtrlSetData($button_loeschen, "wiederherstellen")
    $bereits_bearbeitet = 1
    $geloescht = 0
    EndIf

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

    $read_radio_aenderungen = GUICtrlRead($radio_aenderungen) ; 1 = ja ;4 = nein
    $read_radio_ungueltig = GUICtrlRead($radio_ungueltig) ; 1 = ja ;4 = nein
    $read_radio_neu = GUICtrlRead($radio_neu) ; 1 = ja ;4 = nein

    If $read_radio_aenderungen = 1 Then
    $welche_ini = $ini_geandert_ori
    ElseIf $read_radio_ungueltig = 1 Then
    $welche_ini = $ini_ungueltig_ori
    ElseIf $read_radio_neu = 1 Then
    $welche_ini = $ini_neu_ori
    EndIf
    EndFunc ;==>_status

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

    ;********************************************
    ;* Listview füllen Hilfsfunktion *
    ;********************************************

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

    Func _listview_fuellen_kurz()
    If $read_radio_aenderungen = 1 Then
    _listview_fuellen_alle($array_geaendert)
    ElseIf $read_radio_ungueltig = 1 Then
    _listview_fuellen_alle($array_ungueltig)
    ElseIf $read_radio_neu = 1 Then
    _listview_fuellen_alle($array_neu)
    EndIf
    EndFunc ;==>_listview_fuellen_kurz

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

    ;********************************************
    ;* Listview löschen Hilfsfunktion *
    ;********************************************

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

    Func _listview_eintrag_loeschen_kurz()
    If $read_radio_aenderungen = 1 Then
    _listview_eintrag_loeschen($array_geaendert)
    ElseIf $read_radio_ungueltig = 1 Then
    _listview_eintrag_loeschen($array_ungueltig)
    ElseIf $read_radio_neu = 1 Then
    _listview_eintrag_loeschen($array_neu)
    EndIf
    EndFunc ;==>_listview_eintrag_loeschen_kurz

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

    ;************************************
    ;* neue / alte / geänderte *
    ;************************************

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

    Func _aenderungen()
    If FileExists($ini_geandert_ori) Or FileExists($ini_neu_ori) Or FileExists($ini_ungueltig_ori) Then
    $msg_sicher = MsgBox(32 + 4, "Sicher?", "Dadurch werden die inis gelöscht!!!" & @CRLF & "Fortfahren?")
    If $msg_sicher <> 6 Then Return
    EndIf

    SplashTextOn("Bitte warten", "", 100, 20, -1, @DesktopHeight / 2 - 400)
    FileDelete(@ScriptDir & "\" & $datei)
    FileDelete(@ScriptDir & "\" & $ini_geandert_ori)
    FileDelete(@ScriptDir & "\" & $ini_ungueltig_ori)
    FileDelete(@ScriptDir & "\" & $ini_neu_ori)

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

    $file = FileOpen($datei, 1)
    If $file = -1 Then
    MsgBox(0, "Fehler", "Kann die Datei nicht öffnen")
    Exit
    EndIf

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

    _ordnerliste($pfad_alt_grund, True, False)
    $verzeichnisse_alle_alt = $verzeichnisse_alle
    _dateiliste($verzeichnisse_alle_alt, True, False, True, "txt|htm|au3", "functions.txt|macros.txt|Changelog")
    $array_quelle_alt = $array_quelle

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

    _ordnerliste($pfad_neu_grund, True, False)
    $verzeichnisse_alle_neu = $verzeichnisse_alle
    _dateiliste($verzeichnisse_alle_neu, True, False, True, "txt|htm|au3", "functions.txt|macros.txt|Changelog")
    $array_quelle_neu = $array_quelle

    _vergleichen($stichwort_ungueltig, $array_quelle_alt, $ini_ungueltig_tmp, $pfad_alt_grund, $version1, $version2, $stichwort_ungueltig_sonstiges, $stichwort_ungueltig_bsp) ;ungueltig
    _vergleichen($stichwort_neue, $array_quelle_neu, $ini_neu_tmp, $pfad_neu_grund, $version2, $version1, $stichwort_neue_sonstiges, $stichwort_neue_bsp) ;neu
    _geandert($stichwort_geaendert, $array_quelle_alt, $stichwort_geaendert_sonstiges, $stichwort_geaendert_bsp) ;geaendert

    FileClose($file)
    FileMove($ini_geandert_tmp, $ini_geandert_ori, 1)
    FileMove($ini_ungueltig_tmp, $ini_ungueltig_ori, 1)
    FileMove($ini_neu_tmp, $ini_neu_ori, 1)
    SplashOff()
    EndFunc ;==>_aenderungen

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

    ;****************************
    ;* Art in txt-Datei *
    ;****************************

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

    Func _txt_art_schreiben($art1, $art2, $art3)
    If $ok = 0 And (StringInStr($nur_ordner, $ordner_core) Or StringInStr($nur_ordner, $ordner_keywords) Or StringInStr($nur_ordner, $ordner_udf)) Then
    $ok = 1
    _txt_art($art1)
    EndIf

    If $ok2 = 0 And Not StringInStr($nur_ordner, $ordner_core) And Not StringInStr($nur_ordner, $ordner_keywords) And Not StringInStr($nur_ordner, $ordner_udf) And Not StringInStr($nur_ordner, $ordner_core_bsp) And Not StringInStr($nur_ordner, $ordner_udf_bsp) Then
    $ok2 = 1
    _txt_art($art2)
    EndIf

    If $ok3 = 0 And (StringInStr($nur_ordner, $ordner_core_bsp) Or StringInStr($nur_ordner, $ordner_udf_bsp)) Then
    $ok3 = 1
    _txt_art($art3)
    EndIf
    EndFunc ;==>_txt_art_schreiben

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

    ;************************************
    ;* Überschrift in txt-Datei *
    ;************************************

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

    Func _txt_art($art_schreiben)
    FileWrite($file, @CRLF & @CRLF & @CRLF & @CRLF & "----------------------------------------------" & @CRLF & " " & $art_schreiben & @CRLF & "----------------------------------------------" & @CRLF)
    EndFunc ;==>_txt_art

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

    ;********************************************
    ;* neue und ungültige Funktionen *
    ;********************************************

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

    Func _vergleichen($gueltig, $array, $ini, $pfad, $version_a, $version_b, $gueltig_sonst, $gueltig_bsp)
    $ok = 0
    $ok2 = 0
    $ok3 = 0
    $nur_ordner_alt = ""
    For $i = 1 To UBound($array) - 1
    $pfad_alt = $array[$i][2]
    $nur_ordner = StringReplace($pfad_alt, $pfad, "")
    $pfad_neu = StringReplace($pfad_alt, $version_a, $version_b)
    $dateiname = $array[$i][0]
    If Not FileExists($pfad_neu & "\" & $dateiname) Then
    _txt_art_schreiben($gueltig, $gueltig_sonst, $gueltig_bsp)

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

    If $nur_ordner_alt <> $nur_ordner Then FileWrite($file, @CRLF & @CRLF & "Ordner: " & $nur_ordner & @CRLF & "- - - - - - - - - - - - - - - - - - - -" & @CRLF)
    FileWrite($file, $dateiname & @CRLF)
    $anzahl_zeilen = _FileCountLines($pfad_alt & "\" & $dateiname)
    IniWrite($ini, $nur_ordner, $dateiname, 0 & "_" & $anzahl_zeilen)
    $nur_ordner_alt = $nur_ordner
    EndIf
    Next
    EndFunc ;==>_vergleichen

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

    ;************************************
    ;* geänderte Funktionen *
    ;************************************

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

    Func _geandert($gueltig2, $array2, $gueltig2_sonst, $gueltig2_bsp)
    $ok = 0
    $ok2 = 0
    $ok3 = 0
    $nur_ordner_alt = ""
    For $i = 1 To UBound($array2) - 1
    $pfad_alt = $array2[$i][2]
    $nur_ordner = StringReplace($pfad_alt, $pfad_alt_grund, "")
    $pfad_neu = StringReplace($array2[$i][2], $version1, $version2)
    $dateiname = $array2[$i][0]

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

    If FileExists($pfad_alt & "\" & $dateiname) And FileExists($pfad_neu & "\" & $dateiname) Then
    _txt_art_schreiben($gueltig2, $gueltig2_sonst, $gueltig2_bsp)

    ;Anzahl an Zeilen
    _FileReadToArray($pfad_alt & "\" & $dateiname, $array_datei1)
    _FileReadToArray($pfad_neu & "\" & $dateiname, $array_datei2)

    If StringInStr($dateiname, ".txt") Then
    $anzahl_zeilen2 = _FileCountLines($pfad_alt & "\" & $dateiname)
    $anzahl_zeilen3 = _FileCountLines($pfad_neu & "\" & $dateiname)
    Else
    _FileReadToArray($pfad_alt & "\" & $dateiname, $array_zeile2)
    _FileReadToArray($pfad_neu & "\" & $dateiname, $array_zeile3)
    $anzahl_zeilen2 = $array_zeile2[0]
    $anzahl_zeilen3 = $array_zeile3[0]
    EndIf

    For $z = 1 To UBound($array_datei1) - 1
    If $array_datei1[$z] <> $array_datei2[$z] Or $anzahl_zeilen2 <> $anzahl_zeilen3 Then
    If $nur_ordner_alt <> $nur_ordner Then FileWrite($file, @CRLF & @CRLF & "Ordner: " & $nur_ordner & @CRLF & "- - - - - - - - - - - - - - - - - - - -" & @CRLF)
    FileWrite($file, $dateiname & @CRLF)
    $anzahl_zeilen_ges = $anzahl_zeilen2 & " <> " & $anzahl_zeilen3
    IniWrite($ini_geandert_tmp, $nur_ordner, $dateiname, 0 & "_" & $anzahl_zeilen_ges)
    $nur_ordner_alt = $nur_ordner
    ExitLoop
    EndIf
    Next
    EndIf
    Next
    EndFunc ;==>_geandert

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

    ;************************************************
    ;* Dateien mit ExamDiff vergleichen *
    ;************************************************

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

    Func _uebersetzen()
    $listview_text = _GUICtrlListView_GetItemText($listview, _GUICtrlListView_GetSelectionMark($listview), 0)
    $listview_ordner = _GUICtrlListView_GetItemText($listview, _GUICtrlListView_GetSelectionMark($listview), 1) & "\"
    $listview_dateiendung = _GUICtrlListView_GetItemText($listview, _GUICtrlListView_GetSelectionMark($listview), 5)
    If $listview_text = "" Or $listview_ordner = "" Then Return
    $datei_alt = $pfad_alt_grund & $listview_ordner & $listview_text & $listview_dateiendung
    $datei_neu = $pfad_neu_grund & $listview_ordner & $listview_text & $listview_dateiendung

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

    If FileExists($datei_alt) And FileExists($datei_neu) Then
    Run('U:\_programme\ExamDif 1.8\ExamDiff.exe ' & '"' & $datei_alt & '" "' & $datei_neu & '"')
    ElseIf FileExists($datei_alt) Then
    ShellExecute($datei_alt)
    ElseIf FileExists($datei_neu) Then
    ShellExecute($datei_neu)
    EndIf
    EndFunc ;==>_uebersetzen

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

    ;********************************
    ;* ListView füllen (alle) *
    ;********************************

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

    Func _listview_fuellen_alle(ByRef $welches_array)
    _GUICtrlListBox_BeginUpdate($listview)
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($listview));listview leeren
    _ArraySort($welches_array, 0, 0, 0, 0)
    ;~ _ArrayDisplay($welches_array)

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

    For $i = 1 To UBound($welches_array) - 1
    ;Filtern je nach Einstellungen
    If (GUICtrlRead($radio_sonstiges) = 1 And $welches_array[$i][4] = "sonstiges") Or (GUICtrlRead($radio_Func) = 1 And $welches_array[$i][4] = "Funktion") Or (GUICtrlRead($radio_beispiele) = 1 And $welches_array[$i][4] = "Beispiel") Or (GUICtrlRead($radio_alles) = 1) Then
    If (GUICtrlRead($radio_noch_uebersetzen) = 1 And $welches_array[$i][3] = "0") Or (GUICtrlRead($radio_fertig) = 1 And $welches_array[$i][3] = "1") Then
    $dateiname = $welches_array[$i][0]
    $pfad = $welches_array[$i][1]
    $zeilen = $welches_array[$i][2]
    $status = $welches_array[$i][3]
    $art = $welches_array[$i][4]
    $dateiendung = $welches_array[$i][5]

    $item = GUICtrlCreateListViewItem($dateiname & "|" & $pfad & "|" & $zeilen & "|" & $status & "|" & $art & "|" & $dateiendung, $listview)
    If StringInStr($zeilen, " <> ") Then
    $faerben_split = StringSplit($zeilen, " <> ", 1)
    If $faerben_split[1] < $faerben_split[2] Then GUICtrlSetBkColor($item, 0xFF4500) ;rot
    If $faerben_split[1] > $faerben_split[2] Then GUICtrlSetBkColor($item, 0x00FF7F) ;grün
    EndIf
    EndIf
    EndIf
    Next
    _GUICtrlListView_HideColumn($listview, 3)
    _GUICtrlListView_HideColumn($listview, 4)
    _spaltenbreite()
    _GUICtrlListBox_EndUpdate($listview)
    GUICtrlSetData($label_anzahl, _GUICtrlListView_GetItemCount($listview))
    EndFunc ;==>_listview_fuellen_alle

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

    ;****************************************
    ;* ListView füllen (einzeln) *
    ;****************************************

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

    Func _array_erstellen($welche_ini)
    Dim $array_alles_eintragen[1][6]
    $alle_sektions = IniReadSectionNames($welche_ini)

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

    For $k = 1 To UBound($alle_sektions) - 1
    $array_ini = IniReadSection($welche_ini, $alle_sektions[$k])
    If IsArray($array_ini) Then
    For $i = 1 To UBound($array_ini) - 1
    $nur_wert_split = StringSplit($array_ini[$i][1], "_")
    $status = $nur_wert_split[1]
    $split = StringSplit($array_ini[$i][1], "_")
    $zeilen = $split[2]

    If StringInStr($alle_sektions[$k], $ordner_core) Or StringInStr($alle_sektions[$k], $ordner_keywords) Or StringInStr($alle_sektions[$k], $ordner_udf) Then
    $art = "Funktion"
    ElseIf StringInStr($alle_sektions[$k], $ordner_core_bsp) Or StringInStr($alle_sektions[$k], $ordner_udf_bsp) Then
    $art = "Beispiel"
    Else
    $art = "sonstiges"
    EndIf

    $dateiname = $array_ini[$i][0]
    $pfad = $alle_sektions[$k]

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

    $TestPath = _PathSplit($dateiname, $szDrive, $szDir, $szFName, $szExt)
    $dateiendung = $TestPath[4]

    $dateiname = StringRegExpReplace($dateiname, "\.txt|\.au3|\.htm", "")

    _Array2DAdd($array_alles_eintragen, $dateiname & "|" & $pfad & "|" & $zeilen & "|" & $status & "|" & $art & "|" & $dateiendung)
    Next
    EndIf
    Next
    ;~ _ArrayDisplay($array_alles_eintragen)
    Return $array_alles_eintragen
    EndFunc ;==>_array_erstellen

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

    ;****************************************
    ;* ListView Eintrag löschen *
    ;****************************************

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

    Func _listview_eintrag_loeschen(ByRef $welches_array)
    $welche_markiert = _GUICtrlListView_GetSelectedIndices($listview, True)
    ;~ _ArrayDisplay($welche_markiert)
    For $i = 1 To UBound($welche_markiert) - 1
    $listview_text = _GUICtrlListView_GetItemText($listview, $welche_markiert[$i], 0)
    $listview_ordner = _GUICtrlListView_GetItemText($listview, $welche_markiert[$i], 1)
    $listview_zeilen = _GUICtrlListView_GetItemText($listview, $welche_markiert[$i], 2)
    _GUICtrlListView_GetItemText($listview, $welche_markiert[$i], 3)
    $listview_art = _GUICtrlListView_GetItemText($listview, $welche_markiert[$i], 4)
    $listview_dateiendung = _GUICtrlListView_GetItemText($listview, $welche_markiert[$i], 5)
    IniWrite($welche_ini, $listview_ordner, $listview_text & $listview_dateiendung, $geloescht & "_" & $listview_zeilen)
    For $z = 1 To UBound($welches_array) - 1
    ;~ ConsoleWrite($welches_array[$z][0] & " | " & $listview_text & @CRLF & $welches_array[$z][1] & " | " & $listview_ordner & @CRLF & $welches_array[$z][2] & " | " & $listview_zeilen & @CRLF & $welches_array[$z][4] & " | " & $listview_art & @CRLF & $welches_array[$z][5] & " | " & $listview_dateiendung & @CRLF)
    If $welches_array[$z][0] = $listview_text And $welches_array[$z][1] = $listview_ordner And $welches_array[$z][2] = $listview_zeilen And $welches_array[$z][4] = $listview_art And $welches_array[$z][5] = $listview_dateiendung Then
    $welches_array[$z][3] = 1
    EndIf
    Next
    Next
    _GUICtrlListView_DeleteItemsSelected(GUICtrlGetHandle($listview))
    GUICtrlSetData($label_anzahl, _GUICtrlListView_GetItemCount($listview))
    EndFunc ;==>_listview_eintrag_loeschen

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

    ;********************************************
    ; Doppelklick auf das listview *
    ;********************************************

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

    ; WM_NOTIFY event handler
    Func WM_Notify_Events($hWndGUI, $MsgID, $wParam, $lParam)
    #forceref $hWndGUI, $MsgID, $wParam
    Local $tagNMHDR, $event, $hwndFrom, $code
    $tagNMHDR = DllStructCreate("int;int;int", $lParam);NMHDR (hwndFrom, idFrom, code)
    If @error Then Return
    $event = DllStructGetData($tagNMHDR, 3)
    Select
    Case $wParam = $listview
    Select
    Case $event = $NM_DBLCLK
    _uebersetzen()
    EndSelect
    EndSelect
    $tagNMHDR = 0
    $event = 0
    $lParam = 0
    EndFunc ;==>WM_Notify_Events

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

    Func _ordnerliste($udf_quellordner, $udf_unterordner = False, $udf_ordner_schleife = False)
    If $dateiliste_erster_start = 1 Or $udf_ordner_schleife = False Then _ordnerliste_nur_einmalig_aufrufen()
    If $udf_quellordner = "\" Then Return
    $laden_beenden = 0
    $verzeichnisse = 0
    If $udf_unterordner = True Then ;mit Unterordner
    _mit_unterordner($udf_quellordner)
    Else ;ohne Unterordner
    _ohne_unterordner($udf_quellordner)
    EndIf

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

    If $laden_beenden = 0 Then
    If StringLen($udf_quellordner) = 3 Then
    _ArrayAdd($verzeichnisse_alle, StringTrimRight($udf_quellordner, 1))
    Else
    _ArrayAdd($verzeichnisse_alle, $udf_quellordner)
    EndIf
    EndIf
    ;~ _ArrayDisplay($verzeichnisse_alle)
    EndFunc ;==>_ordnerliste

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

    ;******************************************
    ; Ordnerliste dimensionieren *
    ;******************************************

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

    Func _ordnerliste_nur_einmalig_aufrufen()
    Dim $array_quelle[1000000][3]
    Dim $verzeichnisse_alle[1]
    $alle_bilder_zaehler = 0
    $dateiliste_erster_start = 0
    EndFunc ;==>_ordnerliste_nur_einmalig_aufrufen

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

    ;**************************************
    ; Unterordner durchsuchen *
    ;**************************************

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

    Func _mit_unterordner($udf_quellordner)
    $verzeichnisse = _FileListToArray($udf_quellordner, "*", 2)
    ;~ _ArrayDisplay($verzeichnisse, "verzeichnisse")

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

    For $i = 1 To UBound($verzeichnisse) - 1
    $verzeichnisse[$i] = $udf_quellordner & "\" & $verzeichnisse[$i]
    $verzeichnisse[$i] = StringReplace($verzeichnisse[$i], "\\\", "\")
    $verzeichnisse[$i] = StringReplace($verzeichnisse[$i], "\\", "\")
    _ArrayAdd($verzeichnisse_alle, $verzeichnisse[$i])
    _mit_unterordner($verzeichnisse[$i])
    Next
    ;~ _ArrayDisplay($verzeichnisse_alle, "verzeichnisse")

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

    ;Wenn nur ein Ordner und darin nur Dateien existieren
    If UBound($verzeichnisse_alle) = 1 And $laden_beenden = 0 Then
    Dim $verzeichnisse_alle[2]
    $verzeichnisse_alle[0] = 1
    $verzeichnisse_alle[1] = $udf_quellordner
    $laden_beenden = 1
    EndIf
    EndFunc ;==>_mit_unterordner

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

    ;**********************************************
    ; Unterordner nicht durchsuchen *
    ;**********************************************

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

    Func _ohne_unterordner($udf_quellordner)
    $laden_beenden = 1
    $verzeichnisse = _FileListToArray($udf_quellordner, "*", 2)
    If $verzeichnisse_alle[0] = 0 Then
    Dim $verzeichnisse_alle[2]
    $verzeichnisse_alle[0] = 1
    $verzeichnisse_alle[1] = StringTrimRight($udf_quellordner, 1)
    Else
    For $i = 1 To UBound($verzeichnisse_alle) - 1
    $verzeichnisse_alle[$i] = $udf_quellordner & $verzeichnisse_alle[$i]
    Next
    EndIf
    EndFunc ;==>_ohne_unterordner

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

    Func _dateiliste($udf_array_ordner, $udf_spalte_name, $udf_spalte_datum, $udf_spalte_pfad, $udf_dateityp = "*", $udf_auslassen = "")
    $kriterien_ok = 0
    For $u = 1 To UBound($udf_array_ordner) - 1
    $array_alle_dateien = _FileListToArray($udf_array_ordner[$u], "*", 1)
    For $k = 1 To UBound($array_alle_dateien) - 1

    ;Dateityp nicht angegeben oder alle Dateien
    If $udf_dateityp = "*" Then
    $kriterien_ok = 1

    ;mehrere Dateitypen durch | getrennt
    ElseIf StringInStr($udf_dateityp, "|") Then
    $dateityp_split = StringSplit($udf_dateityp, "|")
    $udf_dateiendung_array = _PathSplit($array_alle_dateien[$k], $szDrive, $szDir, $szFName, $szExt)
    $udf_dateiendung = $udf_dateiendung_array[4]
    For $i = 1 To UBound($dateityp_split) - 1
    If "." & $dateityp_split[$i] = StringRight($array_alle_dateien[$k], StringLen($udf_dateiendung)) Then
    $kriterien_ok = 1
    ExitLoop
    EndIf
    Next

    ;ein Dateityp
    ElseIf $udf_dateityp <> "*" Then
    $udf_dateiendung_array = _PathSplit($array_alle_dateien[$k], $szDrive, $szDir, $szFName, $szExt)
    $udf_dateiendung = $udf_dateiendung_array[4]
    If "." & $udf_dateityp = StringRight($array_alle_dateien[$k], StringLen($udf_dateiendung)) Then $kriterien_ok = 1
    EndIf

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

    ;mehrere Wörter in dem Pfad und Datei auslassen
    If StringInStr($udf_auslassen, "|") Then
    $auslassen_split = StringSplit($udf_auslassen, "|")
    For $i = 1 To UBound($auslassen_split) - 1
    If StringInStr($array_alle_dateien[$k], $auslassen_split[$i]) Or StringInStr($verzeichnisse_alle[$u], $auslassen_split[$i]) Then
    $kriterien_ok = 0
    ExitLoop
    EndIf
    Next

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

    ;ein Wort in dem Pfad und Datei auslassen
    ElseIf $udf_auslassen <> False Then
    If StringInStr($array_alle_dateien[$k], $udf_auslassen) Or StringInStr($verzeichnisse_alle[$u], $udf_auslassen) Then $kriterien_ok = 0
    EndIf

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

    ;wenn der Dateityp passt
    If $kriterien_ok = 1 Then
    $alle_bilder_zaehler += 1

    If $udf_spalte_name = True Then $array_quelle[$alle_bilder_zaehler][0] = $array_alle_dateien[$k]

    If $udf_spalte_datum = True Then
    $time2 = FileGetTime($verzeichnisse_alle[$u] & "\" & $array_alle_dateien[$k], 0) ;Datum geändert auslesen
    $array_quelle[$alle_bilder_zaehler][1] = $time2[0] & $time2[1] & $time2[2] & $time2[3] & $time2[4] & $time2[5]
    EndIf

    If $udf_spalte_pfad = True Then $array_quelle[$alle_bilder_zaehler][2] = $verzeichnisse_alle[$u]
    EndIf
    $kriterien_ok = 0
    Next
    Next

    ;Leere Zeile löschen
    ReDim $array_quelle[$alle_bilder_zaehler + 1][3]

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

    ;Leere erste Zeile löschen
    If IsArray($array_quelle) Then
    If UBound($array_quelle) - 1 > 1 Then _ArrayDelete($array_quelle, 0)
    EndIf
    EndFunc ;==>_dateiliste

    [/autoit]

    Enthält:
    - Änderungen an Hilfetexten
    - Änderungen an htm-Seiten
    - Änderungen an Beispielen


    Spoiler anzeigen
  • Da hast du Recht, wobei bei vielen Funktionen nur eine oder zwei Zeilen geändert sind.
    Dies dürfte man dann schnell erledigt haben.

    Sieht am Anfang halt nach sehr viel aus ;)

  • na das wird ja easy 8)
    18 Funktionen + - das machen wir ja an einem Tag :thumbup:

    Ich brauceh nur eine Liste in der die Dateinamen mit Endung untereinanderstehen. ;)

    MfG
    Der_Doc