Hallo zusammen,
ich habe mal wieder eine Frage an die Profis bzw. möchte versuchen mein Script zu verbessern.
Kurz gesagt glaube ich das mein Script, das so wie es ist funktioniert, sicher noch`Verbesserungsportential besitzt.
Soll heissen die ganzen 'Einzel'aufrufe kann man sicherlich über Arrays (glaube ich zumindest) verbessern, professioneller machen.
Daher meine Frage / Bitte um Verbesserungsvorschläge (ich will ja auch besser werden)
Bei dem Script handelt es sich um eine Art Softwareupdater, der auf vorhandene batch Dateien zugrefit
(das dem so ist hat historische Gründe und soll auch so bleiben (Nutzerwunsch)
Spoiler anzeigen
#include <GUIConstants.au3>
#include <Date.au3>
Dim $lbswupd1, $lbswupd2, $lbswupd3, $lbswupd4, $lbswupd5, $lbswupd6, $lbswupd7 ;Label
Dim $swupddate1, $swupddate2, $swupddate3, $swupddate4, $swupddate5, $swupddate6, $swupddate7 ;Date
Dim $swupdbatch1, $swupdbatch2, $swupdbatch3, $swupdbatch4, $swupdbatch5, $swupdbatch6, $swupdbatch7 ;BatchPath
Dim $swupd1, $swupd2, $swupd3, $swupd4, $swupd5, $swupd6, $swupd7 ;Batchfile
Dim $batchAll1, $batchAll2, $batchAll3, $batchAll4, $batchAll5, $batchAll6, $batchAll7 ;BatchGesamt
Dim $swupdpath1, $swupdpath2, $swupdpath3, $swupdpath4, $swupdpath5, $swupdpath6, $swupdpath7 ;UpdatePath
Dim $swupdfile1, $swupdfile2, $swupdfile3, $swupdfile4, $swupdfile5, $swupdfile6, $swupdfile7 ;Updatefile
Dim $swupdAll1, $swupdAll2, $swupdAll3, $swupdAll4, $swupdAll5, $swupdAll6, $swupdAll7 ;UpdateGesamt
Dim $openproc1, $openproc2, $openproc3, $openproc4, $openproc5, $openproc6, $openproc7 ;OpenProcesses
;Label
$lbswupd1 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "Label", "$lbswupd1", "NichtGefunden") ;CCleaner
$lbswupd2 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "Label", "$lbswupd2", "NichtGefunden") ;Notepad++
$lbswupd3 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "Label", "$lbswupd3", "NichtGefunden") ;VLC Player
$lbswupd4 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "Label", "$lbswupd4", "NichtGefunden") ;PicPick
$lbswupd5 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "Label", "$lbswupd5", "NichtGefunden") ;Teamviewer
$lbswupd6 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "Label", "$lbswupd6", "NichtGefunden") ;FoxIt
$lbswupd7 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "Label", "$lbswupd7", "NichtGefunden") ;N.N
;BatchPath
$swupdbatch1 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "BatchPath", "$swupdbatch1", "NichtGefunden")
$swupdbatch2 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "BatchPath", "$swupdbatch2", "NichtGefunden")
$swupdbatch3 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "BatchPath", "$swupdbatch3", "NichtGefunden")
$swupdbatch4 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "BatchPath", "$swupdbatch4", "NichtGefunden")
$swupdbatch5 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "BatchPath", "$swupdbatch5", "NichtGefunden")
$swupdbatch6 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "BatchPath", "$swupdbatch6", "NichtGefunden")
$swupdbatch7 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "BatchPath", "$swupdbatch7", "NichtGefunden")
;Batchfile
$swupd1 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "Batch", "$swupd1", "NichtGefunden")
$swupd2 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "Batch", "$swupd2", "NichtGefunden")
$swupd3 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "Batch", "$swupd3", "NichtGefunden")
$swupd4 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "Batch", "$swupd4", "NichtGefunden")
$swupd5 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "Batch", "$swupd5", "NichtGefunden")
$swupd6 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "Batch", "$swupd6", "NichtGefunden")
$swupd7 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "Batch", "$swupd7", "NichtGefunden")
;BatchGesamt
$batchAll1 = $swupdbatch1 & $swupd1
$batchAll2 = $swupdbatch2 & $swupd2
$batchAll3 = $swupdbatch3 & $swupd3
$batchAll4 = $swupdbatch4 & $swupd4
$batchAll5 = $swupdbatch5 & $swupd5
$batchAll6 = $swupdbatch6 & $swupd6
$batchAll7 = $swupdbatch7 & $swupd7
;UpdatePath
$swupdpath1 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdatePath", "$swupdpath1", "NichtGefunden")
$swupdpath2 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdatePath", "$swupdpath2", "NichtGefunden")
$swupdpath3 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdatePath", "$swupdpath3", "NichtGefunden")
$swupdpath4 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdatePath", "$swupdpath4", "NichtGefunden")
$swupdpath5 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdatePath", "$swupdpath5", "NichtGefunden")
$swupdpath6 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdatePath", "$swupdpath6", "NichtGefunden")
$swupdpath7 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdatePath", "$swupdpath7", "NichtGefunden")
;Updatefile
$swupdfile1 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateFile", "$swupdfile1", "NichtGefunden")
$swupdfile2 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateFile", "$swupdfile2", "NichtGefunden")
$swupdfile3 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateFile", "$swupdfile3", "NichtGefunden")
$swupdfile4 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateFile", "$swupdfile4", "NichtGefunden")
$swupdfile5 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateFile", "$swupdfile5", "NichtGefunden")
$swupdfile6 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateFile", "$swupdfile6", "NichtGefunden")
$swupdfile7 = IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateFile", "$swupdfile7", "NichtGefunden")
;UpdateGesamt
$swupdAll1 = $swupdpath1 & $swupdfile1
$swupdAll2 = $swupdpath2 & $swupdfile2
$swupdAll3 = $swupdpath3 & $swupdfile3
$swupdAll4 = $swupdpath4 & $swupdfile4
$swupdAll5 = $swupdpath5 & $swupdfile5
$swupdAll6 = $swupdpath6 & $swupdfile6
$swupdAll7 = $swupdpath7 & $swupdfile7
;Date
$Date = StringLeft(_Now(), 10)
;GUI
$Form1 = GUICreate("Software Updater", 220, 210, 500, 230)
GUISetIcon(@ScriptDir & "\swupd.ico")
$Group1 = GUICtrlCreateGroup("Choose for update ... Last Update", 8, 8, 200, 163)
$Label1 = GUICtrlCreateLabel("(" & IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateDate", "$swupddate1", "NichtGefunden") & ")", 143, 28, 60, 20)
GUICtrlSetFont(-1,7)
$Label2 = GUICtrlCreateLabel("(" & IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateDate", "$swupddate2", "NichtGefunden") & ")", 143, 48, 60, 20)
GUICtrlSetFont(-1,7)
$Label3 = GUICtrlCreateLabel("(" & IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateDate", "$swupddate3", "NichtGefunden") & ")", 143, 68, 60, 20)
GUICtrlSetFont(-1,7)
$Label4 = GUICtrlCreateLabel("(" & IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateDate", "$swupddate4", "NichtGefunden") & ")", 143, 88, 60, 20)
GUICtrlSetFont(-1,7)
$Label5 = GUICtrlCreateLabel("(" & IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateDate", "$swupddate5", "NichtGefunden") & ")", 143, 108, 60, 20)
GUICtrlSetFont(-1,7)
$Label6 = GUICtrlCreateLabel("(" & IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateDate", "$swupddate6", "NichtGefunden") & ")", 143, 128, 60, 20)
GUICtrlSetFont(-1,7)
$Label7 = GUICtrlCreateLabel("(" & IniRead(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateDate", "$swupddate7", "NichtGefunden") & ")", 143, 148, 60, 20)
GUICtrlSetFont(-1,7)
$Checkbox1 = GUICtrlCreateCheckbox($lbswupd1, 16, 25, 75, 20)
$Checkbox2 = GUICtrlCreateCheckbox($lbswupd2, 16, 45, 75, 17)
$Checkbox3 = GUICtrlCreateCheckbox($lbswupd3, 16, 65, 75, 17)
$Checkbox4 = GUICtrlCreateCheckbox($lbswupd4, 16, 85, 75, 17)
$Checkbox5 = GUICtrlCreateCheckbox($lbswupd5, 16, 105, 75, 17)
$Checkbox6 = GUICtrlCreateCheckbox($lbswupd6, 16, 125, 75, 17)
$Checkbox7 = GUICtrlCreateCheckbox($lbswupd7, 16, 145, 75, 17)
$Button1 = GUICtrlCreateButton("Update", 8, 176, 90, 25, 0)
$Button2 = GUICtrlCreateButton("Close", 117, 176, 90, 25, 0)
GUISetState()
;Check existing Update-File
If Not FileExists($swupdAll1) Then
GUICtrlSetState($Checkbox1, $GUI_DISABLE)
GUICtrlSetState($Label1, $GUI_DISABLE)
EndIf
If Not FileExists($batchAll2) Then
GUICtrlSetState($Checkbox2, $GUI_DISABLE)
GUICtrlSetState($Label2, $GUI_DISABLE)
EndIf
If Not FileExists($batchAll3) Then
GUICtrlSetState($Checkbox3, $GUI_DISABLE)
GUICtrlSetState($Label3, $GUI_DISABLE)
EndIf
If Not FileExists($batchAll4) Then
GUICtrlSetState($Checkbox4, $GUI_DISABLE)
GUICtrlSetState($Label4, $GUI_DISABLE)
EndIf
If Not FileExists($batchAll5) Then
GUICtrlSetState($Checkbox5, $GUI_DISABLE)
GUICtrlSetState($Label5, $GUI_DISABLE)
EndIf
If Not FileExists($batchAll6) Then
GUICtrlSetState($Checkbox6, $GUI_DISABLE)
GUICtrlSetState($Label6, $GUI_DISABLE)
EndIf
If Not FileExists($batchAll7) Then
GUICtrlSetState($Checkbox7, $GUI_DISABLE)
GUICtrlSetState($Label7, $GUI_DISABLE)
EndIf
;Check open Processes
;~ $openproc1 = ProcessExists("CCleaner.exe")
;~ $openproc2 = ProcessExists("VLC.exe")
;~ $openproc3 = ProcessExists("Notepad++.exe")
;~ $openproc4 = ProcessExists("picpick.exe")
;~ $openproc5 = ProcessExists("Teamviewer.exe") Or ProcessExists("Teamviewer_.exe")
;~ $openproc6 = ProcessExists("FoxIt Reader.exe")
;~ $openproc7 =
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg = $Checkbox1 And BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) = $GUI_CHECKED
$lbswupd = $lbswupd1
Case $msg = $Checkbox2 And BitAND(GUICtrlRead($Checkbox2), $GUI_CHECKED) = $GUI_CHECKED
$lbswupd = $lbswupd2
Case $msg = $Checkbox3 And BitAND(GUICtrlRead($Checkbox3), $GUI_CHECKED) = $GUI_CHECKED
$lbswupd = $lbswupd3
Case $msg = $Checkbox4 And BitAND(GUICtrlRead($Checkbox4), $GUI_CHECKED) = $GUI_CHECKED
$lbswupd = $lbswupd4
Case $msg = $Checkbox5 And BitAND(GUICtrlRead($Checkbox5), $GUI_CHECKED) = $GUI_CHECKED
$lbswupd = $lbswupd5
Case $msg = $Checkbox6 And BitAND(GUICtrlRead($Checkbox6), $GUI_CHECKED) = $GUI_CHECKED
$lbswupd = $lbswupd6
Case $msg = $Checkbox7 And BitAND(GUICtrlRead($Checkbox7), $GUI_CHECKED) = $GUI_CHECKED
$lbswupd = $lbswupd7
Case $msg = $Button1
TrayTip("Update läuft", "Das Update von " & $lbswupd & " läuft ...",10,0.5)
If _getCheckboxState($Checkbox1) = 1 Then RunWait($batchAll1)
If _getCheckboxState($Checkbox1) = 1 Then IniWrite(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateDate", "$swupddate1", $Date)
If _getCheckboxState($Checkbox1) = 1 Then GUICtrlSetData($Label1,$Date)
GUICtrlSetState($Checkbox1, $GUI_UNCHECKED)
If _getCheckboxState($Checkbox2) = 1 Then RunWait($batchAll2)
If _getCheckboxState($Checkbox2) = 1 Then IniWrite(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateDate", "$swupddate2", $Date)
If _getCheckboxState($Checkbox2) = 1 Then GUICtrlSetData($Label2,$Date)
GUICtrlSetState($Checkbox2, $GUI_UNCHECKED)
If _getCheckboxState($Checkbox3) = 1 Then RunWait($batchAll3)
If _getCheckboxState($Checkbox3) = 1 Then IniWrite(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateDate", "$swupddate3", $Date)
If _getCheckboxState($Checkbox3) = 1 Then GUICtrlSetData($Label3,$Date)
GUICtrlSetState($Checkbox3, $GUI_UNCHECKED)
If _getCheckboxState($Checkbox4) = 1 Then RunWait($batchAll4)
If _getCheckboxState($Checkbox4) = 1 Then IniWrite(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateDate", "$swupddate4", $Date)
If _getCheckboxState($Checkbox4) = 1 Then GUICtrlSetData($Label4,$Date)
GUICtrlSetState($Checkbox4, $GUI_UNCHECKED)
If _getCheckboxState($Checkbox5) = 1 Then RunWait($batchAll5)
If _getCheckboxState($Checkbox5) = 1 Then GUICtrlSetData($Label5,$Date)
If _getCheckboxState($Checkbox5) = 1 Then IniWrite(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateDate", "$swupddate5", $Date)
GUICtrlSetState($Checkbox5, $GUI_UNCHECKED)
If _getCheckboxState($Checkbox6) = 1 Then RunWait($batchAll6)
If _getCheckboxState($Checkbox6) = 1 Then IniWrite(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateDate", "$swupddate6", $Date)
If _getCheckboxState($Checkbox6) = 1 Then GUICtrlSetData($Label6,$Date)
GUICtrlSetState($Checkbox6, $GUI_UNCHECKED)
If _getCheckboxState($Checkbox7) = 1 Then RunWait($batchAll7)
If _getCheckboxState($Checkbox7) = 1 Then IniWrite(@ScriptDir & "\CDE_SWUpdater.ini", "UpdateDate", "$swupddate7", $Date)
If _getCheckboxState($Checkbox7) = 1 Then GUICtrlSetData($Label7 ,$Date)
GUICtrlSetState($Checkbox7, $GUI_UNCHECKED)
TrayTip("","",0)
Case $msg = $Button2
Exit
EndSelect
WEnd
Func _getCheckboxState($controlID)
Return BitAND(GUICtrlRead($controlID),$GUI_CHECKED)
EndFunc
Mir geht es im Speziellen um die ganzen einzulesenden Werte, die man betimmt mittels Arrays straffen bzw. besser verarbeiten kann.
Leider weiss ich nicht so genau wie das anzustellen ist.
Please help .... :wacko:
Danke schon mal
Gruss
ugt100