1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. autoBert

Beiträge von autoBert

  • Eigenmächtiger Erweiterungsversuch von Bugfix`s _GetFilesFolder_Rekursiv($sPath

    • autoBert
    • 12. September 2010 um 22:51

    Hallo Dietmar,

    so sollte es funktionieren:

    Spoiler anzeigen
    [autoit]

    ;==================================================================================================
    ; Function Name: _GetFilesFolder_Rekursiv($sPath [, $sExt='*' [, $iDir=-1 [, $iRetType=0 ,[$sDelim='0']]]])
    ; Description: Rekursive Auflistung von Dateien und/oder Ordnern
    ; Parameter(s): $sPath der Basispfad für die Auflistung ('.' -aktueller Pfad, '..' -Parentpfad)
    ; $sExt Erweiterung für Dateiauswahl '*' oder -1 für alle (Standard)
    ; $iDir -1 Dateien+Ordner(Standard), 0 nur Dateien, 1 nur Ordner
    ; optional: $iRetType 0 gibt Array, 1 gibt String zurück
    ; optional: $sDelim legt Trennzeichen für Stringrückgabe fest
    ; 0 -@CRLF (Standard) 1 -@CR 2 -@LF 3 -';' 4 -'|'
    ; Return Value(s): Array (Standard) od. String mit den gefundenen Pfaden der Dateien und/oder Ordner
    ; Array[0] enthält die Anzahl der gefundenen Dateien/Ordner
    ; Author(s): BugFix ([email='bugfix@autoit.de'][/email])
    ;
    ; geändert durch Dietmar // Progress integriert und Ausgabe in INI-Datei mit Dateieigenschaften
    ;
    ;==================================================================================================

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

    Dim $Progress_count = 0
    ;~Dim $Progress_enable
    ;~Dim $Progress_limit

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

    Func _GetFilesFolder_Rekursiv($sPath, $sExt = '*', $iDir = -1, $iRetType = 0, $sDelim = '0', $sProgress_enable = 1, $sProgress_limit = 0, $sExport_file = "c:\dummy.ini")
    ;~ MsgBox(4096,"",$sPath & @CR & $sExt & @CRLF & $iDir & @CRLF & $iRetType & @CRLF & $sDelim & @CRLF & $sProgress_enable & @CRLF & $sProgress_limit & @CRLF & $sExport_file)
    ;~ Exit
    $sPath_Len = StringLen($sPath)

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

    If $sProgress_limit = 0 Then
    $sProgress_enable = 0
    Else
    If $sProgress_enable = 1 Then
    $sProgress_count = 0
    ProgressOn("Dateiliste von '" & $sPath & "' wird erstellt", "Bitte haben Sie etwas Geduld.")
    EndIf
    EndIf

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

    Global $oFSO = ObjCreate('Scripting.FileSystemObject')
    Global $strFiles = ''
    Switch $sDelim
    Case '1'
    $sDelim = @CR
    Case '2'
    $sDelim = @LF
    Case '3'
    $sDelim = ';'
    Case '4'
    $sDelim = '|'
    Case Else
    $sDelim = @CRLF
    EndSwitch
    If ($iRetType < 0) Or ($iRetType > 1) Then $iRetType = 0
    If $sExt = -1 Then $sExt = '*'
    If ($iDir < -1) Or ($iDir > 1) Then $iDir = -1
    FileDelete($sExport_file) ;<=======================
    _ShowSubFolders($oFSO.GetFolder($sPath), $sExt, $iDir, $sDelim, $sProgress_enable, $sProgress_limit, $sExport_file, $sPath_Len)
    If $iRetType = 0 Then
    Local $aOut
    $aOut = StringSplit(StringTrimRight($strFiles, StringLen($sDelim)), $sDelim, 1)
    If $aOut[1] = '' Then
    ReDim $aOut[1]
    $aOut[0] = 0
    EndIf
    Return $aOut
    Else
    Return StringTrimRight($strFiles, StringLen($sDelim))
    EndIf
    If $sProgress_enable = 1 Then ProgressOff()
    EndFunc ;==>_GetFilesFolder_Rekursiv

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

    Func _ShowSubFolders($Folder, $Ext = '*', $Dir = -1, $Delim = @CRLF, $Progress_enable = 1, $Progress_limit = 2000, $Export_file = "d:\dummy.ini", $Path_Len = 1)

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

    ;~ MsgBox(4096,"",@CRLF & $Ext & @CRLF & $Dir & @CRLF & $Delim & @CRLF & $Progress_enable & @CRLF & $Progress_limit & @CRLF & $Export_file & @CRLF & $sPath_Len)
    ;~ Exit
    If Not IsDeclared("strFiles") Then Global $strFiles = ''
    If ($Dir = -1) Or ($Dir = 0) Then
    For $file In $Folder.Files
    If $Ext <> '*' Then
    If StringRight($file.Name, StringLen($Ext)) = $Ext Then _
    $strFiles &= $file.Path & $Delim
    Else
    IniWrite($Export_file, StringTrimRight(StringTrimLeft($file.path, $Path_Len), StringLen($file.name)), $file.Name, '"' & $file.Size & "|" & $file.DateCreated & "|" & $file.DateLastModified & "|" & FileGetVersion($file.Path, "FileVersion") & "|" & FileGetVersion($file.Path, "ProductVersion") & '"')
    If $Progress_enable = 1 Then
    $Progress_count = $Progress_count + 1
    ProgressSet($Progress_count / ($Progress_limit / 100), $Progress_count & " von " & $Progress_limit & " Dateien ermittelt")
    EndIf
    $strFiles &= $file.Path & $Delim
    EndIf
    Next
    EndIf
    For $Subfolder In $Folder.SubFolders
    If ($Dir = -1) Or ($Dir = 1) Then $strFiles &= $Subfolder.Path & '\' & $Delim
    _ShowSubFolders($Subfolder, $Ext, $Dir, $Delim, $Progress_enable, $Progress_limit, $Export_file) ;<==========================
    Next
    EndFunc ;==>_ShowSubFolders
    ;Func _GetFilesFolder_Rekursiv($sPath, $sExt = '*', $iDir = -1, $iRetType = 0, $sDelim = '0', $sProgress_enable = 1, $sProgress_limit = 0, $sExport_file = "c:\dummy.ini")

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

    _GetFilesFolder_Rekursiv("c:\programme\autoIt3\downloads", '*', 0, 0, 0, 1,10000, "c:\test.txt")

    [/autoit]


    ich habe lediglich Filedelete (damit die Ausgabedatei gelöscgt wird) und beim rekursiven Aufruf von _ShowSubFolders alle Parameter angegeben,

    getestet habe ich so:

    [autoit]

    _GetFilesFolder_Rekursiv("c:\programme\autoIt3\downloads", '*', 0, 0, 0, 1,10000, @ScriptDir & "\test.txt")

    [/autoit]

    mfg autoBert

    mfg autoBert

  • Mehrere Ordner auslesen und bearbeiten

    • autoBert
    • 12. September 2010 um 22:15

    Hallo jackunder,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee

    und jetzt zu deinem Problem: Mit

    [autoit]

    FileSelectFolder

    [/autoit]

    kannst du dir einen Ordner auswählen. Die Dateien dieses Ordner liest du dann mit

    [autoit]

    _FileListToArray

    [/autoit]

    in ein Array ein. Da _FileListToArray nur den Namen ohne Pfad zurückgibt musst du diesen beim einfügen der Daten dieses Arrays in einer Combobox, Listbox oder noch besser Listview im Skript selbst mit einfügen. Für das Anzeigen benötigst du ein Edit-Control.

    [autoit]

    FileOpen,FileRead,FileWrite,FileClose

    [/autoit]

    solltest du dir hierfür auch in der Hilfe anschauen.

    mfg autoBert

  • K8055 Programmer Problem

    • autoBert
    • 12. September 2010 um 20:08

    Hallo button421,

    Zitat

    aha, aber es funktioniert so, also lasse ich es so ;)

    eben nicht, du solltest Fehlermeldungen die dir gepostet werden auch ernst nehmen.

    • zu @error: dann versuche doch einen x-beliebigen Ausgang auszuschalten und was dazu in der Listview als Eintrag aufgenommen wird
    • zu Listviewitems werden bei deinem Skript unbeabsichtigt gelöscht: versuche einmal einfach 5 Aktionen z.B. Ausgang 1-5 (derzeit geht ja nur einschalten) in der Listview als Aktion aufzunehmen, kommen bei dir wirklich alle 5 an?

    Edit: das bezieht sich auf dein Original-Skript, welches ich im 1. Spoiler korrigiert habe. In der Version die für das hinzufügen von AKtionen ohne INI auskommt habe ich beide Fehler gefixt.

    Zitat

    ich habe beim testen der Version noch weitere Fehler gefunden diese habe ich nur in dieser Version gefixt. Es wurden ListviewItems gelöscht deshalb auf $GUI_SHOW <=> $GUI_HIDE umgestellt.


    Bei einer neuerlichen Prüfung ist mir noch aufgefallen, dass das Schliessen des "Aktion hinzufügen"-Fensters über X das Programm komplett schliesst, deshalb hier noch einmal die Version aus dem 2. Spoiler (Post Gestern, 23:15)

    Spoiler anzeigen
    [autoit]

    #region includes ;########################
    #include <k8055udf.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiStatusBar.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <ComboConstants.au3>
    #endregion includes ;########################
    ;##########################################
    Global $inputcombo

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

    Global $adressebin = ""
    Global $aktion = "Programm erfolgreich gestartet"
    Global $ini = @ScriptDir & "\logdatei.ini"
    Global $title, $text, $probs, $outputlabel, $outputcombo, $onoutput, $offoutput
    Global $inisection2
    IniDelete($ini, "log")
    IniDelete($ini, "startdaten")
    IniDelete($ini, "inputs")
    IniDelete($ini, "outputs")
    IniDelete($ini, "aktion")
    IniWrite($ini, "log", "Startdaten", @HOUR & ":" & @MIN & ":" & @SEC & ":" & @MSEC & "-Datum:" & @MDAY & "." & @MON & "." & @YEAR)
    #region ### START Verbindungsform ### Form=
    $frmConnect = GUICreate("Verbindung", 184, 100, 190, 126, -1, BitOR($WS_EX_TOOLWINDOW, $WS_EX_WINDOWEDGE))
    $SK5 = GUICtrlCreateCheckbox("SK5", 24, 16, 41, 17)
    $SK6 = GUICtrlCreateCheckbox("SK6", 128, 16, 41, 17)
    $Adresse = GUICtrlCreateGroup("Adresse", 8, 0, 169, 41)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateLabel("<---------------->", 64, 16, 64, 17)
    $Progress1 = GUICtrlCreateProgress(0, 80, 182, 17)
    $mitboardverbinden = GUICtrlCreateButton("Mit K8055 Board verbinden", 8, 48, 171, 25, $WS_GROUP)
    GUISetState(@SW_HIDE)
    #endregion ### START Verbindungsform ### Form=
    ;##########################################
    #region ### START Hauptform ### Form=c:\users\jonathan verbeek\desktop\k8055 programmer\hauptform.kxf
    $frmMain = GUICreate("K8055 Board Programmer Basicpack - created by button421", 519, 412, 187, 121)
    $statusleiste = _GUICtrlStatusBar_Create($frmMain)
    Dim $statusleiste_PartsWidth[2] = [439, -1]
    _GUICtrlStatusBar_SetParts($statusleiste, $statusleiste_PartsWidth)
    _GUICtrlStatusBar_SetText($statusleiste, $aktion, 0)
    _GUICtrlStatusBar_SetText($statusleiste, "Verbunden", 1)
    $DigitaleEingaenge = GUICtrlCreateGroup("Digitale Eingänge", 8, 0, 169, 41)
    $I1 = GUICtrlCreateCheckbox("I1", 16, 16, 25, 17)
    $I2 = GUICtrlCreateCheckbox("I2", 48, 16, 25, 17)
    $I3 = GUICtrlCreateCheckbox("I3", 80, 16, 25, 17)
    $I4 = GUICtrlCreateCheckbox("I4", 112, 16, 25, 17)
    $I5 = GUICtrlCreateCheckbox("I5", 144, 16, 25, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $DigitaleAusgaenge = GUICtrlCreateGroup("Digitale Ausgänge", 184, 0, 329, 41)
    $O1 = GUICtrlCreateCheckbox("O1", 192, 16, 33, 17)
    $O2 = GUICtrlCreateCheckbox("O2", 232, 16, 33, 17)
    $O3 = GUICtrlCreateCheckbox("O3", 272, 16, 33, 17)
    $O4 = GUICtrlCreateCheckbox("O4", 312, 16, 33, 17)
    $O5 = GUICtrlCreateCheckbox("O5", 352, 16, 33, 17)
    $O6 = GUICtrlCreateCheckbox("O6", 392, 16, 33, 17)
    $O7 = GUICtrlCreateCheckbox("O7", 432, 16, 33, 17)
    $O8 = GUICtrlCreateCheckbox("O8", 472, 16, 33, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $ListView1 = GUICtrlCreateListView("Aktionen", 8, 48, 506, 310)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 502)
    $addaktion = GUICtrlCreateButton("Aktion hinzufügen", 8, 360, 107, 25, $WS_GROUP)
    $delaktion = GUICtrlCreateButton("Aktion löschen", 120, 360, 91, 25, $WS_GROUP)
    $anleitung = GUICtrlCreateButton("Anleitung für Experimente", 216, 360, 131, 25, $WS_GROUP)
    $hilfe = GUICtrlCreateButton("Hilfe und Info", 352, 360, 75, 25, $WS_GROUP)
    $beenden = GUICtrlCreateButton("Beenden", 432, 360, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #endregion ### START Hauptform ### Form=c:\users\jonathan verbeek\desktop\k8055 programmer\hauptform.kxf
    ;#######################################
    #region ### START Aktion hinzufügen ### Form=
    $frmAddAction = GUICreate("Aktion hinzufügen", 246, 187, 192, 124, -1, BitOR($WS_EX_TOOLWINDOW, $WS_EX_WINDOWEDGE), $frmMain)
    $Aktionlabel = GUICtrlCreateLabel("Aktion:", 8, 8, 37, 17)
    $aktioncombo = GUICtrlCreateCombo("", 48, 8, 193, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "Meldung anzeigen|Digitalen Ausgang ein/ausschalten|Abfrage ob Digitaler Eingang ein")
    $probs = GUICtrlCreateGroup("Einstellungen für Aktion festlegen", 8, 32, 233, 121)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $cancelactionadd = GUICtrlCreateButton("Abbrechen", 168, 160, 75, 25, $WS_GROUP)
    $okactionadd = GUICtrlCreateButton("OK", 88, 160, 75, 25, $WS_GROUP)
    #region hierher verschoben, da durch das deleten und dazwischen Erzegen von ListViewItems konnte es vorkommen dass ListviewItems gelöscht wurden
    $probs = GUICtrlCreateGroup("Einstellungen für Meldung festlegen", 8, 32, 233, 121)
    $title = GUICtrlCreateInput("Titel der Meldung", 17, 45, 217, 21)
    $text = GUICtrlCreateInput("Text der Meldung", 17, 70, 217, 73)
    $outputlabel = GUICtrlCreateLabel("Ausgang:", 11, 80, 49, 17)
    $outputcombo = GUICtrlCreateCombo("", 64, 80, 153, 17, $CBS_DROPDOWNLIST)
    $onoutput = GUICtrlCreateRadio("Einschalten", 20, 115, 81, 17, $BS_AUTORADIOBUTTON)
    $offoutput = GUICtrlCreateRadio("Ausschalten", 20, 130, 81, 17, $BS_AUTORADIOBUTTON)
    $inputlabel = GUICtrlCreateLabel("Eingang:", 8, 100, 49, 17)
    $inputcombo = GUICtrlCreateCombo("", 72, 100, 145, 25, $CBS_DROPDOWNLIST)
    GUICtrlSetState($outputlabel, $GUI_HIDE)
    GUICtrlSetState($outputcombo, $GUI_HIDE)
    GUICtrlSetState($onoutput, $GUI_HIDE)
    GUICtrlSetState($offoutput, $GUI_HIDE)
    GUICtrlSetState($inputlabel, $GUI_HIDE)
    GUICtrlSetState($inputcombo, $GUI_HIDE)
    #endregion hierher verschoben, da durch das deleten und dazwischen Erzegen von ListViewItems konnte es vorkommen dass ListviewItems gelöscht wurden
    GUISetState(@SW_HIDE)
    #endregion ### START Aktion hinzufügen ### Form=
    ;#######################################
    While 1
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[1] ;um die GUIS zu unterscheiden
    Case $frmConnect
    Switch $nMsg[0] ;um die Events dieser GUI zu unterscheiden
    Case -3, $beenden
    Exit
    Case $mitboardverbinden
    If GUICtrlRead($adressebin) = "SK5/SK6/" Then
    USB_DLLOpen()
    initial_board(0)
    GUICtrlSetState($Progress1, 100)
    MsgBox(64, "Info", "Mit Board verbunden!")
    GUISetState(@SW_SHOW, $frmMain)
    GUISetState(@SW_HIDE, $frmConnect)
    ElseIf GUICtrlRead($adressebin) = "SK6/" Then
    USB_DLLOpen()
    initial_board(1)
    GUICtrlSetState($Progress1, 100)
    MsgBox(64, "Info", "Mit Board verbunden!")
    GUISetState(@SW_SHOW, $frmMain)
    GUISetState(@SW_HIDE, $frmConnect)
    ElseIf GUICtrlRead($adressebin) = "SK5/" Then
    USB_DLLOpen()
    initial_board(2)
    GUICtrlSetState($Progress1, 100)
    MsgBox(64, "Info", "Mit Board verbunden!")
    GUISetState(@SW_SHOW, $frmMain)
    GUISetState(@SW_HIDE, $frmConnect)
    Else
    USB_DLLOpen()
    initial_board(3)
    GUICtrlSetState($Progress1, 100)
    MsgBox(64, "Info", "Mit Board verbunden!")
    GUISetState(@SW_SHOW, $frmMain)
    GUISetState(@SW_HIDE, $frmConnect)
    EndIf
    $msg = MsgBox(36, "Du weißt es?", "Weißt du wie das Programm funktioniert? Wenn ja, klick auf Nein!" & @CRLF & "Brauchst du Hilfe?")
    If $msg = 7 Then
    MsgBox(64, "OK", "Viel Spass noch!")
    ElseIf $msg = 6 Then
    MsgBox(64, "Hilfe", "Also:" & @CRLF & "Als erstes musst du die Eingänge und Ausgänge die du verwenden willst auswählen," & @CRLF & "dann klickst du auf Neue Aktion und wählst den Aktionstyp aus. Wenn du dabei Hilfe brauchst, schreibe eine Mail an:" & @CRLF & "jverbeek@freenet.de" & @CRLF & "Drücke F2 um Sleep einzusetzen.")
    EndIf
    EndSwitch
    Case $frmMain
    Switch $nMsg[0] ;um die Events dieser GUI zu unterscheiden
    Case -3, $beenden
    Exit
    Case $SK5
    If BitAND(GUICtrlRead($SK5), $GUI_CHECKED) Then
    $adressebin = "SK5/"
    EndIf
    Case $SK6
    If BitAND(GUICtrlRead($SK6), $GUI_CHECKED) Then
    $adressebin = "SK6/"
    EndIf
    ;Eingänge
    Case $I1
    If BitAND(GUICtrlRead($I1), $GUI_CHECKED) Then
    IniDelete($ini, "inputs")
    IniWrite($ini, "inputs", "I1", "1")
    Else
    IniDelete($ini, "inputs")
    IniWrite($ini, "inputs", "I1", "0")
    EndIf
    Case $I2
    If BitAND(GUICtrlRead($I2), $GUI_CHECKED) Then
    IniDelete($ini, "inputs", "I2")
    IniWrite($ini, "inputs", "I2", "1")
    Else
    IniDelete($ini, "inputs", "I2")
    IniWrite($ini, "inputs", "I2", "0")
    EndIf
    Case $I3
    If BitAND(GUICtrlRead($I3), $GUI_CHECKED) Then
    IniDelete($ini, "inputs", "I3")
    IniWrite($ini, "inputs", "I3", "1")
    Else
    IniDelete($ini, "inputs", "I3")
    IniWrite($ini, "inputs", "I3", "0")
    EndIf
    Case $I4
    If BitAND(GUICtrlRead($I4), $GUI_CHECKED) Then
    IniDelete($ini, "inputs", "I4")
    IniWrite($ini, "inputs", "I4", "1")
    Else
    IniDelete($ini, "inputs", "I4")
    IniWrite($ini, "inputs", "I4", "0")
    EndIf
    Case $I5
    If BitAND(GUICtrlRead($I5), $GUI_CHECKED) Then
    IniDelete($ini, "inputs", "I5")
    IniWrite($ini, "inputs", "I5", "1")
    Else
    IniDelete($ini, "inputs", "I5")
    IniWrite($ini, "inputs", "I5", "0")
    EndIf
    ;Ausgänge
    Case $O1
    If BitAND(GUICtrlRead($O1), $GUI_CHECKED) Then
    IniDelete($ini, "outputs", "O1")
    IniWrite($ini, "outputs", "O1", "1")
    Else
    IniDelete($ini, "outputs", "O2")
    IniWrite($ini, "outputs", "O1", "0")
    EndIf
    Case $O2
    If BitAND(GUICtrlRead($O2), $GUI_CHECKED) Then
    IniDelete($ini, "outputs", "O2")
    IniWrite($ini, "outputs", "O2", "1")
    Else
    IniDelete($ini, "outputs", "O2")
    IniWrite($ini, "outputs", "O2", "0")
    EndIf
    Case $O3
    If BitAND(GUICtrlRead($O3), $GUI_CHECKED) Then
    IniDelete($ini, "outputs", "O3")
    IniWrite($ini, "outputs", "O3", "1")
    Else
    IniDelete($ini, "outputs", "O3")
    IniWrite($ini, "outputs", "O3", "0")
    EndIf
    Case $O4
    If BitAND(GUICtrlRead($O4), $GUI_CHECKED) Then
    IniDelete($ini, "outputs", "O4")
    IniWrite($ini, "outputs", "O4", "1")
    Else
    IniDelete($ini, "outputs", "O4")
    IniWrite($ini, "outputs", "O4", "0")
    EndIf
    Case $O5
    If BitAND(GUICtrlRead($O5), $GUI_CHECKED) Then
    IniDelete($ini, "outputs", "O5")
    IniWrite($ini, "outputs", "O5", "1")
    Else
    IniDelete($ini, "outputs", "O5")
    IniWrite($ini, "outputs", "O5", "0")
    EndIf
    Case $O6
    If BitAND(GUICtrlRead($O6), $GUI_CHECKED) Then
    IniDelete($ini, "outputs", "O6")
    IniWrite($ini, "outputs", "O6", "1")
    Else
    IniDelete($ini, "outputs", "O6")
    IniWrite($ini, "outputs", "O6", "0")
    EndIf
    Case $O7
    If BitAND(GUICtrlRead($O7), $GUI_CHECKED) Then
    IniDelete($ini, "outputs", "O7")
    IniWrite($ini, "outputs", "O7", "1")
    Else
    IniDelete($ini, "outputs", "O7")
    IniWrite($ini, "outputs", "O7", "0")
    EndIf
    Case $O8
    If BitAND(GUICtrlRead($O8), $GUI_CHECKED) Then
    IniDelete($ini, "outputs", "O8")
    IniWrite($ini, "outputs", "O8", "1")
    Else
    IniDelete($ini, "outputs", "O8")
    IniWrite($ini, "outputs", "O8", "0")
    EndIf
    Case $delaktion
    _GUICtrlListView_DeleteItemsSelected(GUICtrlGetHandle($ListView1))
    Case $addaktion
    GUISetState(@SW_SHOW, $frmAddAction)
    GUISetState(@SW_DISABLE, $frmMain)
    $inisection = IniReadSection($ini, "outputs")
    If IsArray($inisection) Then ;wenn nichts ausgewählt gibt es sonst einen "Subscript used with non-Array variable
    _ArraySort($inisection) ;falls nachträglich Ausgänge hinzugenommen worden sind
    GUICtrlSetData($outputcombo, "")
    For $i = 1 To $inisection[0][0]
    If $inisection[$i][1] Then GUICtrlSetData($outputcombo, $inisection[$i][0])
    Next
    EndIf
    $inisection2 = IniReadSection($ini, "inputs")
    If IsArray($inisection2) Then ;wenn nichts ausgewählt gibt es sonst einen "Subscript used with non-Array variable
    _ArraySort($inisection2) ;falls nachträglich Eingänge hinzugenommen worden sind
    For $i_2 = 1 To $inisection2[0][0]
    If $inisection2[$i_2][1] Then GUICtrlSetData($inputcombo, $inisection2[$i_2][0])
    Next
    EndIf
    EndSwitch

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

    Case $frmAddAction
    Switch $nMsg[0] ;um die Events dieser GUI zu unterscheiden
    Case $aktioncombo
    ;GUICtrlSetState($probs, $GUI_HIDE)
    GUICtrlSetState($title, $GUI_HIDE)
    GUICtrlSetState($text, $GUI_HIDE)
    GUICtrlSetState($outputlabel, $GUI_HIDE)
    GUICtrlSetState($outputcombo, $GUI_HIDE)
    GUICtrlSetState($onoutput, $GUI_HIDE)
    GUICtrlSetState($offoutput, $GUI_HIDE)
    GUICtrlSetState($inputlabel, $GUI_HIDE)
    GUICtrlSetState($inputcombo, $GUI_HIDE)
    $sCboAktion = GUICtrlRead($aktioncombo)
    Switch $sCboAktion
    Case "Meldung anzeigen"
    GUICtrlSetData($probs, "Einstellungen für Meldung festlegen")
    ;GUICtrlSetState($probs, $GUI_SHOW)
    GUICtrlSetState($title, $GUI_SHOW)
    GUICtrlSetState($text, $GUI_SHOW)
    IniDelete($ini, "aktion")
    ; IniWrite($ini, "aktion", "Msg", "1")
    Case "Digitalen Ausgang Ein/Ausschalten"
    GUICtrlSetData($probs, "Einstellungen für Ausgang festlegen")
    GUICtrlSetState($outputlabel, $GUI_SHOW)
    GUICtrlSetState($outputcombo, $GUI_SHOW)
    GUICtrlSetState($onoutput, $GUI_SHOW)
    GUICtrlSetState($offoutput, $GUI_SHOW)
    IniDelete($ini, "aktion")
    ; IniWrite($ini, "aktion", "SetDigitalChannel", "1")
    Case "Abfrage ob Digitaler Eingang ein"
    GUICtrlSetData($probs, "Einstellung für Abfrage festlegen")
    GUICtrlSetState($inputlabel, $GUI_SHOW)
    GUICtrlSetState($inputcombo, $GUI_SHOW)
    IniDelete($ini, "aktion")
    ; IniWrite($ini, "aktion", "ReadDigitalChannel", "1")
    EndSwitch
    Case $okactionadd
    $sCboAktion = GUICtrlRead($aktioncombo)
    Switch $sCboAktion
    Case "Meldung anzeigen"
    GUISetState(@SW_HIDE, $frmAddAction)
    GUICtrlCreateListViewItem("Meldung anzeigen(" & GUICtrlRead($title) & "," & GUICtrlRead($text) & ")", $ListView1)
    Case "Digitalen Ausgang Ein/Ausschalten"
    If BitAND(GUICtrlRead($onoutput), $GUI_CHECKED) Then
    GUICtrlCreateListViewItem("Digitalen Ausgang setzen(" & GUICtrlRead($outputcombo) & ",an)", $ListView1)
    ElseIf BitAND(GUICtrlRead($offoutput), $GUI_CHECKED) Then
    GUICtrlCreateListViewItem("Digitalen Ausgang setzen(" & GUICtrlRead($outputcombo) & ",aus)", $ListView1)
    EndIf
    Case "Abfrage ob Digitaler Eingang ein"
    GUICtrlCreateListViewItem(".: Ist Input " & GUICtrlRead($inputcombo) & " ein? Wenn ja, dann :.", $ListView1)
    IniWrite($ini, "aktiondetails", "ReadDigitalInput-Input", GUICtrlRead($inputcombo))
    EndSwitch
    GUISetState(@SW_ENABLE, $frmMain)
    GUISetState(@SW_HIDE, $frmAddAction)
    WinActivate($frmMain)
    Case $cancelactionadd, -3
    GUISetState(@SW_ENABLE, $frmMain)
    GUISetState(@SW_HIDE, $frmAddAction)
    WinActivate($frmMain)
    EndSwitch
    EndSwitch
    WEnd

    [/autoit]

    weiterhin gefixt/geändert

    • in diesem Post, wenn nachträglich Ein-/Ausgänge hinzu- / weggenommen wurden war die Anzeige solange falsch wie sich der Wert in der $aktioncombo nicht geändert hat. Zusätzlich sind sie jetzt immer aufsteigend sortiert, bisher wurden neu hinzugekommen einfach hintenangehängt
    • wenn man aus dem Aktionsfenster vrsehentlich in das Hauptfenster geklickt hat, hat dass Skript das Aktionsfenster zwar deaktiviert, man konnte danach aber das Aktionsfenster nicht neu aufrufen
    • bei den Fenstername habe ich "selbsterklärende Namen" vergeben


    mfg autoBert

  • Input Feld und Radiobutton Steuern

    • autoBert
    • 12. September 2010 um 19:49

    Hallo HGF,

    zu 4: ja funktioniert, hier ein Beispielskript dazu:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #Include <Timers.au3>

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

    $gui = GUICreate("Programm", 200, 200) ;Gui 1
    $bt1 = GUICtrlCreateButton("Programm 1", 50, 20) ;Button zur 1. Variante
    $bt2 = GUICtrlCreateButton("Programm 2", 50, 50) ;Button zur 2. Variante
    $bt3 = GUICtrlCreateButton("Programm 3", 50, 80) ;Button zur 3. Variante
    GUISetState(@SW_SHOW, $gui) ;GUI anzeigen

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

    $gui1 = GUICreate("Variante 1", 150, 150, 150, 150) ;Gui für Variante 1
    $close1 = GUICtrlCreateButton("zurück", 50, 50) ;zurück zum Hauptprogramm
    $gui2 = GUICreate("Variante 2", 150, 150, 250, 250) ;Gui für Variante 2
    $close2 = GUICtrlCreateButton("zurück", 50, 50) ;zurück zum Hauptprogramm
    $gui3 = GUICreate("Variante 2", 150, 150, 350, 350) ;Gui für Variante 3
    $close3 = GUICtrlCreateButton("zurück", 50, 50) ;zurück zum Hauptprogramm
    WinSetTrans($gui1, "", 0)
    WinSetTrans($gui2, "", 0)
    WinSetTrans($gui3, "", 0)
    GUISetState(@SW_HIDE, $gui1)
    GUISetState(@SW_HIDE, $gui2)
    GUISetState(@SW_HIDE, $gui3)
    Global $actGui = $gui

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

    While 1 ;schleife
    $nMsg = GUIGetMsg(1) ;Die 1 ist wichtig
    Switch $nMsg[1] ;Hier ebenfalls
    Case $gui ;Wenn gui1 benutzt wird
    Switch $nMsg[0] ;Wieder switch $nMSG nur mit 0
    Case $bt1 ;Wenn eine Variante 1 aufgerfen wird
    _SetTrans($actGui, $gui1)
    ;$actGui = $gui1
    Case $bt2 ;Wenn eine Variante 2 aufgerfen wird
    _SetTrans($actGui, $gui2)
    ;$actGui = $gui2
    Case $bt3 ;Wenn eine Variante 3 aufgerfen wird
    _SetTrans($actGui, $gui3)
    ;$actGui = $gui3
    Case $GUI_EVENT_CLOSE ;Falls HauptGUI geschlossen wird
    Exit ;Skript schließen
    EndSwitch ;Ende der Switch von dem Haupt GUI
    Case $gui1 ;Falls Variante 1 benutzt wird
    Switch $nMsg[0] ;Wieder switch $nMsg und wieder mit 0
    Case $close1, $GUI_EVENT_CLOSE ;Falls Variante 1 geschlossen wird(zurück, X / Alt-F4 / Esc)
    _SetTrans($gui1, $gui)
    $actGui = $gui
    EndSwitch
    Case $gui1 ;Falls Variante 1 benutzt wird
    Switch $nMsg[0] ;Wieder switch $nMsg und wieder mit 0
    Case $close1, $GUI_EVENT_CLOSE ;Falls Variante 1 geschlossen wird(zurück, X / Alt-F4 / Esc)
    _SetTrans($gui1, $gui)
    $actGui = $gui
    EndSwitch
    Case $gui2 ;Falls Variante 2 benutzt wird
    Switch $nMsg[0] ;Wieder switch $nMsg und wieder mit 0
    Case $close2, $GUI_EVENT_CLOSE ;Falls Variante 2 geschlossen wird(zurück, X / Alt-F4 / Esc)
    _SetTrans($gui2, $gui)
    $actGui = $gui
    EndSwitch
    Case $gui3 ;Falls Variante 3 benutzt wird
    Switch $nMsg[0] ;Wieder switch $nMsg und wieder mit 0
    Case $close3, $GUI_EVENT_CLOSE ;Falls Variante 3 geschlossen wird(zurück, X / Alt-F4 / Esc)
    _SetTrans($gui3, $gui)
    $actGui = $gui
    EndSwitch ;Ende der Switch von dem GUI 2
    EndSwitch ;Ende der switch des allem guis. du kannst so weitermachen mit x GUI's
    WEnd ;schleifenende

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

    Func _CheckIdleTime()
    $iIdleTime = _Timer_GetIdleTime()
    If $iIdleTime > 5000 and $actGui <> 0 Then _SetTrans($actGui, $Gui) ;wenn länger als 5 Sekunden keine Benutzer aktivität zurück zum HauptMenü zurückkehren
    EndFunc ;==>_CheckIdleTime

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

    Func _SetTrans($guiOut, $guiIn)
    if $guiOut <> 0 Then AdlibRegister("_CheckIdleTime", 1000) ;jede Sekunde checken wann die letzte Benutzeraktivität war
    if $guiIn = 0 Then AdlibUnRegister("_CheckIdleTime") ; in der Hauptmaske braucht nicht geprüft werden
    Static $oldGui
    $actGui = $guiIn
    If $oldGui = $actGui Then Return
    $oldGui = $guiIn
    GUISetState(@SW_SHOW, $guiIN) ;guiIN anzeigen
    For $i = 1 To 255
    WinSetTrans($guiOut, "", 255 - $i) ;langsam ausblenden
    WinSetTrans($guiIn, "", $i);langsam einblenden
    Next
    if $guiOut <> $guiIn And $guiOut <> 0 Then GUISetState(@SW_HIDE, $guiOut) ;guiOut verstecken
    EndFunc ;==>_SetTrans

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

    die Methode mit ChildGuis siehe Post Dietmar funktioniert natürlich auch, alternativ könntest du auch mit Tabs arbeiten

    mfg autoBert

  • K8055 Programmer Problem

    • autoBert
    • 12. September 2010 um 18:13

    Hallo Button421,

    du kannst aber dafür nicht das Makro @error benutzen, da (fast) jede Funktion diesen Wert bei der Rückgabe setzt kann er nur direkt nach dem Aufrufen einer Fnktion ausgewertet werden. In deinem Skript wertest du damit aus ob

    [autoit]

    IniDelete($ini,"aktion","ReadDigitalChannel")

    [/autoit]

    diese Zeile erfolgreich war (GuiSetState ändert @error nicht) füge zu Testzwecken

    [autoit]

    MsgBox(0,"Errorwert",@error)

    [/autoit]

    direkt vor die Überprüfung auf an/aus ein, und du wirst sehen warum der Wert an/aus falsch sein kann.

    Falls du wie ich an deinem Post zu erkennen glaube, dein Skript (mit dem Weg über die INI beim Aktionen hinzufügen) verwenden willst musst du auf jeden Fall die Änderungen die ich im 2. Spoiler gepostet habe (damit nicht ListviewItems gelöscht weden) übernehmen. Ich habe dort auch noch ein paar andere Kleinigkeiten geändert.:

    • Button für Abrechen mit Funktion belegt [*9Aktion löschen mit Funktion belegt

    mfg autoBert

  • Eigenmächtiger Erweiterungsversuch von Bugfix`s _GetFilesFolder_Rekursiv($sPath

    • autoBert
    • 12. September 2010 um 17:33

    Hallo Dietmar,

    du solltest die func _CountAllFiles mit anhängen, ist kein Standardinclude-File,

    mfg autoBert

  • GUICtrlRead

    • autoBert
    • 12. September 2010 um 17:15

    Hallo Lausbube,

    wenn du Variblen über ihren Namen ansprecchen willst musst du

    [autoit]

    eval

    [/autoit]

    benutzen, also so:

    [autoit]

    $var = 1
    GUICtrlRead(Eval("tab5radio" & $var))

    [/autoit]

    mfg autoBert

  • Input Feld und Radiobutton Steuern

    • autoBert
    • 12. September 2010 um 17:04
    • das kannst du so lösen [autoit] Case $Input1
      $wert = GuiCtrlRead($Input1)
      if $wert < 10 Then MsgBox(0,"Wert","zu klein")
      if $wert > 55 Then MsgBox(0,"Wert","zu gross")
      ControlFocus($Form1,"",$Input1)
      [/autoit]einfach in der While-Schleife einbauen
    • siehe Vorschlag von blubbstar
    • Um Ausgaben zu formatieren kannst du StringFormat nehmen, allerdings muss auch noch das Dezimaltrennzeichen mit StringReplace getauscht werden. Das ganze sieht dann so aus: [autoit] GUICtrlSetData($Input3,StringReplace(StringFormat("%.2f €",$Wert1 + $Wert2 + $add),".",","))
      [/autoit]
    • ???

    mfg autoBert

  • GDI+, von _GDIPlus_ImageLoadFromFile($sFileName) die Breite ändern (nicht zoomen)

    • autoBert
    • 12. September 2010 um 16:10

    Hallo AntiSpeed,

    eine Möglichkeit ist

    [autoit]

    _GDIPlus_BitmapCloneArea

    [/autoit]

    hier einmal das leicht abgeänderte Beospiel der Hilfe:

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <ScreenCapture.au3>

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

    Opt('MustDeclareVars', 1)

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

    _Main()

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

    Func _Main()
    Local $hBitmap, $hClone, $hImage, $iX, $iY
    ; Initialize GDI+ library
    _GDIPlus_StartUp ()

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

    ; Capture 32 bit bitmap
    $hImage = _GDIPlus_ImageLoadFromFile ("C:\Dokumente und Einstellungen\Bert\Eigene Dateien\Beetle9.jpg")

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

    ; Create 24 bit bitmap clone
    $iX = _GDIPlus_ImageGetWidth ($hImage) *.5
    $iY = _GDIPlus_ImageGetHeight ($hImage) *.5
    $hClone = _GDIPlus_BitmapCloneArea ($hImage, 0, 0, $iX, $iY, $GDIP_PXF24RGB)

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

    ; Save bitmap to file
    _GDIPlus_ImageSaveToFile ($hClone, @MyDocumentsDir & "\GDIPlus_Image.bmp")

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

    ; Clean up resources
    _GDIPlus_ImageDispose ($hClone)
    _GDIPlus_ImageDispose ($hImage)

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

    ; Shut down GDI+ library
    _GDIPlus_ShutDown ()

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

    EndFunc ;==>_Main

    [/autoit]

    das Skript speichert das linke obere Viertel eines Screenshots JPG-Files in eine Datei,

    Edit: Skript ausgetauscht (anstelle eines Screenshots, wird jetzt ein JPG genommen)
    mfg autoBert

  • In Files Sätze einfügen???

    • autoBert
    • 12. September 2010 um 13:19

    Hallo Fsselmaster,

    _FileWriteToLine($sFile, $iLine, $sText [, $fOverWrite = 0]) Damit ist ein optionaler Parameter gekennzeichnet, der bei weglassen auf den Standardwert 0 gesetzt wird Das heist du kannst es so schreiben

    [autoit]

    _FileWriteToLine($sFile, $iLine, $sText )

    [/autoit]

    oder so

    [autoit]

    _FileWriteToLine($sFile, $iLine, $sText , 0)

    [/autoit]

    in beiden Fällen wird die alte Zeile nicht überschrieben.

    In deinem Fall musst du es aber so

    [autoit]

    _FileWriteToLine($sFile, $iLine, $sText , 1)

    [/autoit]

    schreiben, da du die alte Zeile ja überschreiben willst,

    Hilfe lesen bildet,

    Edit: 2. Spoiler-Inhalt korrigiert, danke @Fabian

    mfg autoBert

  • Benötige Hilfe

    • autoBert
    • 12. September 2010 um 01:19

    Hallo HGF,

    schön, dann ist dein Problem ja gelöst, schön wäre es allerdings auch wenn du den Thread auf gelöst setzt. Einfach 1. Beitrag bearbeiten, Präfix (nähe Überschrift) ändern und speichern (absenden)

    mfg autoBert

  • Frage zu Tabitems

    • autoBert
    • 11. September 2010 um 23:32

    Hallo Misterspeed,

    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=

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

    $prozent = 0

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

    $Form1 = GUICreate("Form1", 625, 443, 192, 124)
    $Tab1 = GUICtrlCreateTab(32, 24, 553, 393)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $Progress1 = GUICtrlCreateProgress(96, 112, 281, 129)
    $TabSheet1 = GUICtrlCreateTabItem("TabSheet1")

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

    $TabSheet2 = GUICtrlCreateTabItem("TabSheet2")
    $Button1 = GUICtrlCreateButton("Button1", 152, 300, 129, 89, $WS_GROUP)
    GUICtrlCreateTabItem(""); Beendet die Tab Definition

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

    GUICtrlSetState(-1,$GUI_SHOW)

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

    GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    progress()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    func progress()
    if $prozent < 100 Then
    $prozent = $prozent + 1
    GUICtrlSetData($Progress1, $prozent)
    Sleep(100)
    EndIf

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

    EndFunc

    [/autoit]

    PS.: Hilfe lesen bildet

    mfg autoBert

  • K8055 Programmer Problem

    • autoBert
    • 11. September 2010 um 23:15

    Hallo button421,

    hier die korrigierte Version:

    Spoiler anzeigen
    [autoit]

    #region includes ;########################
    #include <k8055udf.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiStatusBar.au3>
    #Include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <ComboConstants.au3>
    #endregion includes
    ;##########################################
    Global $inputcombo

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

    Global $adressebin=""
    Global $aktion="Programm erfolgreich gestartet"
    Global $ini=@ScriptDir&"\logdatei.ini"
    Global $title,$text,$probs,$outputlabel,$outputcombo,$onoutput,$offoutput
    global $inisection2
    IniDelete($ini,"log")
    IniDelete($ini,"startdaten")
    IniDelete($ini,"inputs")
    IniDelete($ini,"outputs")
    IniDelete($ini,"aktion")
    IniWrite($ini,"log","Startdaten",@HOUR&":"&@MIN&":"&@SEC&":"&@MSEC&"-Datum:"&@MDAY&"."&@MON&"."&@YEAR)
    #Region ### START Verbindungsform ### Form=
    $verbindungsform = GUICreate("Verbindung", 184, 100, 190, 126, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
    $SK5 = GUICtrlCreateCheckbox("SK5", 24, 16, 41, 17)
    $SK6 = GUICtrlCreateCheckbox("SK6", 128, 16, 41, 17)
    $Adresse = GUICtrlCreateGroup("Adresse", 8, 0, 169, 41)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateLabel("<---------------->", 64, 16, 64, 17)
    $Progress1 = GUICtrlCreateProgress(0, 80, 182, 17)
    $mitboardverbinden = GUICtrlCreateButton("Mit K8055 Board verbinden", 8, 48, 171, 25, $WS_GROUP)
    GUISetState(@SW_HIDE)
    #EndRegion ### END Verbindungsform ###
    ;##########################################
    #Region ### START Hauptform ### Form=c:\users\jonathan verbeek\desktop\k8055 programmer\hauptform.kxf
    $Form1_1 = GUICreate("K8055 Board Programmer Basicpack - created by button421", 519, 412, 187, 121)
    $statusleiste = _GUICtrlStatusBar_Create($Form1_1)
    Dim $statusleiste_PartsWidth[2] = [439, -1]
    _GUICtrlStatusBar_SetParts($statusleiste, $statusleiste_PartsWidth)
    _GUICtrlStatusBar_SetText($statusleiste, $aktion, 0)
    _GUICtrlStatusBar_SetText($statusleiste, "Verbunden", 1)
    $DigitaleEingaenge = GUICtrlCreateGroup("Digitale Eingänge", 8, 0, 169, 41)
    $I1 = GUICtrlCreateCheckbox("I1", 16, 16, 25, 17)
    $I2 = GUICtrlCreateCheckbox("I2", 48, 16, 25, 17)
    $I3 = GUICtrlCreateCheckbox("I3", 80, 16, 25, 17)
    $I4 = GUICtrlCreateCheckbox("I4", 112, 16, 25, 17)
    $I5 = GUICtrlCreateCheckbox("I5", 144, 16, 25, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $DigitaleAusgaenge = GUICtrlCreateGroup("Digitale Ausgänge", 184, 0, 329, 41)
    $O1 = GUICtrlCreateCheckbox("O1", 192, 16, 33, 17)
    $O2 = GUICtrlCreateCheckbox("O2", 232, 16, 33, 17)
    $O3 = GUICtrlCreateCheckbox("O3", 272, 16, 33, 17)
    $O4 = GUICtrlCreateCheckbox("O4", 312, 16, 33, 17)
    $O5 = GUICtrlCreateCheckbox("O5", 352, 16, 33, 17)
    $O6 = GUICtrlCreateCheckbox("O6", 392, 16, 33, 17)
    $O7 = GUICtrlCreateCheckbox("O7", 432, 16, 33, 17)
    $O8 = GUICtrlCreateCheckbox("O8", 472, 16, 33, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $ListView1 = GUICtrlCreateListView("Aktionen", 8, 48, 506, 310)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 502)
    $addaktion = GUICtrlCreateButton("Aktion hinzufügen", 8, 360, 107, 25, $WS_GROUP)
    $delaktion = GUICtrlCreateButton("Aktion löschen", 120, 360, 91, 25, $WS_GROUP)
    $anleitung = GUICtrlCreateButton("Anleitung für Experimente", 216, 360, 131, 25, $WS_GROUP)
    $hilfe = GUICtrlCreateButton("Hilfe und Info", 352, 360, 75, 25, $WS_GROUP)
    $beenden = GUICtrlCreateButton("Beenden", 432, 360, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Hauptform ###
    ;#######################################
    #Region ### START Aktion hinzufügen ### Form=
    $actionadd = GUICreate("Aktion hinzufügen", 246, 187, 192, 124, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_WINDOWEDGE))
    $Aktionlabel = GUICtrlCreateLabel("Aktion:", 8, 8, 37, 17)
    $aktioncombo = GUICtrlCreateCombo("", 48, 8, 193, 25, BitOR($CBS_DROPDOWNLIST,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "Meldung anzeigen|Digitalen Ausgang ein/ausschalten|Abfrage ob Digitaler Eingang ein")
    $probs = GUICtrlCreateGroup("Einstellungen für Aktion festlegen", 8, 32, 233, 121)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $cancelactionadd = GUICtrlCreateButton("Abbrechen", 168, 160, 75, 25, $WS_GROUP)
    $okactionadd = GUICtrlCreateButton("OK", 88, 160, 75, 25, $WS_GROUP)
    GUISetState(@SW_HIDE)
    #EndRegion ### END Aktion hinzufügen ###
    ;#######################################
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3, $beenden
    Exit
    Case $SK5
    If BitAND(GUICtrlRead($SK5),$GUI_CHECKED) Then
    $adressebin = "SK5/"
    EndIf
    Case $SK6
    If BitAND(GUICtrlRead($SK6),$GUI_CHECKED) Then
    $adressebin = "SK6/"
    EndIf
    Case $mitboardverbinden
    If GUICtrlRead($adressebin) = "SK5/SK6/" Then
    ;USB_DLLOpen()
    ;initial_board(0)
    GUICtrlSetState($Progress1, 100)
    MsgBox(64,"Info","Mit Board verbunden!")
    GUISetState(@SW_SHOW, $Form1_1)
    GUISetState(@SW_HIDE, $verbindungsform)
    ElseIf GUICtrlRead($adressebin) = "SK6/" Then
    ;USB_DLLOpen()
    ;initial_board(1)
    GUICtrlSetState($Progress1, 100)
    MsgBox(64,"Info","Mit Board verbunden!")
    GUISetState(@SW_SHOW, $Form1_1)
    GUISetState(@SW_HIDE, $verbindungsform)
    ElseIf GUICtrlRead($adressebin) = "SK5/" Then
    ;USB_DLLOpen()
    ;initial_board(2)
    GUICtrlSetState($Progress1, 100)
    MsgBox(64,"Info","Mit Board verbunden!")
    GUISetState(@SW_SHOW, $Form1_1)
    GUISetState(@SW_HIDE, $verbindungsform)
    Else
    ;USB_DLLOpen()
    ;initial_board(3)
    GUICtrlSetState($Progress1, 100)
    MsgBox(64,"Info","Mit Board verbunden!")
    GUISetState(@SW_SHOW, $Form1_1)
    GUISetState(@SW_HIDE, $verbindungsform)
    EndIf
    $msg = MsgBox(36,"Du weißt es?","Weißt du wie das Programm funktioniert? Wenn ja, klick auf Nein!"&@CRLF&"Brauchst du Hilfe?")
    If $msg = 7 Then
    MsgBox(64,"OK","Viel Spass noch!")
    ElseIf $msg = 6 Then
    MsgBox(64,"Hilfe","Also:"&@CRLF&"Als erstes musst du die Eingänge und Ausgänge die du verwenden willst auswählen,"&@CRLF&"dann klickst du auf Neue Aktion und wählst den Aktionstyp aus. Wenn du dabei Hilfe brauchst, schreibe eine Mail an:"&@CRLF&"jverbeek@freenet.de"&@CRLF&"Drücke F2 um Sleep einzusetzen.")
    EndIf
    ;Eingänge
    Case $I1
    If BitAND(GUICtrlRead($I1),$GUI_CHECKED)Then
    IniDelete($ini,"inputs")
    IniWrite($ini,"inputs","I1","1")
    Else
    IniDelete($ini,"inputs")
    IniWrite($ini,"inputs","I1","0")
    EndIf
    Case $I2
    If BitAND(GUICtrlRead($I2),$GUI_CHECKED)Then
    IniDelete($ini,"inputs","I2")
    IniWrite($ini,"inputs","I2","1")
    Else
    IniDelete($ini,"inputs","I2")
    IniWrite($ini,"inputs","I2","0")
    EndIf
    Case $I3
    If BitAND(GUICtrlRead($I3),$GUI_CHECKED)Then
    IniDelete($ini,"inputs","I3")
    IniWrite($ini,"inputs","I3","1")
    Else
    IniDelete($ini,"inputs","I3")
    IniWrite($ini,"inputs","I3","0")
    EndIf
    Case $I4
    If BitAND(GUICtrlRead($I4),$GUI_CHECKED)Then
    IniDelete($ini,"inputs","I4")
    IniWrite($ini,"inputs","I4","1")
    Else
    IniDelete($ini,"inputs","I4")
    IniWrite($ini,"inputs","I4","0")
    EndIf
    Case $I5
    If BitAND(GUICtrlRead($I5),$GUI_CHECKED)Then
    IniDelete($ini,"inputs","I5")
    IniWrite($ini,"inputs","I5","1")
    Else
    IniDelete($ini,"inputs","I5")
    IniWrite($ini,"inputs","I5","0")
    EndIf
    ;Ausgänge
    Case $O1
    If BitAND(GUICtrlRead($O1),$GUI_CHECKED)Then
    IniDelete($ini,"outputs","O1")
    IniWrite($ini,"outputs","O1","1")
    Else
    IniDelete($ini,"outputs","O2")
    IniWrite($ini,"outputs","O1","0")
    EndIf
    Case $O2
    If BitAND(GUICtrlRead($O2),$GUI_CHECKED)Then
    IniDelete($ini,"outputs","O2")
    IniWrite($ini,"outputs","O2","1")
    Else
    IniDelete($ini,"outputs","O2")
    IniWrite($ini,"outputs","O2","0")
    EndIf
    Case $O3
    If BitAND(GUICtrlRead($O3),$GUI_CHECKED)Then
    IniDelete($ini,"outputs","O3")
    IniWrite($ini,"outputs","O3","1")
    Else
    IniDelete($ini,"outputs","O3")
    IniWrite($ini,"outputs","O3","0")
    EndIf
    Case $O4
    If BitAND(GUICtrlRead($O4),$GUI_CHECKED)Then
    IniDelete($ini,"outputs","O4")
    IniWrite($ini,"outputs","O4","1")
    Else
    IniDelete($ini,"outputs","O4")
    IniWrite($ini,"outputs","O4","0")
    EndIf
    Case $O5
    If BitAND(GUICtrlRead($O5),$GUI_CHECKED)Then
    IniDelete($ini,"outputs","O5")
    IniWrite($ini,"outputs","O5","1")
    Else
    IniDelete($ini,"outputs","O5")
    IniWrite($ini,"outputs","O5","0")
    EndIf
    Case $O6
    If BitAND(GUICtrlRead($O6),$GUI_CHECKED)Then
    IniDelete($ini,"outputs","O6")
    IniWrite($ini,"outputs","O6","1")
    Else
    IniDelete($ini,"outputs","O6")
    IniWrite($ini,"outputs","O6","0")
    EndIf
    Case $O7
    If BitAND(GUICtrlRead($O7),$GUI_CHECKED)Then
    IniDelete($ini,"outputs","O7")
    IniWrite($ini,"outputs","O7","1")
    Else
    IniDelete($ini,"outputs","O7")
    IniWrite($ini,"outputs","O7","0")
    EndIf
    Case $O8
    If BitAND(GUICtrlRead($O8),$GUI_CHECKED)Then
    IniDelete($ini,"outputs","O8")
    IniWrite($ini,"outputs","O8","1")
    Else
    IniDelete($ini,"outputs","O8")
    IniWrite($ini,"outputs","O8","0")
    EndIf
    Case $addaktion
    GUISetState(@SW_SHOW, $actionadd)
    GUICtrlDelete($probs)
    Case $aktioncombo
    If GUICtrlRead($aktioncombo) = "Meldung anzeigen" Then
    $probs = GUICtrlCreateGroup("Einstellungen für Meldung festlegen", 8, 32, 233, 121)
    $title = GUICtrlCreateInput("Titel der Meldung",17,45,217,21)
    $text = GUICtrlCreateInput("Text der Meldung",17,70,217,73)
    IniDelete($ini,"aktion")
    IniWrite($ini,"aktion","Msg","1")
    EndIf
    If GUICtrlRead($aktioncombo) = "Digitalen Ausgang Ein/Ausschalten" Then
    GUICtrlDelete($probs)
    GUICtrlDelete($title)
    GUICtrlDelete($text)
    $probs = GUICtrlCreateGroup("Einstellungen für Ausgang festlegen", 8, 32, 233, 121)
    $outputlabel = GUICtrlCreateLabel("Ausgang:",11,80,49,17)
    $outputcombo = GUICtrlCreateCombo("",64,80,153,17, $CBS_DROPDOWNLIST)
    $inisection = IniReadSection($ini, "outputs")
    For $i = 1 To $inisection[0][0]
    If $inisection[$i][1] Then GUICtrlSetData($outputcombo, $inisection[$i][0])
    Next
    IniDelete($ini,"aktion")
    IniWrite($ini,"aktion","SetDigitalChannel","1")
    $onoutput = GUICtrlCreateRadio("Einschalten",20,115,81,17,$BS_AUTORADIOBUTTON)
    $offoutput = GUICtrlCreateRadio("Ausschalten",20,130,81,17, $BS_AUTORADIOBUTTON)
    EndIf
    If GUICtrlRead($aktioncombo) = "Abfrage ob Digitaler Eingang ein" Then
    GUICtrlDelete($probs)
    GUICtrlDelete($title)
    GUICtrlDelete($text)
    GUICtrlDelete($probs)
    GUICtrlDelete($outputlabel)
    GUICtrlDelete($outputcombo)
    GUICtrlDelete($onoutput)
    GUICtrlDelete($offoutput)
    $probs = GUICtrlCreateGroup("Einstellung für Abfrage festlegen",8,32,233,121)
    $inputlabel = GUICtrlCreateLabel("Eingang:",8,100,49,17)
    $inputcombo = GUICtrlCreateCombo("",72,100,145,25,$CBS_DROPDOWNLIST)
    $inisection2 = IniReadSection($ini, "inputs")
    For $i_2 = 1 To $inisection2[0][0]
    If $inisection2[$i_2][1] Then GUICtrlSetData($inputcombo, $inisection2[$i_2][0])
    Next
    IniDelete($ini,"aktion")
    IniWrite($ini,"aktion","ReadDigitalChannel","1")
    EndIf
    Case $onoutput
    If BitAND(GUICtrlRead($onoutput),$GUI_CHECKED)Then
    SetError("an")
    EndIf
    Case $offoutput
    If BitAND(GUICtrlRead($offoutput),$GUI_CHECKED)Then
    SetError("aus")
    EndIf
    Case $okactionadd
    ;MsgBox(0, "INI jetzt lesen","Nach ok wird ausgewertet ob MSGBox")
    If IniRead($ini,"aktion","Msg","") = 1 Then ;<==============
    IniDelete($ini,"aktion","SetDigitalChannel")
    IniDelete($ini,"aktion","ReadDigitalChannel")
    GUISetState(@SW_HIDE,$actionadd)
    GUICtrlCreateListViewItem("Meldung anzeigen("&GUICtrlRead($title)&","&GUICtrlRead($text)&")",$ListView1)
    EndIf
    ;MsgBox(0, "INI jetzt lesen","Nach ok wird ausgewertet ob Set")
    If IniRead($ini,"aktion","SetDigitalChannel",0) = 1 Then ;<==============
    IniDelete($ini,"aktion","Msg")
    IniDelete($ini,"aktion","ReadDigitalChannel")
    GUISetState(@SW_HIDE,$actionadd)
    If @error = "an" Then ;diese Zeile verstehe ich garnicht da GuiSetState keinen @Error-Wert setzt
    GUICtrlCreateListViewItem("Digitalen Ausgang setzen("&GUICtrlRead($outputcombo)&",an)",$ListView1)
    Else
    GUICtrlCreateListViewItem("Digitalen Ausgang setzen("&GUICtrlRead($outputcombo)&",aus)",$ListView1)
    EndIf
    EndIf
    ;MsgBox(0, "INI jetzt lesen","Nach ok wird ausgewertet ob Read")
    If IniRead($ini,"aktion","ReadDigitalChannel",0) = 1 Then ;<==============
    IniDelete($ini,"aktion","SetDigitalChannel")
    IniDelete($ini,"aktion","Msg")
    GUICtrlCreateListViewItem(".: Ist Input "&GUICtrlRead($inputcombo)&" ein? Wenn ja, dann :.",$ListView1)
    IniWrite($ini,"aktiondetails","ReadDigitalInput-Input",GUICtrlRead($inputcombo))
    EndIf
    EndSwitch
    WEnd

    [/autoit]

    hier eine Version die für diesen Bereich ohne INI auskommt

    Spoiler anzeigen
    [autoit]

    #region includes ;########################
    #include <k8055udf.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiStatusBar.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <ComboConstants.au3>
    #endregion includes ;########################
    ;##########################################
    Global $inputcombo

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

    Global $adressebin = ""
    Global $aktion = "Programm erfolgreich gestartet"
    Global $ini = @ScriptDir & "\logdatei.ini"
    Global $title, $text, $probs, $outputlabel, $outputcombo, $onoutput, $offoutput
    Global $inisection2
    IniDelete($ini, "log")
    IniDelete($ini, "startdaten")
    IniDelete($ini, "inputs")
    IniDelete($ini, "outputs")
    IniDelete($ini, "aktion")
    IniWrite($ini, "log", "Startdaten", @HOUR & ":" & @MIN & ":" & @SEC & ":" & @MSEC & "-Datum:" & @MDAY & "." & @MON & "." & @YEAR)
    #region ### START Verbindungsform ### Form=
    $verbindungsform = GUICreate("Verbindung", 184, 100, 190, 126, -1, BitOR($WS_EX_TOOLWINDOW, $WS_EX_WINDOWEDGE))
    $SK5 = GUICtrlCreateCheckbox("SK5", 24, 16, 41, 17)
    $SK6 = GUICtrlCreateCheckbox("SK6", 128, 16, 41, 17)
    $Adresse = GUICtrlCreateGroup("Adresse", 8, 0, 169, 41)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateLabel("<---------------->", 64, 16, 64, 17)
    $Progress1 = GUICtrlCreateProgress(0, 80, 182, 17)
    $mitboardverbinden = GUICtrlCreateButton("Mit K8055 Board verbinden", 8, 48, 171, 25, $WS_GROUP)
    GUISetState(@SW_HIDE)
    #endregion ### START Verbindungsform ### Form=
    ;##########################################
    #region ### START Hauptform ### Form=c:\users\jonathan verbeek\desktop\k8055 programmer\hauptform.kxf
    $Form1_1 = GUICreate("K8055 Board Programmer Basicpack - created by button421", 519, 412, 187, 121)
    $statusleiste = _GUICtrlStatusBar_Create($Form1_1)
    Dim $statusleiste_PartsWidth[2] = [439, -1]
    _GUICtrlStatusBar_SetParts($statusleiste, $statusleiste_PartsWidth)
    _GUICtrlStatusBar_SetText($statusleiste, $aktion, 0)
    _GUICtrlStatusBar_SetText($statusleiste, "Verbunden", 1)
    $DigitaleEingaenge = GUICtrlCreateGroup("Digitale Eingänge", 8, 0, 169, 41)
    $I1 = GUICtrlCreateCheckbox("I1", 16, 16, 25, 17)
    $I2 = GUICtrlCreateCheckbox("I2", 48, 16, 25, 17)
    $I3 = GUICtrlCreateCheckbox("I3", 80, 16, 25, 17)
    $I4 = GUICtrlCreateCheckbox("I4", 112, 16, 25, 17)
    $I5 = GUICtrlCreateCheckbox("I5", 144, 16, 25, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $DigitaleAusgaenge = GUICtrlCreateGroup("Digitale Ausgänge", 184, 0, 329, 41)
    $O1 = GUICtrlCreateCheckbox("O1", 192, 16, 33, 17)
    $O2 = GUICtrlCreateCheckbox("O2", 232, 16, 33, 17)
    $O3 = GUICtrlCreateCheckbox("O3", 272, 16, 33, 17)
    $O4 = GUICtrlCreateCheckbox("O4", 312, 16, 33, 17)
    $O5 = GUICtrlCreateCheckbox("O5", 352, 16, 33, 17)
    $O6 = GUICtrlCreateCheckbox("O6", 392, 16, 33, 17)
    $O7 = GUICtrlCreateCheckbox("O7", 432, 16, 33, 17)
    $O8 = GUICtrlCreateCheckbox("O8", 472, 16, 33, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $ListView1 = GUICtrlCreateListView("Aktionen", 8, 48, 506, 310)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 502)
    $addaktion = GUICtrlCreateButton("Aktion hinzufügen", 8, 360, 107, 25, $WS_GROUP)
    $delaktion = GUICtrlCreateButton("Aktion löschen", 120, 360, 91, 25, $WS_GROUP)
    $anleitung = GUICtrlCreateButton("Anleitung für Experimente", 216, 360, 131, 25, $WS_GROUP)
    $hilfe = GUICtrlCreateButton("Hilfe und Info", 352, 360, 75, 25, $WS_GROUP)
    $beenden = GUICtrlCreateButton("Beenden", 432, 360, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #endregion ### START Hauptform ### Form=c:\users\jonathan verbeek\desktop\k8055 programmer\hauptform.kxf
    ;#######################################
    #region ### START Aktion hinzufügen ### Form=
    $actionadd = GUICreate("Aktion hinzufügen", 246, 187, 192, 124, -1, BitOR($WS_EX_TOOLWINDOW, $WS_EX_WINDOWEDGE))
    $Aktionlabel = GUICtrlCreateLabel("Aktion:", 8, 8, 37, 17)
    $aktioncombo = GUICtrlCreateCombo("", 48, 8, 193, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "Meldung anzeigen|Digitalen Ausgang ein/ausschalten|Abfrage ob Digitaler Eingang ein")
    $probs = GUICtrlCreateGroup("Einstellungen für Aktion festlegen", 8, 32, 233, 121)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $cancelactionadd = GUICtrlCreateButton("Abbrechen", 168, 160, 75, 25, $WS_GROUP)
    $okactionadd = GUICtrlCreateButton("OK", 88, 160, 75, 25, $WS_GROUP)
    #region hierher verschoben, da durch das deleten und dazwischen Erzegen von ListViewItems konnte es vorkommen dass ListviewItems gelöscht wurden
    $probs = GUICtrlCreateGroup("Einstellungen für Meldung festlegen", 8, 32, 233, 121)
    $title = GUICtrlCreateInput("Titel der Meldung", 17, 45, 217, 21)
    $text = GUICtrlCreateInput("Text der Meldung", 17, 70, 217, 73)
    $outputlabel = GUICtrlCreateLabel("Ausgang:", 11, 80, 49, 17)
    $outputcombo = GUICtrlCreateCombo("", 64, 80, 153, 17, $CBS_DROPDOWNLIST)
    $onoutput = GUICtrlCreateRadio("Einschalten", 20, 115, 81, 17, $BS_AUTORADIOBUTTON)
    $offoutput = GUICtrlCreateRadio("Ausschalten", 20, 130, 81, 17, $BS_AUTORADIOBUTTON)
    $inputlabel = GUICtrlCreateLabel("Eingang:", 8, 100, 49, 17)
    $inputcombo = GUICtrlCreateCombo("", 72, 100, 145, 25, $CBS_DROPDOWNLIST)
    GUICtrlSetState($outputlabel, $GUI_HIDE)
    GUICtrlSetState($outputcombo, $GUI_HIDE)
    GUICtrlSetState($onoutput, $GUI_HIDE)
    GUICtrlSetState($offoutput, $GUI_HIDE)
    GUICtrlSetState($inputlabel, $GUI_HIDE)
    GUICtrlSetState($inputcombo, $GUI_HIDE)
    #endregion hierher verschoben, da durch das deleten und dazwischen Erzegen von ListViewItems konnte es vorkommen dass ListviewItems gelöscht wurden
    GUISetState(@SW_HIDE)
    #endregion ### START Aktion hinzufügen ### Form=
    ;#######################################
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3, $beenden
    Exit
    Case $SK5
    If BitAND(GUICtrlRead($SK5), $GUI_CHECKED) Then
    $adressebin = "SK5/"
    EndIf
    Case $SK6
    If BitAND(GUICtrlRead($SK6), $GUI_CHECKED) Then
    $adressebin = "SK6/"
    EndIf
    Case $mitboardverbinden
    If GUICtrlRead($adressebin) = "SK5/SK6/" Then
    ;USB_DLLOpen()
    ;initial_board(0)
    GUICtrlSetState($Progress1, 100)
    MsgBox(64, "Info", "Mit Board verbunden!")
    GUISetState(@SW_SHOW, $Form1_1)
    GUISetState(@SW_HIDE, $verbindungsform)
    ElseIf GUICtrlRead($adressebin) = "SK6/" Then
    ;USB_DLLOpen()
    ;initial_board(1)
    GUICtrlSetState($Progress1, 100)
    MsgBox(64, "Info", "Mit Board verbunden!")
    GUISetState(@SW_SHOW, $Form1_1)
    GUISetState(@SW_HIDE, $verbindungsform)
    ElseIf GUICtrlRead($adressebin) = "SK5/" Then
    ;USB_DLLOpen()
    ;initial_board(2)
    GUICtrlSetState($Progress1, 100)
    MsgBox(64, "Info", "Mit Board verbunden!")
    GUISetState(@SW_SHOW, $Form1_1)
    GUISetState(@SW_HIDE, $verbindungsform)
    Else
    ;USB_DLLOpen()
    ;initial_board(3)
    GUICtrlSetState($Progress1, 100)
    MsgBox(64, "Info", "Mit Board verbunden!")
    GUISetState(@SW_SHOW, $Form1_1)
    GUISetState(@SW_HIDE, $verbindungsform)
    EndIf
    $msg = MsgBox(36, "Du weißt es?", "Weißt du wie das Programm funktioniert? Wenn ja, klick auf Nein!" & @CRLF & "Brauchst du Hilfe?")
    If $msg = 7 Then
    MsgBox(64, "OK", "Viel Spass noch!")
    ElseIf $msg = 6 Then
    MsgBox(64, "Hilfe", "Also:" & @CRLF & "Als erstes musst du die Eingänge und Ausgänge die du verwenden willst auswählen," & @CRLF & "dann klickst du auf Neue Aktion und wählst den Aktionstyp aus. Wenn du dabei Hilfe brauchst, schreibe eine Mail an:" & @CRLF & "jverbeek@freenet.de" & @CRLF & "Drücke F2 um Sleep einzusetzen.")
    EndIf
    ;Eingänge
    Case $I1
    If BitAND(GUICtrlRead($I1), $GUI_CHECKED) Then
    IniDelete($ini, "inputs")
    IniWrite($ini, "inputs", "I1", "1")
    Else
    IniDelete($ini, "inputs")
    IniWrite($ini, "inputs", "I1", "0")
    EndIf
    Case $I2
    If BitAND(GUICtrlRead($I2), $GUI_CHECKED) Then
    IniDelete($ini, "inputs", "I2")
    IniWrite($ini, "inputs", "I2", "1")
    Else
    IniDelete($ini, "inputs", "I2")
    IniWrite($ini, "inputs", "I2", "0")
    EndIf
    Case $I3
    If BitAND(GUICtrlRead($I3), $GUI_CHECKED) Then
    IniDelete($ini, "inputs", "I3")
    IniWrite($ini, "inputs", "I3", "1")
    Else
    IniDelete($ini, "inputs", "I3")
    IniWrite($ini, "inputs", "I3", "0")
    EndIf
    Case $I4
    If BitAND(GUICtrlRead($I4), $GUI_CHECKED) Then
    IniDelete($ini, "inputs", "I4")
    IniWrite($ini, "inputs", "I4", "1")
    Else
    IniDelete($ini, "inputs", "I4")
    IniWrite($ini, "inputs", "I4", "0")
    EndIf
    Case $I5
    If BitAND(GUICtrlRead($I5), $GUI_CHECKED) Then
    IniDelete($ini, "inputs", "I5")
    IniWrite($ini, "inputs", "I5", "1")
    Else
    IniDelete($ini, "inputs", "I5")
    IniWrite($ini, "inputs", "I5", "0")
    EndIf
    ;Ausgänge
    Case $O1
    If BitAND(GUICtrlRead($O1), $GUI_CHECKED) Then
    IniDelete($ini, "outputs", "O1")
    IniWrite($ini, "outputs", "O1", "1")
    Else
    IniDelete($ini, "outputs", "O2")
    IniWrite($ini, "outputs", "O1", "0")
    EndIf
    Case $O2
    If BitAND(GUICtrlRead($O2), $GUI_CHECKED) Then
    IniDelete($ini, "outputs", "O2")
    IniWrite($ini, "outputs", "O2", "1")
    Else
    IniDelete($ini, "outputs", "O2")
    IniWrite($ini, "outputs", "O2", "0")
    EndIf
    Case $O3
    If BitAND(GUICtrlRead($O3), $GUI_CHECKED) Then
    IniDelete($ini, "outputs", "O3")
    IniWrite($ini, "outputs", "O3", "1")
    Else
    IniDelete($ini, "outputs", "O3")
    IniWrite($ini, "outputs", "O3", "0")
    EndIf
    Case $O4
    If BitAND(GUICtrlRead($O4), $GUI_CHECKED) Then
    IniDelete($ini, "outputs", "O4")
    IniWrite($ini, "outputs", "O4", "1")
    Else
    IniDelete($ini, "outputs", "O4")
    IniWrite($ini, "outputs", "O4", "0")
    EndIf
    Case $O5
    If BitAND(GUICtrlRead($O5), $GUI_CHECKED) Then
    IniDelete($ini, "outputs", "O5")
    IniWrite($ini, "outputs", "O5", "1")
    Else
    IniDelete($ini, "outputs", "O5")
    IniWrite($ini, "outputs", "O5", "0")
    EndIf
    Case $O6
    If BitAND(GUICtrlRead($O6), $GUI_CHECKED) Then
    IniDelete($ini, "outputs", "O6")
    IniWrite($ini, "outputs", "O6", "1")
    Else
    IniDelete($ini, "outputs", "O6")
    IniWrite($ini, "outputs", "O6", "0")
    EndIf
    Case $O7
    If BitAND(GUICtrlRead($O7), $GUI_CHECKED) Then
    IniDelete($ini, "outputs", "O7")
    IniWrite($ini, "outputs", "O7", "1")
    Else
    IniDelete($ini, "outputs", "O7")
    IniWrite($ini, "outputs", "O7", "0")
    EndIf
    Case $O8
    If BitAND(GUICtrlRead($O8), $GUI_CHECKED) Then
    IniDelete($ini, "outputs", "O8")
    IniWrite($ini, "outputs", "O8", "1")
    Else
    IniDelete($ini, "outputs", "O8")
    IniWrite($ini, "outputs", "O8", "0")
    EndIf
    Case $delaktion
    _GUICtrlListView_DeleteItemsSelected(GUICtrlGetHandle($ListView1))
    Case $addaktion
    GUISetState(@SW_SHOW, $actionadd)
    Case $aktioncombo
    GUICtrlSetState($title, $GUI_HIDE)
    GUICtrlSetState($text, $GUI_HIDE)
    GUICtrlSetState($outputlabel, $GUI_HIDE)
    GUICtrlSetState($outputcombo, $GUI_HIDE)
    GUICtrlSetState($onoutput, $GUI_HIDE)
    GUICtrlSetState($offoutput, $GUI_HIDE)
    GUICtrlSetState($inputlabel, $GUI_HIDE)
    GUICtrlSetState($inputcombo, $GUI_HIDE)
    If GUICtrlRead($aktioncombo) = "Meldung anzeigen" Then
    GUICtrlSetData($probs, "Einstellungen für Meldung festlegen")
    GUICtrlSetState($title, $GUI_SHOW)
    GUICtrlSetState($text, $GUI_SHOW)
    IniDelete($ini, "aktion")
    ; IniWrite($ini, "aktion", "Msg", "1")
    EndIf
    If GUICtrlRead($aktioncombo) = "Digitalen Ausgang Ein/Ausschalten" Then
    GUICtrlSetData($probs, "Einstellungen für Ausgang festlegen")
    GUICtrlSetState($outputlabel, $GUI_SHOW)
    GUICtrlSetState($outputcombo, $GUI_SHOW)
    GUICtrlSetState($onoutput, $GUI_SHOW)
    GUICtrlSetState($offoutput, $GUI_SHOW)
    $inisection = IniReadSection($ini, "outputs")
    If IsArray($inisection) Then ;wenn nichts ausgewählt gibt es sonst einen "Subscript used with non-Array variable
    For $i = 1 To $inisection[0][0]
    If $inisection[$i][1] Then GUICtrlSetData($outputcombo, $inisection[$i][0])
    Next
    EndIf
    IniDelete($ini, "aktion")
    ; IniWrite($ini, "aktion", "SetDigitalChannel", "1")
    EndIf
    If GUICtrlRead($aktioncombo) = "Abfrage ob Digitaler Eingang ein" Then
    GUICtrlSetData($probs, "Einstellung für Abfrage festlegen")
    GUICtrlSetState($inputlabel, $GUI_SHOW)
    GUICtrlSetState($inputcombo, $GUI_SHOW)
    $inisection2 = IniReadSection($ini, "inputs")
    If IsArray($inisection2) Then ;wenn nichts ausgewählt gibt es sonst einen "Subscript used with non-Array variable
    For $i_2 = 1 To $inisection2[0][0]
    If $inisection2[$i_2][1] Then GUICtrlSetData($inputcombo, $inisection2[$i_2][0])
    Next
    EndIf
    IniDelete($ini, "aktion")
    ; IniWrite($ini, "aktion", "ReadDigitalChannel", "1")
    EndIf
    Case $okactionadd
    $sCboAktion = GUICtrlRead($aktioncombo)
    ConsoleWrite($sCboAktion & @CRLF)
    Switch $sCboAktion
    Case "Meldung anzeigen"
    GUISetState(@SW_HIDE, $actionadd)
    GUICtrlCreateListViewItem("Meldung anzeigen(" & GUICtrlRead($title) & "," & GUICtrlRead($text) & ")", $ListView1)
    Case "Digitalen Ausgang Ein/Ausschalten"
    If BitAND(GUICtrlRead($onoutput), $GUI_CHECKED) Then
    GUICtrlCreateListViewItem("Digitalen Ausgang setzen(" & GUICtrlRead($outputcombo) & ",an)", $ListView1)
    ElseIf BitAND(GUICtrlRead($offoutput), $GUI_CHECKED) Then
    GUICtrlCreateListViewItem("Digitalen Ausgang setzen(" & GUICtrlRead($outputcombo) & ",aus)", $ListView1)
    EndIf
    Case "Abfrage ob Digitaler Eingang ein"
    GUICtrlCreateListViewItem(".: Ist Input " & GUICtrlRead($inputcombo) & " ein? Wenn ja, dann :.", $ListView1)
    IniWrite($ini, "aktiondetails", "ReadDigitalInput-Input", GUICtrlRead($inputcombo))
    EndSwitch
    GUISetState(@SW_HIDE, $actionadd)
    Case $cancelactionadd
    GUISetState(@SW_HIDE, $actionadd)
    EndSwitch
    WEnd

    [/autoit]

    ich habe beim testen der Version noch weitere Fehler gefunden diese habe ich nur in dieser Version gefixt. Es wurden ListviewItems gelöscht deshalb auf $GUI_SHOW <=> $GUI_HIDE umgestellt.

    Teste einfach einmal beide Versionen,

    PS.: Das Board hat ziwschen meinem 1 Post in diesem Thread und heute irgendwann dein Skript verloren (ist nicht mehr im Spoiler)
    Edit: meine beiden Skripte auch, deshalb Spoiler entfernt, hoffentlich nur ein Darstellngsproblem bei mir (FireFox hat sich auf 3.6.9 upgedatet)

    Edit2: nach löschen des Caches und Neustart wieder alles OK
    mfg autoBert

  • Aus dem Webbrowser AutoIt-Skript automatisch starten

    • autoBert
    • 11. September 2010 um 19:54
    Zitat von petter2

    Mit dieser soll dann Autoit die gewünschten Sachen durchführen.

    Nur wie bekomme ich das hin, dass automatisch das AutoIt Skript startet, nachdem der Benutzer den Code generieren gelassen hat?

    Dies dürfte in einem JAVA-/PHP-/HTML- Forum leichter in Erfahrung zu bringen sein.

    Aber wenn du weist welches Ereignis dadurch im Webbrowser ausgelöst wird kannst du es im

    [autoit]

    _IECreateEmbedded

    [/autoit]

    mit

    [autoit]

    ObjEvent

    [/autoit]

    lösen. Scha dir dazu das Beispiel in der Hilfe zu ObjEvent an. Ich habe ObjEvent in:

    • [Beispiel] Internetbrowser mit Ladebalken


    eingesetzt um die ProgressBar upzudaten,

    mfg autoBert

  • Update-Status von AviraUpdate auslesen

    • autoBert
    • 11. September 2010 um 19:29

    Hallo WillyWu,

    Einfach Eröffnungspost bearbeiten, Präfix (nähe Überschrift) ändern und speichern (absenden)

    mfg autoBert

  • Neue Cpu Auslastanzeige

    • autoBert
    • 11. September 2010 um 19:22

    Hallo xilent,

    mach es so:

    Spoiler anzeigen

    ;=============================================================================================================================================================================================
    ;= EEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEE EEEE EEEE EEEEEEEEEEEEEE EEE EEEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEE EEEE EE =
    ;= EE EE EEEEEEEEEEEEEEEEEE EE EEE EE EEE EE EE EE EE EE EE EE EE EE EE =
    ;= EE EE EEE EE EE EE EE EE EE EE EE EE EE EE EE EE EE =
    ;= EE EE EEE EE EE EE EE EE EE EE EE EE EE EE EE EE EE =
    ;= EE EE EEE EE EE EE EE EE EE EE EE EE EE EE EE EE EE =
    ;= EE EE EEE EE EE EE EE EE EE EE EE EE EE EE EE EE EE =
    ;= EEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEE EE EE EE EE EEEEEEEEEEEEEE EE EE EE EE EE EE EE EE =
    ;= EEE EEEEEEEEEEEEEEEEEE EE EE EE EE EEE EEEEEEEEEEEEEEEEE EE EE EE EE EE EE =
    ;= EE EE EEE EE EE EE EE EE EE EE EE EE EEEEEEE EE EE EE EE EE =
    ;= EE EE EEE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE =
    ;= EE EE EEE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE =
    ;= EE EE EEE EE EE EE EE EE EE EE EE EE EE EE EE EE EE EE =
    ;= EE EE EEEEEEEEEEEEEEEEEE EE EEE EE EEE EE EE EE EE EE EE EE EE EE EE EE =
    ;= EE EE EEEEEEEEEEEEEEEEEE EEEE EEEE EE EE EE EE EEEEEEEEEEEEEEE EEEEEEEEEEEEEEEEEE EE EEEE =
    ;=============================================================================================================================================================================================
    $read_1 = IniRead("config.ini", "Config", "Spiel1", "Error")
    $read_2 = IniRead("config.ini", "Config", "Spiel2", "Error")
    $read_3 = IniRead("config.ini", "Config", "Spiel3", "Error")
    $read_4 = IniRead("config.ini", "Config", "Spiel4", "Error")
    $read_5 = IniRead("config.ini", "Config", "Spiel5", "Error")
    $read_6 = IniRead("config.ini", "Config", "Spiel6", "Error")
    $read_7 = IniRead("config.ini", "Config", "Pfad1", "Error")
    $read_8 = IniRead("config.ini", "Config", "Pfad2", "Error")
    $read_9 = IniRead("config.ini", "Config", "Pfad3", "Error")
    $read_10 = IniRead("config.ini", "Config", "Pfad4", "Error")
    $read_11 = IniRead("config.ini", "Config", "Pfad5", "Error")
    $read_12 = IniRead("config.ini", "Config", "Pfad6", "Error")
    $read_13 = IniRead("config.ini", "Config", "Button1", "Error")
    $read_14 = IniRead("config.ini", "Config", "Button2", "Error")
    $read_15 = IniRead("config.ini", "Config", "Button3", "Error")
    $read_16 = IniRead("config.ini", "Config", "Button4", "Error")
    $read_17 = IniRead("config.ini", "Config", "Button5", "Error")
    $read_18 = IniRead("config.ini", "Config", "Button6", "Error")
    $read_19 = IniRead("config.ini", "Config", "Button7", "Error")
    $read_20 = IniRead("config.ini", "Config", "Button8", "Error")
    $read_21 = IniRead("config.ini", "Config", "Button9", "Error")
    $read_22 = IniRead("config.ini", "Config", "Button10", "Error")
    $read_23 = IniRead("config.ini", "Config", "Button11", "Error")
    $read_24 = IniRead("config.ini", "Config", "Button12", "Error")
    $read_25 = IniRead("config.ini", "Config", "Button13", "Error")
    $read_26 = IniRead("config.ini", "Config", "Button14", "Error")
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    #region ;ab hier nach dem erstellen deiner GUI direkt vor deiner While-Schleife
    OnAutoItExitRegister("OnAutoItExit")
    $objRefresher = ObjCreate("WbemScripting.SWbemRefresher")

    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")

    $objRefreshableItem = $objRefresher.AddEnum($objWMIService, "Win32_PerfFormattedData_PerfOS_Processor")

    $objRefresher.Refresh

    If IsObj($objRefreshableItem) Then
    $i = 0
    For $objItem In $objRefreshableItem.ObjectSet
    $i += 1
    Next
    EndIf
    Global $aCPU[$i] ;<=================== darf erst hier deklariert werden

    #include <GuiConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <INet.au3>
    #include <Date.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    #endregion
    #Region
    Global $lblCoreCont, $lblUser, $lblPublicIp, $lblOsVersion, $lblc, $lblCpuPer
    $title = "Red Dragon Tool"
    $font = "Times New Roman FETT"
    $font2 = "Times New Roman FETT KURSIV"
    $PublicIP = _GetIP()
    $username = @UserName
    $osversion = @OSVersion & " , " & @OSType & " , " & @OSArch & " , " & @OSBuild
    GUICreate($title, 300, 380)
    GUISetState(@SW_SHOW)
    GUISetBkColor(0xff0000)
    DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 0) ; auf den klassischen Style umschalten
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    ; GROUP WITH RADIO BUTTONS

    $g_1 = GUICtrlCreateGroup("Spiele", 170, 25, 80, 150)
    GUICtrlSetFont(-1, 8.5, -1, -1, $font)
    $g_2 = GUICtrlCreateGroup("Infos", 50, 175, 200, 135)
    GUICtrlSetFont(-1, 8.5, -1, -1, $font)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    $Spiel_1 = GUICtrlCreateRadio($read_1 , 180, 40, 55)
    $spiel_2 = GUICtrlCreateRadio($read_2 , 180, 60, 55)
    $spiel_3 = GUICtrlCreateRadio($read_3 , 180, 80, 55)
    $spiel_4 = GUICtrlCreateRadio($read_4 , 180, 100, 55)
    $spiel_5 = GUICtrlCreateRadio($read_5 , 180, 120, 55)
    $spiel_6 = GUICtrlCreateRadio($read_6 , 180, 140, 55)
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    #AutoIt3Wrapper_UseX64=n
    Local Const $wbemFlagReturnImmediately = 0x10
    Local Const $wbemFlagForwardOnly = 0x20
    Global $blink = True
    $Label1 = GUICtrlCreateLabel("", 55, 195, 100, 12)
    $Label2 = GUICtrlCreateLabel("", 55, 210, 100, 12)
    $L_1 = GUICtrlCreateLabel("Red Dragon", 50, 25, 120)
    GUICtrlSetFont(-1, 11, -1, -1, $font2)
    $L_2 = GUICtrlCreateLabel("Tool", 50, 40, 100, 12)
    GUICtrlSetFont(-1, 10, -1, -1, $font2)
    $lblc = GUICtrlCreateLabel("© Xilent Version: 1.1.0.0", 90, 345, 200, 12)
    _checkbox()
    DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 7) ; zurück zum Standard-Windowsstyle
    #EndRegion
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    $button_1 = GUICtrlCreateButton("OK", 50, 315, 100)
    $button_2 = GUICtrlCreateButton("Schließen", 150, 315, 100)
    $button_3 = GUICtrlCreateButton($read_13 , 50, 75, 100)
    $button_4 = GUICtrlCreateButton($read_14 , 50, 100, 100)
    $button_5 = GUICtrlCreateButton($read_15 , 50, 125, 100)
    $button_6 = GUICtrlCreateButton($read_16 , 50, 150, 100)
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    $Menu1 = GUICtrlCreateMenu("Ausschalten")
    $Menu1_1 = GUICtrlCreateMenuItem("Herrunterfahren", $Menu1)
    $Menu1_2 = GUICtrlCreateMenuItem("Ruhezustand", $Menu1)
    $Menu1_3 = GUICtrlCreateMenuItem("Neustarten", $Menu1)
    $Menu2 = GUICtrlCreateMenu("Win Style")
    $Menu2_1 = GUICtrlCreateMenuItem($read_21, $Menu2)
    $Menu2_2 = GUICtrlCreateMenuItem($read_22, $Menu2)
    $Menu2_3 = GUICtrlCreateMenuItem($read_23, $Menu2)
    $Menu3 = GUICtrlCreateMenu("H. Farbe")
    $Menu3_1 = GUICtrlCreateMenuItem("Rot", $Menu3)
    $Menu3_2 = GUICtrlCreateMenuItem("Blau", $Menu3)
    $Menu3_3 = GUICtrlCreateMenuItem("Gelb", $Menu3)
    $Menu3_4 = GUICtrlCreateMenuItem("Schwarz", $Menu3)
    $Menu3_5 = GUICtrlCreateMenuItem("Grün", $Menu3)
    $Menu3_6 = GUICtrlCreateMenuItem("Pink", $Menu3)
    $Menu3_7 = GUICtrlCreateMenuItem("Violett", $Menu3)
    $Menu3_8 = GUICtrlCreateMenuItem("Braun", $Menu3)
    $Menu3_9 = GUICtrlCreateMenuItem("Weiß", $Menu3)
    $Menu3_r = GUICtrlCreateMenuItem("Random", $Menu3)
    $Menu4 = GUICtrlCreateMenu("S. Farbe")
    $Menu4_1 = GUICtrlCreateMenuItem("Rot", $Menu4)
    $Menu4_2 = GUICtrlCreateMenuItem("Blau", $Menu4)
    $Menu4_3 = GUICtrlCreateMenuItem("Gelb", $Menu4)
    $Menu4_4 = GUICtrlCreateMenuItem("Schwarz", $Menu4)
    $Menu4_5 = GUICtrlCreateMenuItem("Grün", $Menu4)
    $Menu4_6 = GUICtrlCreateMenuItem("Pink", $Menu4)
    $Menu4_7 = GUICtrlCreateMenuItem("Violett", $Menu4)
    $Menu4_8 = GUICtrlCreateMenuItem("Braun", $Menu4)
    $Menu4_9 = GUICtrlCreateMenuItem("Weiß", $Menu4)
    $Menu5 = GUICtrlCreateMenu("E")
    $Menu5_1 = GUICtrlCreateMenuItem("Einstellungen", $Menu5)
    $Menu6 = GUICtrlCreateMenu("?")
    $Menu6_1 = GUICtrlCreateMenuItem("Help", $Menu6)
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    GUISetState()
    ;<=========================================== hierher verschoben
    CheckCpu() ;damit es sofort 1mal aufgerufen wird

    AdlibRegister("CheckCpu" ,1000) ;Zeit eventuell anpassen je kleiner desto cpu-lastiger
    ;<============================================
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $button_1
    If $Spiel_1 And GUICtrlRead($Spiel_1) = $GUI_CHECKED Then
    Run($read_7)
    ElseIf $spiel_2 And GUICtrlRead($spiel_2) = $GUI_CHECKED Then
    Run($read_8)
    ElseIf $spiel_3 And GUICtrlRead($spiel_3) = $GUI_CHECKED Then
    Run($read_9)
    ElseIf $spiel_4 And GUICtrlRead($spiel_4) = $GUI_CHECKED Then
    Run($read_10)
    ElseIf $spiel_5 And GUICtrlRead($spiel_5) = $GUI_CHECKED Then
    Run($read_11)
    ElseIf $spiel_6 And GUICtrlRead($spiel_6) = $GUI_CHECKED Then
    Run($read_12)
    EndIf
    Case $msg = $button_2
    Exit
    Case $msg = $button_3
    Run(@ComSpec & " /c " & $read_17, "", @SW_HIDE)
    Case $msg = $button_4
    Run(@ComSpec & " /c " & $read_18, "", @SW_HIDE)
    Case $msg = $button_5
    Run(@ComSpec & " /c " & $read_19, "", @SW_HIDE)
    Case $msg = $button_6
    Run(@ComSpec & " /c " & $read_20, "", @SW_HIDE)
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $Menu3_1
    AdlibUnRegister("_Random_BG")
    GUISetBkColor(0xff0000)
    Case $msg = $Menu3_2
    AdlibUnRegister("_Random_BG")
    GUISetBkColor(0x0000FF)
    Case $msg = $Menu3_3
    AdlibUnRegister("_Random_BG")
    GUISetBkColor(0xFFFF00)
    Case $msg = $Menu3_4
    AdlibUnRegister("_Random_BG")
    GUISetBkColor(0x000000)
    Case $msg = $Menu3_5
    AdlibUnRegister("_Random_BG")
    GUISetBkColor(0x00FF00)
    Case $msg = $Menu3_6
    AdlibUnRegister("_Random_BG")
    GUISetBkColor(0xFF00FF)
    Case $msg = $Menu3_7
    AdlibUnRegister("_Random_BG")
    GUISetBkColor(0x800080)
    Case $msg = $Menu3_8
    AdlibUnRegister("_Random_BG")
    GUISetBkColor(0x800000)
    Case $msg = $Menu3_9
    AdlibUnRegister("_Random_BG")
    GUISetBkColor(0xFFFFFF)
    Case $msg = $Menu3_r
    AdlibRegister("_Random_BG", 1000)
    _Random_BG()
    Case $msg = $Menu2_1
    Run(@ComSpec & " /c " & $read_24 , "", @SW_HIDE)
    Case $msg = $Menu2_2
    Run(@ComSpec & " /c " & $read_25, "", @SW_HIDE)
    Case $msg = $Menu2_3
    Run(@ComSpec & " /c " & $read_26, "", @SW_HIDE)
    Case $msg = $Menu1_1
    Run(@ComSpec & " /c " & 'shutdown /p', "", @SW_HIDE)
    Case $msg = $Menu1_2
    Run(@ComSpec & " /c " & 'shutdown /h', "", @SW_HIDE)
    Case $msg = $Menu1_3
    Run(@ComSpec & " /c " & 'shutdown /r', "", @SW_HIDE)
    Case $msg = $Menu4_1
    SetColor(0xFF0000)
    Case $msg = $Menu4_2
    SetColor(0x0000FF)
    Case $msg = $Menu4_3
    SetColor(0xFFFF00)
    Case $msg = $Menu4_4
    SetColor(0x000000)
    Case $msg = $Menu4_5
    SetColor(0x00FF00)
    Case $msg = $Menu4_6
    SetColor(0xFF00FF)
    Case $msg = $Menu4_7
    SetColor(0x800080)
    Case $msg = $Menu4_8
    SetColor(0x800000)
    Case $msg = $Menu4_9
    SetColor(0xFFFFFF)
    Case $msg = $Menu6_1
    $hSubGui2 = GUICreate("Help", 800, 400, 100, 100)
    GUISetState(@SW_SHOW)
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case -3
    GUIDelete($hSubGui2)
    ExitLoop
    EndSwitch
    WEnd

    Case $msg = $Menu5_1
    $hSubGui = GUICreate("Einstellungen", 375, 620, 100, 100)
    GUISetBkColor(0xff0000)
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    $ebutton_1 = GUICtrlCreateButton("Schließen",125, 575, 100)
    $ebutton_1_2 = GUICtrlCreateButton("Speichen", 25, 575, 100)
    $ebutton_2 = GUICtrlCreateButton("...",189, 63,24)
    $ebutton_3 = GUICtrlCreateButton("...",189, 93,24)
    $ebutton_4= GUICtrlCreateButton("...",189, 123,24)
    $ebutton_5 = GUICtrlCreateButton("...",189, 153,24)
    $ebutton_6 = GUICtrlCreateButton("...",189, 183,24)
    $ebutton_7 = GUICtrlCreateButton("...",189, 213,24)
    $ebutton_8 = GUICtrlCreateButton("...",324, 63,24)
    $ebutton_9 = GUICtrlCreateButton("...",324, 93,24)
    $ebutton_10 = GUICtrlCreateButton("...",324, 123,24)
    $ebutton_11 = GUICtrlCreateButton("...",324, 153,24)
    $ebutton_12 = GUICtrlCreateButton("...",324, 183,24)
    $ebutton_13 = GUICtrlCreateButton("...",324, 213,24)
    $ebuttonB_1 = GUICtrlCreateButton("...",189, 273,24)
    $ebuttonB_2 = GUICtrlCreateButton("...",189, 303,24)
    $ebuttonB_3 = GUICtrlCreateButton("...",189, 333,24)
    $ebuttonB_4 = GUICtrlCreateButton("...",189, 363,24)
    $ebuttonB_5 = GUICtrlCreateButton("...",324, 273,24)
    $ebuttonB_6 = GUICtrlCreateButton("...",324, 303,24)
    $ebuttonB_7 = GUICtrlCreateButton("...",324, 333,24)
    $ebuttonB_8 = GUICtrlCreateButton("...",324, 363,24)
    $ebuttonC_1 = GUICtrlCreateButton("...",189, 403,24)
    $ebuttonC_2 = GUICtrlCreateButton("...",189, 433,24)
    $ebuttonC_3 = GUICtrlCreateButton("...",189, 463,24)
    $ebuttonC_4 = GUICtrlCreateButton("...",324, 403,24)
    $ebuttonC_5 = GUICtrlCreateButton("...",324, 433,24)
    $ebuttonC_6 = GUICtrlCreateButton("...",324, 463,24)
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    GUICtrlCreateLabel("Einstellungen", 25, 20, 100, 20)
    GUICtrlSetFont(-1, 11, -1, -1, $font2)
    $spiel1 = GUICtrlCreateLabel("Spiel 1", 35, 65, 50, 20)
    GUICtrlSetFont(-1, 9, -1, -1, $font2)
    $spiel2 = GUICtrlCreateLabel("Spiel 2", 35, 95, 50, 20)
    GUICtrlSetFont(-1, 9, -1, -1, $font2)
    $spiel3 = GUICtrlCreateLabel("Spiel 3", 35, 125, 50, 20)
    GUICtrlSetFont(-1, 9, -1, -1, $font2)
    $spiel4 = GUICtrlCreateLabel("Spiel 4", 35, 155, 50, 20)
    GUICtrlSetFont(-1, 9, -1, -1, $font2)
    $spiel5 = GUICtrlCreateLabel("Spiel 5", 35, 185, 50, 20)
    GUICtrlSetFont(-1, 9, -1, -1, $font2)
    $spiel6 = GUICtrlCreateLabel("Spiel 6", 35, 215, 50, 20)
    GUICtrlSetFont(-1, 9, -1, -1, $font2)
    GUISetState(@SW_SHOW)
    $ButtonE_1 = GUICtrlCreateLabel("Button 1", 35, 275, 75, 20)
    GUICtrlSetFont(-1, 9, -1, -1, $font2)
    $ButtonE_2 = GUICtrlCreateLabel("Button 2", 35, 305, 75, 20)
    GUICtrlSetFont(-1, 9, -1, -1, $font2)
    $ButtonE_3 = GUICtrlCreateLabel("Button 3", 35, 335, 75, 20)
    GUICtrlSetFont(-1, 9, -1, -1, $font2)
    $ButtonE_4 = GUICtrlCreateLabel("Button 4", 35, 365, 75, 20)
    GUICtrlSetFont(-1, 9, -1, -1, $font2)
    $Style_1 = GUICtrlCreateLabel("Style 1", 35, 405, 75, 20)
    GUICtrlSetFont(-1, 9, -1, -1, $font2)
    $Style_2 = GUICtrlCreateLabel("Style 2", 35, 435, 75, 20)
    GUICtrlSetFont(-1, 9, -1, -1, $font2)
    $Style_3 = GUICtrlCreateLabel("Style 3", 35, 465, 75, 20)
    GUICtrlSetFont(-1, 9, -1, -1, $font2)
    ;=======================================================
    $ge_1 = GUICtrlCreateGroup("Spiele", 25, 50, 325, 200)
    GUICtrlSetFont(-1, 9, -1, -1, $font2)
    $ge_2 = GUICtrlCreateGroup("Buttons", 25, 250, 325, 140)
    GUICtrlSetFont(-1, 9, -1, -1, $font2)
    $ge_3 = GUICtrlCreateGroup("Infos", 25, 500, 325, 70)
    GUICtrlSetFont(-1, 9, -1, -1, $font2)
    $ge_4 = GUICtrlCreateGroup("Win Style", 25, 390, 325, 100)
    GUICtrlSetFont(-1, 9, -1, -1, $font2)
    ;=======================================================
    $Input_1 = GUICtrlCreateInput($read_1 ,85, 65, 100, 20)
    $Input_2 = GUICtrlCreateInput($read_2 ,85, 95, 100, 20)
    $Input_3 = GUICtrlCreateInput($read_3 ,85, 125, 100, 20)
    $Input_4 = GUICtrlCreateInput($read_4 ,85, 155, 100, 20)
    $Input_5 = GUICtrlCreateInput($read_5 ,85, 185, 100, 20)
    $Input_6 = GUICtrlCreateInput($read_6 ,85, 215, 100, 20)
    $Input_1_1 = GUICtrlCreateInput($read_7 ,220, 65, 100, 20)
    $Input_2_1 = GUICtrlCreateInput($read_8,220, 95, 100, 20)
    $Input_3_1 = GUICtrlCreateInput($read_9 ,220, 125, 100, 20)
    $Input_4_1 = GUICtrlCreateInput($read_10 ,220, 155, 100, 20)
    $Input_5_1 = GUICtrlCreateInput($read_11 ,220, 185, 100, 20)
    $Input_6_1 = GUICtrlCreateInput($read_12 ,220, 215, 100, 20)
    $InputB_1 = GUICtrlCreateInput($read_13 ,85, 275, 100, 20)
    $InputB_2 = GUICtrlCreateInput($read_14 ,85, 305, 100, 20)
    $InputB_3 = GUICtrlCreateInput($read_15 ,85, 335, 100, 20)
    $InputB_4 = GUICtrlCreateInput($read_16 ,85, 365, 100, 20)
    $InputB_1_1 = GUICtrlCreateInput($read_17 ,220, 275, 100, 20)
    $InputB_2_1 = GUICtrlCreateInput($read_18 ,220, 305, 100, 20)
    $InputB_3_1 = GUICtrlCreateInput($read_19 ,220, 335, 100, 20)
    $InputB_4_1 = GUICtrlCreateInput($read_20 ,220, 365, 100, 20)
    $InputC_1 = GUICtrlCreateInput($read_21 ,85, 405, 100, 20)
    $InputC_2 = GUICtrlCreateInput($read_22 ,85, 435, 100, 20)
    $InputC_3 = GUICtrlCreateInput($read_23 ,85, 465, 100, 20)
    $InputC_1_1 = GUICtrlCreateInput($read_24 ,220, 405, 100, 20)
    $InputC_2_1 = GUICtrlCreateInput($read_25 ,220, 435, 100, 20)
    $InputC_3_1 = GUICtrlCreateInput($read_26 ,220, 465, 100, 20)
    $checkbox_1 = GUICtrlCreateCheckbox("Uhrzeit", 35, 520, 50, 20)
    $checkbox_2 = GUICtrlCreateCheckbox("Datum", 105, 520, 50, 20)
    $checkbox_3 = GUICtrlCreateCheckbox("Benutzer", 175, 520, 70, 20)
    $checkbox_4 = GUICtrlCreateCheckbox("Cpu Kerne", 245, 520, 70, 20)
    $checkbox_5 = GUICtrlCreateCheckbox("Cpu Auslastungsanzeige", 35, 540, 140, 20)
    $checkbox_6 = GUICtrlCreateCheckbox("Ip Adresse", 175, 540, 70, 20)
    $checkbox_7 = GUICtrlCreateCheckbox("Sonstiges", 245, 540, 70, 20)
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)
    If IniRead("config.ini", "Config", "cb1", "Error") = 1 Then GUICtrlSetState($checkbox_1, $GUI_CHECKED)
    If IniRead("config.ini", "Config", "cb2", "Error") = 1 Then GUICtrlSetState($checkbox_2, $GUI_CHECKED)
    If IniRead("config.ini", "Config", "cb3", "Error") = 1 Then GUICtrlSetState($checkbox_3, $GUI_CHECKED)
    If IniRead("config.ini", "Config", "cb4", "Error") = 1 Then GUICtrlSetState($checkbox_4, $GUI_CHECKED)
    If IniRead("config.ini", "Config", "cb5", "Error") = 1 Then GUICtrlSetState($checkbox_5, $GUI_CHECKED)
    If IniRead("config.ini", "Config", "cb6", "Error") = 1 Then GUICtrlSetState($checkbox_6, $GUI_CHECKED)
    If IniRead("config.ini", "Config", "cb7", "Error") = 1 Then GUICtrlSetState($checkbox_7, $GUI_CHECKED)
    If $checkbox_1 = $GUI_CHECKED Then IniWrite("config.ini","Config","cb1","1")
    If Not $checkbox_1 = $GUI_CHECKED Then IniWrite("config.ini","Config","cb1","0")
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $ebutton_1
    GUIDelete($hSubGui)
    ExitLoop
    Case $msg = $ebutton_1_2
    If BitAND(GuiCtrlRead($Checkbox_1), $GUI_CHECKED) Then IniWrite("config.ini", "Config", "cb1", "1")
    If Not BitAND(GuiCtrlRead($Checkbox_1), $GUI_CHECKED) Then IniWrite("config.ini", "Config", "cb1", "0")
    If BitAND(GuiCtrlRead($Checkbox_2), $GUI_CHECKED) Then IniWrite("config.ini", "Config", "cb2", "1")
    If Not BitAND(GuiCtrlRead($Checkbox_2), $GUI_CHECKED) Then IniWrite("config.ini", "Config", "cb2", "0")
    If BitAND(GuiCtrlRead($Checkbox_3), $GUI_CHECKED) Then IniWrite("config.ini", "Config", "cb3", "1")
    If Not BitAND(GuiCtrlRead($Checkbox_3), $GUI_CHECKED) Then IniWrite("config.ini", "Config", "cb3", "0")
    If BitAND(GuiCtrlRead($Checkbox_4), $GUI_CHECKED) Then IniWrite("config.ini", "Config", "cb4", "1")
    If Not BitAND(GuiCtrlRead($Checkbox_4), $GUI_CHECKED) Then IniWrite("config.ini", "Config", "cb4", "0")
    If BitAND(GuiCtrlRead($Checkbox_5), $GUI_CHECKED) Then IniWrite("config.ini", "Config", "cb5", "1")
    If Not BitAND(GuiCtrlRead($Checkbox_5), $GUI_CHECKED) Then IniWrite("config.ini", "Config", "cb5", "0")
    If BitAND(GuiCtrlRead($Checkbox_6), $GUI_CHECKED) Then IniWrite("config.ini", "Config", "cb6", "1")
    If Not BitAND(GuiCtrlRead($Checkbox_6), $GUI_CHECKED) Then IniWrite("config.ini", "Config", "cb6", "0")
    If BitAND(GuiCtrlRead($Checkbox_7), $GUI_CHECKED) Then IniWrite("config.ini", "Config", "cb7", "1")
    If Not BitAND(GuiCtrlRead($Checkbox_7), $GUI_CHECKED) Then IniWrite("config.ini", "Config", "cb7", "0")
    GUIDelete($hSubGui)
    ExitLoop
    Case $msg = $ebutton_2
    $Box_1 = InputBox("Name", "Bitte gebe hier den Spielenamen ein", "Spiel")
    IniWrite("config.ini", "Config", "Spiel1", $Box_1)
    Case $msg = $ebutton_3
    $Box_2 = InputBox("Name", "Bitte gebe hier den Spielenamen ein", "Spiel")
    IniWrite("config.ini", "Config", "Spiel2", $Box_2)
    Case $msg = $ebutton_4
    $Box_3 = InputBox("Name", "Bitte gebe hier den Spielenamen ein", "Spiel")
    IniWrite("config.ini", "Config", "Spiel3", $Box_3)
    Case $msg = $ebutton_5
    $Box_4 = InputBox("Name", "Bitte gebe hier den Spielenamen ein", "Spiel")
    IniWrite("config.ini", "Config", "Spiel4", $Box_4)
    Case $msg = $ebutton_6
    $Box_5 = InputBox("Name", "Bitte gebe hier den Spielenamen ein", "Spiel")
    IniWrite("config.ini", "Config", "Spiel5", $Box_5)
    Case $msg = $ebutton_7
    $Box_6 = InputBox("Name", "Bitte gebe hier den Spielenamen ein", "Spiel")
    IniWrite("config.ini", "Config", "Spiel6", $Box_6)
    Case $msg = $ebutton_8
    $Box_7 = InputBox("Pfad", "Bitte gebe hier den Pfad der .exe ein", "Spiel")
    IniWrite("config.ini", "Config", "Pfad1", $Box_7)
    Case $msg = $ebutton_9
    $Box_8 = InputBox("Pfad", "Bitte gebe hier den Pfad der .exe ein", "Spiel")
    IniWrite("config.ini", "Config", "Pfad2", $Box_8)
    Case $msg = $ebutton_10
    $Box_9 = InputBox("Pfad", "Bitte gebe hier den Pfad der .exe ein", "Spiel")
    IniWrite("config.ini", "Config", "Pfad3", $Box_9)
    Case $msg = $ebutton_11
    $Box_10 = InputBox("Pfad", "Bitte gebe hier den Pfad der .exe ein", "Spiel")
    IniWrite("config.ini", "Config", "Pfad4", $Box_10)
    Case $msg = $ebutton_12
    $Box_11 = InputBox("Pfad", "Bitte gebe hier den Pfad der .exe ein", "Spiel")
    IniWrite("config.ini", "Config", "Pfad5", $Box_11)
    Case $msg = $ebutton_13
    $Box_12 = InputBox("Pfad", "Bitte gebe hier den Pfad der .exe ein", "Spiel")
    IniWrite("config.ini", "Config", "Pfad6", $Box_12)
    Case $msg = $ebuttonB_1
    $Box_13 = InputBox("Name", "Bitte gebe hier den Namen des Buttons ein", "Button")
    IniWrite("config.ini", "Config", "Button1", $Box_13)
    Case $msg = $ebuttonB_2
    $Box_14 = InputBox("Name", "Bitte gebe hier den Namen des Buttons ein", "Button")
    IniWrite("config.ini", "Config", "Button2", $Box_14)
    Case $msg = $ebuttonB_3
    $Box_15 = InputBox("Name", "Bitte gebe hier den Namen des Buttons ein", "Button")
    IniWrite("config.ini", "Config", "Button3", $Box_15)
    Case $msg = $ebuttonB_4
    $Box_16 = InputBox("Name", "Bitte gebe hier den Namen des Buttons ein", "Button")
    IniWrite("config.ini", "Config", "Button4", $Box_16)
    Case $msg = $ebuttonB_5
    $Box_17 = InputBox("Name", "Bitte gebe hier den Befehl des Buttons ein", "Button")
    IniWrite("config.ini", "Config", "Button5", $Box_17)
    Case $msg = $ebuttonB_6
    $Box_18 = InputBox("Name", "Bitte gebe hier den Befehl des Buttons ein", "Button")
    IniWrite("config.ini", "Config", "Button6", $Box_18)
    Case $msg = $ebuttonB_7
    $Box_19 = InputBox("Name", "Bitte gebe hier den Befehl des Buttons ein", "Button")
    IniWrite("config.ini", "Config", "Button7", $Box_19)
    Case $msg = $ebuttonB_8
    $Box_20 = InputBox("Name", "Bitte gebe hier den Befehl des Buttons ein", "Button")
    IniWrite("config.ini", "Config", "Button8", $Box_20)
    Case $msg = $ebuttonC_1
    $Box_21 = InputBox("Name", "Bitte gebe hier den Namen des Styles ein", "Style")
    IniWrite("config.ini", "Config", "Button9", $Box_21)
    Case $msg = $ebuttonC_2
    $Box_22 = InputBox("Name", "Bitte gebe hier den Namen des Styles ein", "Style")
    IniWrite("config.ini", "Config", "Button10", $Box_22)
    Case $msg = $ebuttonC_3
    $Box_23 = InputBox("Name", "Bitte gebe hier den Namen des Styles ein", "Style")
    IniWrite("config.ini", "Config", "Button11", $Box_23)
    Case $msg = $ebuttonC_4
    $Box_24 = InputBox("Name", "Bitte gebe hier den Pfad des Styles ein", "Style")
    IniWrite("config.ini", "Config", "Button12", $Box_24)
    Case $msg = $ebuttonC_5
    $Box_25 = InputBox("Name", "Bitte gebe hier den Pfad des Stylesein", "Style")
    IniWrite("config.ini", "Config", "Button13", $Box_25)
    Case $msg = $ebuttonC_6
    $Box_26 = InputBox("Name", "Bitte gebe hier den Pfad des Styles ein", "Style")
    IniWrite("config.ini", "Config", "Button14", $Box_26)
    EndSelect
    Switch $msg
    Case -3
    GUIDelete($hSubGui)
    ExitLoop
    EndSwitch
    WEnd
    EndSelect
    WEnd
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    While 1
    Sleep(500)
    WEnd
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    #region ; nach der while-Schleife
    Func CheckCpu()
    $objRefresher.Refresh
    If IsObj($objRefreshableItem) Then
    $i = 0
    For $objItem In $objRefreshableItem.ObjectSet
    $aCPU[$i] = $objItem.PercentProcessorTime
    $i += 1
    Next
    EndIf
    ConsoleWrite("============" & @CRLF)
    For $i = 0 To UBound($aCPU) - 2
    ConsoleWrite("Core " & $i + 1 & ": " & $aCPU[$i] & @CRLF)
    Next
    ConsoleWrite("Gesamt: " & $aCPU[UBound($aCPU) - 1] & @CRLF)
    ; Anstelle von ConsoleWrie mit GuiCtrlSetData deinen Labels den Wert zuweisen
    EndFunc ;==>CheckCpu

    Func OnAutoItExit()
    ConsoleWrite("Werde ich wirklich aufgerufen?????" & @CRLF)
    $objRefresher.DeleteAll
    EndFunc ;==>OnAutoItExit
    #endregion
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    Func SetColor($Color)
    GUICtrlSetColor($L_1, $Color)
    GUICtrlSetColor($L_2, $Color)
    GUICtrlSetColor($Label1, $Color)
    GUICtrlSetColor($Label2, $Color)
    GUICtrlSetColor($lblCpuPer, $Color)
    GUICtrlSetColor($g_1, $Color)
    GUICtrlSetColor($g_2, $Color)
    GUICtrlSetColor($Spiel_1, $Color)
    GUICtrlSetColor($spiel_2, $Color)
    GUICtrlSetColor($spiel_3, $Color)
    GUICtrlSetColor($spiel_4, $Color)
    GUICtrlSetColor($spiel_5, $Color)
    GUICtrlSetColor($spiel_6, $Color)
    GUICtrlSetColor($lblc, $Color)
    GUICtrlSetColor($lblCoreCont, $Color)
    GUICtrlSetColor($lblUser, $Color)
    GUICtrlSetColor($lblPublicIp, $Color)
    GUICtrlSetColor($lblOsVersion, $Color)
    EndFunc ;==>SetColor
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    Func _date()
    If $blink Then
    GUICtrlSetData($Label2, @MDAY & '.' & @MON & '.' & @YEAR)
    $blink = Not $blink
    Else
    GUICtrlSetData($Label2, @MDAY & '.' & @MON & '.' & @YEAR)
    $blink = Not $blink
    EndIf
    EndFunc ;==>_date
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    Func _GetCoreCount(Const $Computer = "127.0.0.1")
    $WMIConnect = ObjGet('winmgmts:{impersonationLevel=impersonate}!\\' & $Computer & '\root\CIMV2')
    If Not IsObj($WMIConnect) Then Return SetError(-1, @error, 0)
    $ObjList = $WMIConnect.ExecQuery('SELECT Name FROM Win32_PerfRawData_PerfOS_Processor', 'WQL', $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    If Not IsObj($ObjList) Then Return SetError(-2, @error, 0)
    $iReturn = 0
    For $ObjItem In $ObjList
    If StringInStr($ObjItem.Name, "_Total") = 0 Then $iReturn += 1
    Next
    Return $iReturn
    EndFunc ;==>_GetCoreCount
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    Func _Random_BG()
    GUISetBkColor(Random(100, 0xFFFFFF, 1))
    EndFunc ;==>_Random_BG
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    Func CpuAuslastung()
    Global $wbemFlags = $wbemFlagReturnImmediately + $wbemFlagForwardOnly
    Global $strComputer = @ComputerName
    Global $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    Global $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Processor", "WQL", $wbemFlags)
    $n = 0
    $c = 0
    $sMsg = ""
    For $ObjItem In $colItems
    $sMsg &= "cpu%" & $ObjItem.LoadPercentage
    $n += 1
    Next
    $CpuAuslastung = StringSplit($sMsg, "cpu%", 1)
    For $n = "0" To $CpuAuslastung[0]
    $c += $CpuAuslastung[$n]
    Next
    Return (Round($c / $CpuAuslastung[0], 0) & "%")
    EndFunc ;==>CpuAuslastung
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    Func _ShowCpuPer()
    GUICtrlSetData($lblCpuPer, "CPU Auslastung: " & CpuAuslastung())
    EndFunc ;==>_ShowCpuPer
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    Func _time()
    If $blink Then
    GUICtrlSetData($Label1, @HOUR & ':' & @MIN & ':' & @SEC)
    $blink = Not $blink
    Else
    GUICtrlSetData($Label1, @HOUR & ':' & @MIN & ':' & @SEC)
    $blink = Not $blink
    EndIf
    EndFunc ;==>_time
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    Func _checkbox()
    $cbi1 = IniRead("config.ini", "Config", "cb1", "Error")
    If $cbi1 = 1 Then AdlibRegister("_time", 500)
    If $cbi1 = 1 Then _time()
    $cbi2 = IniRead("config.ini", "Config", "cb2", "Error")
    If $cbi2 = 1 Then AdlibRegister("_date", 500)
    If $cbi2 = 1 Then _date()
    $cbi3 = IniRead("config.ini", "Config", "cb3", "Error")
    If $cbi3 = 1 Then $lblUser = GUICtrlCreateLabel($username, 55, 230, 100, 12)
    $cbi4 = IniRead("config.ini", "Config", "cb4", "Error")
    If $cbi4 = 1 Then $lblCoreCont = GUICtrlCreateLabel("CPU Kerne: " & _GetCoreCount(), 55, 250, 175, 12)
    $cbi5 = IniRead("config.ini", "Config", "cb5", "Error")
    If $cbi5 = 1 Then $lblCpuPer = GUICtrlCreateLabel("CPU Auslastung: " & CpuAuslastung(), 55, 265, 100, 12)
    If $cbi5 = 1 Then AdlibRegister("_ShowCpuPer", 2000)
    $cbi6 = IniRead("config.ini", "Config", "cb6", "Error")
    If $cbi6 = 1 Then $lblPublicIp = GUICtrlCreateLabel("IP: " & $PublicIP, 55, 280, 100, 12)
    $cbi7 = IniRead("config.ini", "Config", "cb7", "Error")
    If $cbi7 = 1 Then $lblOsVersion = GUICtrlCreateLabel($osversion, 55, 295, 175, 12)
    EndFunc
    ;0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    Func Terminate()
    Exit
    EndFunc ;==>Terminate


    #cs
    Autor: ... aka Xilent
    Script: ... aka Xilent
    Version: 1.0.0.0

    Copyright (c) 2010 by Sascha ... aka Xilent
    #ce

    Änderungen sind so gekennzeichnet ;<=============

    mfg autoBert

  • Neue Cpu Auslastanzeige

    • autoBert
    • 11. September 2010 um 16:39

    Hallo xilent,

    so:

    Spoiler anzeigen
    [autoit]

    HotKeySet("{ESC}", "Terminate") ;wird bei dir nicht benötigt
    #region ;ab hier nach dem erstellen deiner GUI direkt vor deiner While-Schleife
    OnAutoItExitRegister("OnAutoItExit")
    $objRefresher = ObjCreate("WbemScripting.SWbemRefresher")

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

    $objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")

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

    $objRefreshableItem = $objRefresher.AddEnum($objWMIService, "Win32_PerfFormattedData_PerfOS_Processor")

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

    $objRefresher.Refresh

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

    If IsObj($objRefreshableItem) Then
    $i = 0
    For $objItem In $objRefreshableItem.ObjectSet
    $i += 1
    Next
    EndIf
    Global $aCPU[$i]

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

    CheckCpu() ;damit es sofort 1mal aufgerufen wird

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

    AdlibRegister("CheckCpu" ,1000) ;Zeit eventuell anpassen je kleiner desto cpu-lastiger
    #endregion ;ab hier nach den Include-Files aber noch vor deiner While-Schleife

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

    While 1
    Sleep(500)
    WEnd

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

    #region ; nach der while-Schleife
    Func CheckCpu()
    $objRefresher.Refresh
    If IsObj($objRefreshableItem) Then
    $i = 0
    For $objItem In $objRefreshableItem.ObjectSet
    $aCPU[$i] = $objItem.PercentProcessorTime
    $i += 1
    Next
    EndIf
    ConsoleWrite("============" & @CRLF)
    For $i = 0 To UBound($aCPU) - 2
    ConsoleWrite("Core " & $i + 1 & ": " & $aCPU[$i] & @CRLF)
    Next
    ConsoleWrite("Gesamt: " & $aCPU[UBound($aCPU) - 1] & @CRLF)
    ; Anstelle von ConsoleWrie mit GuiCtrlSetData deinen Labels den Wert zuweisen
    EndFunc ;==>CheckCpu

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

    Func OnAutoItExit()
    ConsoleWrite("Werde ich wirklich aufgerfen?????" & @CRLF)
    $objRefresher.DeleteAll
    EndFunc ;==>OnAutoItExit
    #endregion

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

    Func Terminate()
    Exit
    EndFunc ;==>Terminate

    [/autoit]

    beachte die Anmerkungen im Skript,

    mfg autoBert

  • Benötige Hilfe

    • autoBert
    • 11. September 2010 um 16:05

    Hallo HGF,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee

    Dein Problem kannst du lösen nachdem du die Hilfe von Anfang bis zu Gui-Referenz einschlieslich durchgearbeitet hast.

    PS.: Wenn du willst das man dir hilft solltest du zumindest deinen bisherigen Skriptstand mit posten,

    mfg autoBert

  • GameLauncher

    • autoBert
    • 11. September 2010 um 03:31

    Hallo Goldy,

    entscheidend dafür das nur einmal pro Tag geprüft wird sind diese Zeilen:

    [autoit]

    Func _CheckUpdate()
    Local $tLastCeck = IniRead($sLiz, "Update", "Date", 0)
    Local $tDiff = _DateDiff('d', "2010/01/01 00:00:00", _NowCalc())
    Local $hFile, $sVar, $iPos, $sVerNr, $sDL_Url, $sDL_Url2
    If $tLastCeck < $tDiff Then
    IniWrite($sLiz, "Update", "Date", $tDiff) ;damit am heutigen Tag nicht mehr geprüft wird
    ...
    EndFunc

    [/autoit]

    die Routine prüft den Unterschied der Tage zu einem gewissen Stichtag (bei mir der 1.1.2010) falls der neue Check einen kleineren Wert (als der in die INI eingtragene) ergibt wird weiter gemacht und die aktuelle Differenz eingetragen, die weitere Prüfung vergleicht dann die Versiopnnr (aber das kannstn du warscheins nicht 1:1 übernehmen,

    Edit: natürlich muss _CheckUpdate() beim Programmstart oder einer prägnanten Stelle im Skript aufgerfen werden. Damit die Routine manuell (über Menü) immer funktioniert wird sie auf diesen Event so aufgerufen:

    [autoit]

    Func _Update()
    IniWrite($sLiz, "Update", "Date", 0) ;damit manuell auf jeden Fall geprüft wird
    _CheckUpdate()
    EndFunc ;==>_Update

    [/autoit]


    mfg autoBert

  • GameLauncher

    • autoBert
    • 11. September 2010 um 01:51

    Hallo Goldy,

    schau dir [Beispiel] NeMP3-P (MP3-Player) Version 0.8.4.7 an, dort habe ich eine Update-Funktion mithilfe dieses sBoards eingebaut,

    mfg autoBert

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™