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 .
Das Script
Spoiler anzeigen
#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
Local $laden_beenden, $verzeichnisse_alle, $dateiliste_erster_start, $alle_bilder_zaehler, $array_quelle
Dim $szDrive, $szDir, $szFName, $szExt
$dateiliste_erster_start = 1
[/autoit] [autoit][/autoit] [autoit];Doppelklick auf das listview
Global $listview
GUIRegisterMsg($WM_NOTIFY, "WM_Notify_Events")
$version1 = "3.2.10.0"
;~ $version1 = "3.2.12.1"
;~ $version2 = "3.2.13.7"
$version2 = "3.2.12.1"
$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
; Tool-Infos
$tool_version = "01 Test 24"
$tool_titel = "Autoit Versionsunterschiede herausfinden"
$pfad_teil1 = "D:\_AutoIt Hilfe\autoit-docs-v"
$pfad_teil2 = "-src\docs\autoit\english\"
$pfad_alt_grund = $pfad_teil1 & $version1 & $pfad_teil2
$pfad_neu_grund = $pfad_teil1 & $version2 & $pfad_teil2
$ordner_core = "txtFunctions"
$ordner_udf = "txtlibfunctions"
$ordner_keywords = "txtKeywords"
$ordner_core_bsp = "examples"
$ordner_udf_bsp = "libExamples"
$stichwort_ungueltig = "ungültige Funktionen"
$stichwort_neue = "neue Funktionen"
$stichwort_geaendert = "geänderte Funktionen"
$stichwort_ungueltig_sonstiges = "ungültig sonstiges"
$stichwort_neue_sonstiges = "neu sonstiges"
$stichwort_geaendert_sonstiges = "geändert sonstiges"
$stichwort_ungueltig_bsp = "ungültige Beispiele"
$stichwort_neue_bsp = "neue Beispiele"
$stichwort_geaendert_bsp = "geänderte Beispiele"
;****************************
; GUI *
;****************************
;GUI erzeugen
$GUI_titel = $tool_titel
$GUI = GUICreate($GUI_titel, 540, 475)
;Buttons
$button_einlesen = GUICtrlCreateButton("einlesen", 10, 10)
$button_loeschen = GUICtrlCreateButton("löschen", 65, 10, 100)
$button_beenden = GUICtrlCreateButton("beenden", 170, 10)
;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")
GUICtrlCreateLabel($version1 & " auf " & $version2, 10, 70)
$label_anzahl = GUICtrlCreateLabel("", 140, 70, 30)
GUICtrlCreateLabel("Einträge", 170, 70)
$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()
GUIStartGroup()
$radio_noch_uebersetzen = GUICtrlCreateRadio("noch übersetzen", 10, 40)
$radio_fertig = GUICtrlCreateRadio("fertig", 130, 40)
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)
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)
;****************************
; Tray *
;****************************
Opt("TrayMenuMode", 1) ;Zeigt das Standard Tray Menü nicht an (Script Paused / Exit)
$versionitem = TrayCreateItem("Version")
TrayCreateItem("")
$aboutitem = TrayCreateItem("Über")
TrayCreateItem("")
$exititem = TrayCreateItem("Beenden")
GUICtrlSetState($radio_noch_uebersetzen, $GUI_CHECKED)
GUICtrlSetState($radio_aenderungen, $GUI_CHECKED)
GUICtrlSetState($radio_Func, $GUI_CHECKED)
_array_erstellen_alles()
[/autoit] [autoit][/autoit] [autoit];GUI anzeigen
GUISetState()
;********************************************
; Drücken eines Buttons *
;********************************************
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
;------------------------------------------------------------ Tray Befehle ----------------------------------------
Case $msg_tray = $versionitem
Case $msg_tray = $aboutitem
Case $msg_tray = $exititem
ExitLoop
EndSelect
WEnd
;****************************
;* Spaltenbreite *
;****************************
Func _spaltenbreite()
_GUICtrlListView_SetColumnWidth($listview, 0, 240)
_GUICtrlListView_SetColumnWidth($listview, 1, 135)
_GUICtrlListView_SetColumnWidth($listview, 2, 90)
_GUICtrlListView_SetColumnWidth($listview, 5, 40)
EndFunc ;==>_spaltenbreite
;********************************************
;* Array erstellen Hilfsfunktion *
;********************************************
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
;********************
;* Status *
;********************
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
$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
;********************************************
;* Listview füllen Hilfsfunktion *
;********************************************
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
;********************************************
;* Listview löschen Hilfsfunktion *
;********************************************
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
;************************************
;* neue / alte / geänderte *
;************************************
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)
$file = FileOpen($datei, 1)
If $file = -1 Then
MsgBox(0, "Fehler", "Kann die Datei nicht öffnen")
Exit
EndIf
_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
_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
;****************************
;* Art in txt-Datei *
;****************************
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
;************************************
;* Überschrift in txt-Datei *
;************************************
Func _txt_art($art_schreiben)
FileWrite($file, @CRLF & @CRLF & @CRLF & @CRLF & "----------------------------------------------" & @CRLF & " " & $art_schreiben & @CRLF & "----------------------------------------------" & @CRLF)
EndFunc ;==>_txt_art
;********************************************
;* neue und ungültige Funktionen *
;********************************************
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)
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
;************************************
;* geänderte Funktionen *
;************************************
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]
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
;************************************************
;* Dateien mit ExamDiff vergleichen *
;************************************************
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
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
;********************************
;* ListView füllen (alle) *
;********************************
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)
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
;****************************************
;* ListView füllen (einzeln) *
;****************************************
Func _array_erstellen($welche_ini)
Dim $array_alles_eintragen[1][6]
$alle_sektions = IniReadSectionNames($welche_ini)
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]
$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
;****************************************
;* ListView Eintrag löschen *
;****************************************
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
;********************************************
; Doppelklick auf das listview *
;********************************************
; 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
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
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
;******************************************
; Ordnerliste dimensionieren *
;******************************************
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
;**************************************
; Unterordner durchsuchen *
;**************************************
Func _mit_unterordner($udf_quellordner)
$verzeichnisse = _FileListToArray($udf_quellordner, "*", 2)
;~ _ArrayDisplay($verzeichnisse, "verzeichnisse")
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")
;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
;**********************************************
; Unterordner nicht durchsuchen *
;**********************************************
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
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
;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
;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
;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]
;Leere erste Zeile löschen
If IsArray($array_quelle) Then
If UBound($array_quelle) - 1 > 1 Then _ArrayDelete($array_quelle, 0)
EndIf
EndFunc ;==>_dateiliste
Enthält:
- Änderungen an Hilfetexten
- Änderungen an htm-Seiten
- Änderungen an Beispielen
Spoiler anzeigen
ZitatAlles anzeigen----------------------------------------------
ungültige Beispiele
----------------------------------------------
Ordner: txt2htm\libExamples\
- - - - - - - - - - - - - - - - - - - -
_WinAPI_CallNextHookEx.au3
----------------------------------------------
neue Funktionen
----------------------------------------------
Ordner: txt2htm\txtFunctions\
- - - - - - - - - - - - - - - - - - - -
FileGetEncoding.txt
----------------------------------------------
geändert sonstiges
----------------------------------------------
Ordner: html\
- - - - - - - - - - - - - - - - - - - -
credits.htm
introduction.htm
Ordner: html\appendix\
- - - - - - - - - - - - - - - - - - - -
ascii.htm
Ordner: html\guiref\
- - - - - - - - - - - - - - - - - - - -
GUIRef.htm
----------------------------------------------
geänderte Beispiele
----------------------------------------------
Ordner: txt2htm\libExamples\
- - - - - - - - - - - - - - - - - - - -
_DebugReportVar.au3
_INetGetSource.au3
----------------------------------------------
geänderte Funktionen
----------------------------------------------
Ordner: txt2htm\txtFunctions\
- - - - - - - - - - - - - - - - - - - -
ControlCommand.txt
FileOpen.txt
Int.txt
Ordner: txt2htm\txtKeywords\
- - - - - - - - - - - - - - - - - - - -
ForInNext.txt
Ordner: txt2htm\txtlibfunctions\
- - - - - - - - - - - - - - - - - - - -
$tagNMHDR.txt
_GDIPlus_BitmapCloneArea.txt
_GDIPlus_BitmapLockBits.txt
_GUICtrlStatusBar_GetWidth.txt
_GUICtrlStatusBar_ShowHide.txt
_MemGlobalFree.txt
_SQLite_QuerySingleRow.txt
_WinAPI_CallNextHookEx.txt
1 ungültige Funktionen, Beispiele, htm-Seiten
1 neue Funktionen, Beispiele, htm-Seiten
18 geänderte Funktionen, Beispiele, htm-Seiten