Huhu Leute, ich bin grad dabei mir einfaches GUI zu schreiben.
So soll es am Ende aussehen:
[Blockierte Grafik: http://img5.imagebanana.com/img/e4fn2a2/Unbenannt.JPG]
Das Problem an meinem Script:
Sobald ein neuer Punkt im DropDown Menü ausgewählt wird, aktualisiert sich die infobox nicht.
D.h. wenn ich vorher bei ICQ den Pfad über Durchsuchen eintragen lassen hab und dann auf MSN wechseln, steht dort der ICQ pfad.
[in der ini ist er richtig, nur in der anzeige falsch]
Außerdem wird der pfad z.B. zu ICQ gelöscht, wenn ich auf durchsuchen klicke, während im drop down menü icq ausgewählt ist, und ich das FileOpenDialog fenster einfach per [X] beende, anstatt die exe korrekt auszuwählen.
Spoiler anzeigen
#include <GUIConstants.au3>
$icq = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "ICQ", "icq-path", "Error")
$msn = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "MSN", "msn-path", "Error")
$skype = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "SKYPE", "skype-path", "Error")
$firefox = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "FIREFOX", "firefox-path", "Error")
$winamp = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "WINAMP", "winamp-path", "Error")
$pfad = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "ICQ", "icq-path", "Error")
$run = $icq
$i = 1
GUICreate("Dennis's Toolbox",370,100)
Opt("GUICoordMode",2)
$hCombo = GUICtrlCreateCombo ("ICQ", 10,10,100,25,0x0003)
GUICtrlSetData($hCombo,"MSN|Skype|Firefox|Winamp","ICQ")
$Button_1 = GUICtrlCreateButton ("Run", 10, -27, 50,25)
$infobox = GUICtrlCreateInput($run, -160, 10, 350, 20)
$Button_2 = GUICtrlCreateButton ("Durchsuchen", -1, 5,100,25)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $Button_1
$icq = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "ICQ", "icq-path", "")
$msn = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "MSN", "msn-path", "")
$skype = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "SKYPE", "skype-path", "")
$firefox = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "FIREFOX", "firefox-path", "")
$winamp = IniRead("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "WINAMP", "winamp-path", "")
If GUICtrlRead($hCombo) = "ICQ" Then
$run = $icq
ElseIf GUICtrlRead($hCombo) = "MSN" Then
$run = $msn
ElseIf GUICtrlRead($hCombo) = "Skype" Then
$run = $skype
ElseIf GUICtrlRead($hCombo) = "Firefox" Then
$run = $firefox
ElseIf GUICtrlRead($hCombo) = "Winamp" Then
$run = $winamp
EndIf
Run($run)
Case $msg = $Button_2
If GUICtrlRead($hCombo) = "ICQ" Then
$name = "ICQ"
ElseIf GUICtrlRead($hCombo) = "MSN" Then
$name = "MSN"
ElseIf GUICtrlRead($hCombo) = "Skype" Then
$name = "Skype"
ElseIf GUICtrlRead($hCombo) = "Firefox" Then
$name = "FireFox"
ElseIf GUICtrlRead($hCombo) = "Winamp" Then
$name = "Winamp"
EndIf
$pfad = FileOpenDialog ( "Pfad zur "&$name&".exe auswählen", "C:\", "ausführbare Dateien (*.exe)" , 3 , $name & ".exe")
If GUICtrlRead($hCombo) = "ICQ" Then
if not @error then IniWrite("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "ICQ", "icq-path", $pfad)
ElseIf GUICtrlRead($hCombo) = "MSN" Then
if not @error then IniWrite("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "MSN", "msn-path", $pfad)
ElseIf GUICtrlRead($hCombo) = "Skype" Then
if not @error then IniWrite("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "SKYPE", "skype-path", $pfad)
ElseIf GUICtrlRead($hCombo) = "Firefox" Then
if not @error then IniWrite("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "FIREFOX", "firefox-path", $pfad)
ElseIf GUICtrlRead($hCombo) = "Winamp" Then
if not @error then IniWrite("C:\Dokumente und Einstellungen\Dennis\Desktop\dennis.ini", "WINAMP", "winamp-path", $pfad)
EndIf
if not @error then GUICtrlSetData($infobox,$pfad)
EndSelect
WEnd