Sieh Dir mal die Textdatei an. Evtl. gibt es dort eine Leerzeile oder eine Zeile enthält keine Kommata. In diesem Fall gibt StringSplit nur ein Array mit 2 Elementen zurück, was die nachfolgenden Zeilen mit einem Fehler quittieren.
Am besten nach StringSplit eine Fehlerbehandlung einbauen.
Beiträge von Oscar
-
-
Dann kannst Du mit _FileListToArray() alle (oder mit Filter ausgewählte) Dateien in ein Array einlesen und dieses der Reihe nach durchgehen und die Dateien dann entsprechend umbenennen.
-
Wie kann ich machen, dass die TxT dateien nach dem aktuellen Datum genannt werden und wenn es die datei schon gibt, dass dann eine 1 hintendran kommt und wenns die schon gibt ne 2 usw. ?Beispielcode:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
Global $sFileName = @YEAR & @MON & @MDAY, $tmp = 1If FileExists($sFileName & '.txt') Then
[/autoit] [autoit][/autoit] [autoit]
$sFileName &= '_'
While FileExists($sFileName & $tmp & '.txt')
$tmp += 1
WEnd
$sFileName &= $tmp & '.txt'
Else
$sFileName &= '.txt'
EndIf
FileWrite($sFileName, 'bla')MsgBox(0,0,$sFileName)
[/autoit] -
Du musst eine Variable einfügen, mit der Du testest, ob bereits eine Mail verschickt wurde. In etwa so:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $bSend = False ; An den Anfang Deines ScriptsFunc Absenden()
[/autoit] [autoit][/autoit] [autoit]
$size = FileGetSize("C:\Hardware\in337.txt")
If $size > '1032' And $size < '1038' And Not $bSend Then
$read = FileRead("C:\Hardware\in337.txt")Global $oMyRet[2]
[/autoit] [autoit][/autoit] [autoit]
Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")$rc = _INetSmtpMailCom('meine daten')
[/autoit]
If @error Then
MsgBox(0, "Error sending message", "Error code:" & @error & " Description:" & $rc)
EndIf
$bSend = True
EndIf
EndFunc ;==>Absenden -
Versuch's einfach noch mal. Wir sind ja bereit zu helfen, aber dazu müssen wir das Problem kennen.
Am einfachsten ist es, wenn Du das Problem in einem Beispiel-Script darstellen kannst. Ansonsten erkläre möglichst genau den Ablauf, was Dein Script tun soll. -
Folgende Punkte können Deine Chancen auf eine brauchbare Antwort erhöhen:
1. Präzise Fragestellung
2. Groß-/Kleinschreibung
3. Satzzeichen
4. evtl. vorhandenes Script posten
5. Fehlerbeschreibung, was genau nicht funktioniertMit dem, was Du bisher gepostet hast, bräuchte man eine verdammt gute Kristallkugel.

-
Ja, mit GUIRegisterMsg wird eine Funktion (MY_WM_USER) registriert, die ausgeführt wird, wenn ein User-Ereignis eintritt (Up-/Down-Taste gedrückt).
In der Funktion (MY_WM_USER) wird dann mit WinGetHandle(_WinAPI_GetFocus()) das Handle zu dem Button geholt, der gerade den Focus besitzt.
Der Befehl _WinAPI_GetDlgCtrlID wandelt dann das Handle in die GUI-ID um, damit GUICtrlSetBKColor funktioniert. Der Rest ist, wie schon von Dir vermutet.Das Flackern tritt also nur noch (wenn überhaupt) beim gerade aktiven und/oder am zuletzt aktiven Button auf. Wobei ich nicht sagen kann, warum das so ist. Es tritt ja auch nicht jedesmal auf, sondern nur gelegentlich.

-
Diese Version ist noch etwas besser:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include<WinAPI.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>;;;;;;;;;;;;;;;;;;;; Haupt-Menü Variablen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Opt("GUICoordMode", 1)
Global $Farbe = 0x00BFFF
Global $HauptGUI = GUICreate("HTPC", 400, 800, -1, -1, BitOR($WS_POPUP, $WS_BORDER, $WS_CLIPSIBLINGS))
GUISetBkColor(000000);;;;;;;;;;;;;;;;;;;;;;Buttons;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[/autoit] [autoit][/autoit] [autoit]
Dim $L = 100 ; Buttonleft
Dim $W = 200 ; Buttonwidth
Dim $H = 60; Buttonheight
Dim $C = 4169E1 ;Hintergrundfarbe Button
Dim $F = GUISetFont(18, 800, 0, "MS Sans Serif") ;Schrift der ButtonsGlobal $TV = GUICtrlCreateButton("TV", $L, 8, $W, $H, -1, $WS_EX_STATICEDGE)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUICtrlSetBkColor(-1, 0x00BFFF)
Global $DVD = GUICtrlCreateButton("DVD", $L, 88, $W, $H, -1, $WS_EX_STATICEDGE)
GUICtrlSetBkColor(-1, 0x4169E1)
Global $Aufnahmen = GUICtrlCreateButton("Aufnahmen", $L, 168, $W, $H, -1, $WS_EX_STATICEDGE)
GUICtrlSetBkColor(-1, 0x4169E1)
Global $Internet = GUICtrlCreateButton("Internet", $L, 248, $W, $H, -1, $WS_EX_STATICEDGE)
GUICtrlSetBkColor(-1, 0x4169E1)
Global $Musik = GUICtrlCreateButton("Musik/Bilder", $L, 328, $W, $H, -1, $WS_EX_STATICEDGE)
GUICtrlSetBkColor(-1, 0x4169E1)
Global $Bluray = GUICtrlCreateButton("Bluray", $L, 408, $W, $H, -1, $WS_EX_STATICEDGE)
GUICtrlSetBkColor(-1, 0x4169E1)
Global $Einstellungen = GUICtrlCreateButton("Einstellungen", $L, 488, $W, $H, -1, $WS_EX_STATICEDGE)
GUICtrlSetBkColor(-1, 0x4169E1)
Global $Beenden = GUICtrlCreateButton("Beenden", $L, 568, $W, $H, -1, $WS_EX_STATICEDGE)
GUICtrlSetBkColor(-1, 0x4169E1)
Global $Exit = GUICtrlCreateButton("exit", $L, 648, $W, $H, -1, $WS_EX_STATICEDGE)
GUICtrlSetBkColor(-1, 0x4169E1)GUISetState(@SW_SHOW, $HauptGUI)
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_MAXIMIZE, $HauptGUI)Global $last_focus = GUICtrlGetHandle($TV)
[/autoit] [autoit][/autoit] [autoit]
GUIRegisterMsg($WM_USER, "MY_WM_USER")While 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_Close
Exit
Case $TV
Case $DVD
Case $Aufnahmen
Case $Musik
Case $Bluray
Case $Einstellungen ;Aufruf Einstellungen
Case $Beenden ;Aufruf Beenden
Case $Exit
Exit
EndSwitch
WEndFunc MY_WM_USER($hWnd, $msg, $wParam, $lParam)
[/autoit]
Local $Button = WinGetHandle(_WinAPI_GetFocus())
Local $Farbe = 0x4169E1, $Fokusfarbe = 0x00BFFF
GUICtrlSetBkColor(_WinAPI_GetDlgCtrlID($last_focus), $Farbe)
GUICtrlSetBkColor(_WinAPI_GetDlgCtrlID($Button), $Fokusfarbe)
$last_focus = $Button
EndFunc ;==>_HauptReset -
So flackert es weniger:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>;;;;;;;;;;;;;;;;;;;; Haupt-Menü Variablen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Opt("GUICoordMode", 1)
Global $last_focus = -1
Global $Farbe = 0x00BFFF
Global $HauptGUI = GUICreate("HTPC", 400, 800, -1, -1, BitOR($WS_POPUP, $WS_BORDER, $WS_CLIPSIBLINGS))
GUISetBkColor(000000);;;;;;;;;;;;;;;;;;;;;;Buttons;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[/autoit] [autoit][/autoit] [autoit]
Dim $L = 100 ; Buttonleft
Dim $W = 200 ; Buttonwidth
Dim $H = 60; Buttonheight
Dim $C = 4169E1 ;Hintergrundfarbe Button
Dim $F = GUISetFont(18, 800, 0, "MS Sans Serif") ;Schrift der ButtonsGlobal $TV = GUICtrlCreateButton("TV", $L, 8, $W, $H, -1, $WS_EX_STATICEDGE)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUICtrlSetBkColor(-1, 0x00BFFF)
Global $DVD = GUICtrlCreateButton("DVD", $L, 88, $W, $H, -1, $WS_EX_STATICEDGE)
GUICtrlSetBkColor(-1, 0x4169E1)
Global $Aufnahmen = GUICtrlCreateButton("Aufnahmen", $L, 168, $W, $H, -1, $WS_EX_STATICEDGE)
GUICtrlSetBkColor(-1, 0x4169E1)
Global $Internet = GUICtrlCreateButton("Internet", $L, 248, $W, $H, -1, $WS_EX_STATICEDGE)
GUICtrlSetBkColor(-1, 0x4169E1)
Global $Musik = GUICtrlCreateButton("Musik/Bilder", $L, 328, $W, $H, -1, $WS_EX_STATICEDGE)
GUICtrlSetBkColor(-1, 0x4169E1)
Global $Bluray = GUICtrlCreateButton("Bluray", $L, 408, $W, $H, -1, $WS_EX_STATICEDGE)
GUICtrlSetBkColor(-1, 0x4169E1)
Global $Einstellungen = GUICtrlCreateButton("Einstellungen", $L, 488, $W, $H, -1, $WS_EX_STATICEDGE)
GUICtrlSetBkColor(-1, 0x4169E1)
Global $Beenden = GUICtrlCreateButton("Beenden", $L, 568, $W, $H, -1, $WS_EX_STATICEDGE)
GUICtrlSetBkColor(-1, 0x4169E1)
Global $Exit = GUICtrlCreateButton("exit", $L, 648, $W, $H, -1, $WS_EX_STATICEDGE)
GUICtrlSetBkColor(-1, 0x4169E1)GUISetState(@SW_SHOW, $HauptGUI)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_MAXIMIZE, $HauptGUI)
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_Close
Exit
Case $TV
Case $DVD
Case $Aufnahmen
Case $Musik
Case $Bluray
Case $Einstellungen ;Aufruf Einstellungen
Case $Beenden ;Aufruf Beenden
Case $Exit
Exit
EndSwitch
_HauptReset(ControlGetFocus('', ''))
WEndFunc _HauptReset($Button) ;Grundfunktion von Oscar http://www.autoit.de
[/autoit]
If $Button <> $last_focus Then
Local $aID = StringSplit('tv,dvd,aufnahmen,internet,musik,bluray,einstellungen,beenden,exit', ',')
Local $aButton = StringSplit('button1,button2,button3,button4,button5,button6,button7,button8,button9', ',')
Local $Farbe = 0x4169E1, $Fokusfarbe = 0x00BFFF
GUICtrlSetBkColor(Eval($aID[StringTrimLeft($last_focus, 6)]), $Farbe)
GUICtrlSetBkColor(Eval($aID[StringTrimLeft($Button, 6)]), $Fokusfarbe)
$last_focus = $Button
EndIf
EndFunc ;==>_HauptReset -
ROT13 ist ein denkbar schlechter Algorithmus. Er rotiert jeden Buchstaben lediglich um 13 Plätze (darum ROT13) in der ASCII-Tabelle. Das kann jeder innerhalb von Sekunden rückgängig machen.
XOR mit einem langen und guten (Groß-/Kleinschreibung, Zahl, Sonderzeichen) Passwort hingegen erfordert schon sehr viel mehr Aufwand. Wenn Du das Passwort geheim hälst ist die Methode relativ sicher.
-
Einen XOR-Algo habe ich auch mal geschrieben: Datei Verschlüsselung
Für komplexere Algorithmen ist AutoIt IMHO nicht schnell genug. Da solltest Du lieber auf externe Programme ausweichen und die dann automatisieren.
-
So sollte es auch gehen:
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>GUICreate("My GUI", 640, 480, -1, -1, BitOr($WS_MAXIMIZE, $WS_MAXIMIZEBOX))
[/autoit]
GUISetState(@SW_SHOW)
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSEWichtig ist, dass man zusätzlich zu $WS_MAXIMIZE auch $WS_MAXIMIZEBOX angibt.
-
Man benutzt dann ein zweidimensionales Array (z.B. $test[1][3]). Die Zuweisung erfolgt dann folgendermaßen:
Dim $test[1][3]
$test[0][0] = Name1
$test[0][1] = Adresse1
$test[0][2] = Telefonnummer1Willst Du weitere Einträge zu dem Array hinzufügen machst Du ein ReDim:
ReDim $test[2][3]
und kannst dann dem neuen Array-Element Werte zuweisen:
$test[1][0] = Name2
$test[1][1] = Adresse2
$test[1][2] = Telefonnummer2Wenn Du einen Datensatz auslesen willst, benutzt Du eine For...Next-Schleife:
For $i = 0 To 2
MsgBox(0,0, $test[0][$i])
NextBeachten musst Du, dass Arrays immer mit Null beginnen. Wenn Du ein Array deklarierst z.B. mit Dim $test[2], dann hat das Array zwei Elemente (0 und 1) .
Edit: Da waren welche schneller.

-
Ein bißchen viel FileOpen und FileClose. So sieht's übersichtlicher aus:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, "Tastaturkürzel", "Mit STRG+S werden die Koordinaten in der Textdatei gespeichert." & @CRLF & "Mit STRG+D wird der Inhalt der Textdatei gelöscht")HotKeySet("{esc}", "ende")
[/autoit] [autoit][/autoit] [autoit]
HotKeySet("^s", "save")
HotKeySet("^d", "delete")While 1 ;eigentliche schleife die die Koordinaten abliest und anzeigt
[/autoit] [autoit][/autoit] [autoit]
$pos = MouseGetPos()
ToolTip($pos[0] & ", " & $pos[1], 0, 0)
Sleep(20)
WEndFunc save() ;speichert die Koordinaten
[/autoit] [autoit][/autoit] [autoit]
$file = FileOpen("coords.txt", 1)
If $file = -1 Then Exit MsgBox(0, 'Maus-Koordinaten', 'Datei konnte nicht geöffnet werden!') ;überprüft ob die Datei schon vorhanden ist
FileWrite($file, $pos[0] & ", " & $pos[1] & @CRLF)
FileClose($file)
EndFunc ;==>saveFunc delete() ;löscht den Inhalt der Textdatei
[/autoit] [autoit][/autoit] [autoit]
FileDelete("coords.txt")
EndFunc ;==>deleteFunc ende() ; logischerweise: Ende xD
[/autoit]
Exit
EndFunc ;==>ende -
Beispiel:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>Opt('MustDeclareVars', 1)
[/autoit] [autoit][/autoit] [autoit]Example1()
[/autoit] [autoit][/autoit] [autoit]; example 1
[/autoit] [autoit][/autoit] [autoit]
Func Example1()
Local $msgGUICreate("My GUI", 640, 480, -1, -1, $WS_POPUP)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel('', 0, 0, 640, 480, 0, $GUI_WS_EX_PARENTDRAG)
GUISetState(@SW_SHOW)While 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()If $msg = $GUI_EVENT_CLOSE Then ExitLoop
[/autoit]
WEnd
GUIDelete()
EndFunc ;==>Example1 -
Oder wenn Du das für ein Combo-Feld haben willst:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include<ComboConstants.au3>
#include<GUIConstantsEx.au3>$sDrivesFree = _DriveLetterFree()
[/autoit] [autoit][/autoit] [autoit]
$sFirstDrive = StringLeft($sDrivesFree, 3)GUICreate('Test')
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateCombo('', 32, 32, 64, 25, $CBS_DROPDOWNLIST)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetFont(-1, 16, 600, 0, 'Arial')
GUICtrlSetData(-1, $sDrivesFree, $sFirstDrive)GUISetState()
[/autoit] [autoit][/autoit] [autoit]Do
[/autoit] [autoit][/autoit] [autoit]
Until GUIGetMsg() = $GUI_EVENT_CLOSEFunc _DriveLetterFree()
[/autoit]
Local $i, $v, $j, $letters, $aAllDrives = DriveGetDrive('ALL')
For $i = 67 To 90 ; Buchstaben 'C' bis 'Z' durchgehen
$v = True
For $j = 1 To $aAllDrives[0] ; Alle belegten Buchstaben
If Chr($i) & ':' = $aAllDrives[$j] Then ; Buchstabe ist nicht frei
$v = False ; dann kennzeichnen
ExitLoop ; und For $j - Schleife verlassen
EndIf
Next
If $v Then $letters &= Chr($i) & ':\|' ; War der Buchstabe noch frei, dann in die Liste übernehmen
Next
Return StringTrimRight($letters, 1)
EndFunc -
Was dagegen wenn ich die Funktionen so einfach abschreibe und anpasse?
Habe ich doch für Dich geschrieben!
Bau es weiter aus, pass es an, ganz wie Du es haben willst. -
Dann vielleicht so:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>;;;;;;;;;;;;;;;;;;;; Haupt-Menü Variablen
[/autoit] [autoit][/autoit] [autoit]
Opt("GUICoordMode", 1)
Global $last_focus = -1
Global $HauptGUI = GUICreate("HTPC", 400, 800, -1, -1, BitOR($WS_POPUP, $WS_BORDER, $WS_CLIPSIBLINGS))
GUICtrlSetState(-1, $GUI_DISABLE);;;;;;;;;;;;;;;;;;;;;;Buttons;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[/autoit] [autoit][/autoit] [autoit]
Dim $L = 100 ; Buttonleft
Dim $W = 200 ; Buttonwidth
Dim $H = 60; Buttonheight
Dim $F = GUISetFont(18, 800, 0, "MS Sans Serif") ;Schrift der ButtonsGlobal $TV = GUICtrlCreateButton("TV", $L, 8, $W, $H, -1, $WS_EX_STATICEDGE)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $DVD = GUICtrlCreateButton("DVD", $L, 88, $W, $H, -1, $WS_EX_STATICEDGE)
Global $Aufnahmen = GUICtrlCreateButton("Aufnahmen", $L, 168, $W, $H, -1, $WS_EX_STATICEDGE)
Global $Internet = GUICtrlCreateButton("Internet", $L, 248, $W, $H, -1, $WS_EX_STATICEDGE)
Global $Musik = GUICtrlCreateButton("Musik/Bilder", $L, 328, $W, $H, -1, $WS_EX_STATICEDGE)
Global $Bluray = GUICtrlCreateButton("Bluray", $L, 408, $W, $H, -1, $WS_EX_STATICEDGE)
Global $Einstellungen = GUICtrlCreateButton("Einstellungen", $L, 488, $W, $H, -1, $WS_EX_STATICEDGE)
Global $Beenden = GUICtrlCreateButton("Beenden", $L, 568, $W, $H, -1, $WS_EX_STATICEDGE)
Global $Exit = GUICtrlCreateButton("exit", $L, 648, $W, $H, -1, $WS_EX_STATICEDGE)GUISetState(@SW_SHOW, $HauptGUI)
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_MAXIMIZE, $HauptGUI)
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_Close
Exit
Case $TV
_HauptReset($TV)
Case $DVD
_HauptReset($DVD)
Case $Aufnahmen
_HauptReset($Aufnahmen)
Case $Internet
_HauptReset($Internet)
Case $Musik
_HauptReset($Musik)
Case $Bluray
_HauptReset($Bluray)
Case $Einstellungen ;Aufruf Einstellungen
_HauptReset($Einstellungen)
Case $Beenden ;Aufruf Beenden
_HauptReset($Beenden)
Case $Exit
Exit
EndSwitch
_FokusReset(ControlGetFocus('',''))
WEndFunc _FokusReset($Button)
[/autoit] [autoit][/autoit] [autoit]
If $Button <> $last_focus Then
$last_focus = $Button
Local $FarbeNorm = 0x000080, $FarbeMark = 0x6189F1, $FarbeTeil = 0x1139b1
Local $aID = StringSplit('tv,dvd,aufnahmen,internet,musik,bluray,einstellungen,beenden,exit', ',')
Local $aButton = StringSplit('button1,button2,button3,button4,button5,button6,button7,button8,button9', ',')
For $i = 1 To $aID[0]
GUICtrlSetBkColor(Eval($aID[$i]), $FarbeNorm)
Next
For $i = 1 To $aID[0]
If $aButton[$i] = $Button Then
If $i > 1 Then GUICtrlSetBkColor(Eval($aID[$i-1]), $FarbeTeil)
GUICtrlSetBkColor(Eval($aID[$i]), $FarbeMark)
If $i < $aID[0] Then GUICtrlSetBkColor(Eval($aID[$i+1]), $FarbeTeil)
EndIf
Next
EndIf
EndFuncFunc _HauptReset($ID)
[/autoit]
Local $FarbeNorm = 0x000080, $FarbeMark = 0xFFFF44, $FarbeTeil = 0x1139b1
Local $aID = StringSplit('tv,dvd,aufnahmen,internet,musik,bluray,einstellungen,beenden,exit', ',')
For $i = 1 To $aID[0]
GUICtrlSetBkColor(Eval($aID[$i]), $FarbeNorm)
Next
For $i = 1 To $aID[0]
If Eval($aID[$i]) = $ID Then
If $i > 1 Then GUICtrlSetBkColor(Eval($aID[$i-1]), $FarbeTeil)
GUICtrlSetBkColor(Eval($aID[$i]), $FarbeMark)
If $i < $aID[0] Then GUICtrlSetBkColor(Eval($aID[$i+1]), $FarbeTeil)
EndIf
Next
EndFunc -
Verstehe ich jetzt nicht so ganz. Das Script macht doch genau das von Dir gewollte (Button mit Fokus ist hellblau, Rest dunkelblau)?!
Oder willst Du einen Hover-Effekt (Mauszeiger über den Button)? -
Ich habe Dein Script mal einfacher gestaltet:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>;;;;;;;;;;;;;;;;;;;; Haupt-Menü Variablen
[/autoit] [autoit][/autoit] [autoit]
Opt("GUICoordMode", 1)
Global $last_focus = -1
Global $HauptGUI = GUICreate("HTPC", 400, 800, -1, -1, BitOR($WS_POPUP, $WS_BORDER, $WS_CLIPSIBLINGS))
GUICtrlSetState(-1, $GUI_DISABLE);;;;;;;;;;;;;;;;;;;;;;Buttons;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[/autoit] [autoit][/autoit] [autoit]
Dim $L = 100 ; Buttonleft
Dim $W = 200 ; Buttonwidth
Dim $H = 60; Buttonheight
Dim $F = GUISetFont(18, 800, 0, "MS Sans Serif") ;Schrift der ButtonsGlobal $TV = GUICtrlCreateButton("TV", $L, 8, $W, $H, -1, $WS_EX_STATICEDGE)
[/autoit] [autoit][/autoit] [autoit]
Global $DVD = GUICtrlCreateButton("DVD", $L, 88, $W, $H, -1, $WS_EX_STATICEDGE)
Global $Aufnahmen = GUICtrlCreateButton("Aufnahmen", $L, 168, $W, $H, -1, $WS_EX_STATICEDGE)
Global $Internet = GUICtrlCreateButton("Internet", $L, 248, $W, $H, -1, $WS_EX_STATICEDGE)
Global $Musik = GUICtrlCreateButton("Musik/Bilder", $L, 328, $W, $H, -1, $WS_EX_STATICEDGE)
Global $Bluray = GUICtrlCreateButton("Bluray", $L, 408, $W, $H, -1, $WS_EX_STATICEDGE)
Global $Einstellungen = GUICtrlCreateButton("Einstellungen", $L, 488, $W, $H, -1, $WS_EX_STATICEDGE)
Global $Beenden = GUICtrlCreateButton("Beenden", $L, 568, $W, $H, -1, $WS_EX_STATICEDGE)
Global $Exit = GUICtrlCreateButton("exit", $L, 648, $W, $H, -1, $WS_EX_STATICEDGE)_HauptReset($Internet)
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW, $HauptGUI)
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_MAXIMIZE, $HauptGUI)
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_Close
Exit
Case $TV
_HauptReset($TV)
Case $DVD
_HauptReset($DVD)
Case $Aufnahmen
_HauptReset($Aufnahmen)
Case $Internet
_HauptReset($Internet)
Case $Musik
_HauptReset($Musik)
Case $Bluray
_HauptReset($Bluray)
Case $Einstellungen ;Aufruf Einstellungen
_HauptReset($Einstellungen)
Case $Beenden ;Aufruf Beenden
_HauptReset($Beenden)
Case $Exit
Exit
EndSwitch
WEndFunc _HauptReset($ID)
[/autoit]
Local $FarbeNorm = 0x000080, $FarbeMark = 0x4169E1
Local $aID = StringSplit('tv,dvd,aufnahmen,internet,musik,bluray,einstellungen,beenden,exit', ',')
For $i = 1 To $aID[0]
If Eval($aID[$i]) = $ID Then
GUICtrlSetBkColor(Eval($aID[$i]), $FarbeMark)
Else
GUICtrlSetBkColor(Eval($aID[$i]), $FarbeNorm)
EndIf
Next
EndFunc