Hi, ich hab nen Problem und zwar: Ich hab nen FileopenDialog, mit dem eine Datei ausgewählt wird und danach wird das ganze über Springsplit geteilt, sodass nurnoch der Dateiname übrig bleibt.
Danach wird das ganze über GuiCtrlSetData eingetragen. Wenn ich das ganze nun in meine Datei über Filewriteline schreibe, bleibt der alte eintrag erhalten z.B. früher stand in der Datei lang.lng dann sollte der eintrag ger.lng aus der InputBox geschrieben werden, leider bleibt in der Datei trozdem lang.lng stehen.
Woran kann das liegen? Ohne StringSplit gehts auch nicht. Meine überlegung ist, das Der FileOpenDialog nicht richtig übernommen wird
PS: Arbeite eig viel mit Filewriteline und das Prob is das erste mal.
PPS: Hier is der Code
Spoiler anzeigen
#include
#notrayicon
global $minVal = 10, $maxVal = 255
GUISetState()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("Settings", 218, 480, 193, 125)
$Group1 = GUICtrlCreateGroup("Tasten", 8, 8, 201, 297)
$Input1 = GUICtrlCreateInput(FIlereadline("Settings.conf", 2), 16, 32, 89, 21)
$Input2 = GUICtrlCreateInput(FIlereadline("Settings.conf", 3), 16, 56, 89, 21)
$Input3 = GUICtrlCreateInput(FIlereadline("Settings.conf", 4), 16, 80, 89, 21)
$Input4 = GUICtrlCreateInput(FIlereadline("Settings.conf", 5), 16, 104, 89, 21)
$Input5 = GUICtrlCreateInput(FIlereadline("Settings.conf", 6), 16, 128, 89, 21)
$Input6 = GUICtrlCreateInput(FIlereadline("Settings.conf", 7), 16, 152, 89, 21)
$Input7 = GUICtrlCreateInput(FIlereadline("Settings.conf", 8), 16, 176, 89, 21)
$Input8 = GUICtrlCreateInput(FIlereadline("Settings.conf", 9), 16, 200, 89, 21)
$Input9 = GUICtrlCreateInput(FIlereadline("Settings.conf", 10), 16, 224, 89, 21)
$Input10 = GUICtrlCreateInput(FIlereadline("Settings.conf", 11), 16, 248, 89, 21)
$Input11 = GUICtrlCreateInput(FIlereadline("Settings.conf", 12), 16, 272, 89, 21)
$Label1 = GUICtrlCreateLabel("lauter", 112, 40, 30, 17)
$Label2 = GUICtrlCreateLabel("leiser", 112, 64, 28, 17)
$Label3 = GUICtrlCreateLabel("lautlos", 112, 88, 34, 17)
$Label4 = GUICtrlCreateLabel("Play", 112, 112, 24, 17)
$Label5 = GUICtrlCreateLabel("Stop", 112, 136, 26, 17)
$Label6 = GUICtrlCreateLabel("Pause", 112, 160, 34, 17)
$Label7 = GUICtrlCreateLabel("Datei öffnen", 112, 184, 62, 17)
$Label8 = GUICtrlCreateLabel("Radio", 112, 208, 32, 17)
$Label9 = GUICtrlCreateLabel("Youtube", 112, 232, 44, 17)
$Label10 = GUICtrlCreateLabel("unsichtbar", 112, 256, 53, 17)
$Label11 = GUICtrlCreateLabel("sichtbar s.u.", 112, 280, 63, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("Sprache", 8, 310, 201, 65)
$lang = GuictrlcreateInput(Filereadline("Settings.conf", 16), 14, 335, 89, 21)
$select = GuictrlcreateButton("Auswählen", 112, 335, 75, 21, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("Sichtbarkeit", 8, 380, 201, 65)
$visible = GUICtrlCreateInput(Filereadline("Settings.conf", 14), 16, 405, 89, 21)
$Label12 = GUICtrlCreateLabel("zwischen 10 - 255", 112, 413, 90, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("Abbrechen", 8, 450, 75, 25, 0)
$Button2 = GUICtrlCreateButton("Speichern", 134, 450, 75, 25, 0)
GUICtrlSetLimit(-1, 3, 2)
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $select
$sprache = FileOpenDialog("SprachDatei", @Scriptdir & "/", "SprachDateien (*.lng; *.lang)")
$split = StringSplit($sprache, "\")
$lng = Guictrlsetdata($lang, $split[$split[0]])
Case $GUI_EVENT_CLOSE
Dim $iMsgBoxAnswer
$iMsgBoxAnswer = MsgBox(36,"Speichern?","Möchten Sie die Änderungen speichern? Wenn nicht, gehen sie verloren.")
Select
Case $iMsgBoxAnswer = 6 ;Yes
$read = GUICtrlRead($visible)
If $read < $minVal Or $read > $maxVal Then
MSGBox(-1, "Zahl außer Reichweite", "Die eingegebene Zahl ist außer Reichweite, bitte geben Sie eine Zahl zwischen 10 und 255 ein!")
Else
Filedelete("settings.conf")
FilewriteLine("Settings.conf", "[Hotkey´s]" & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input1) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input2) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input3) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input4) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input5) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input6) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input7) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input8) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input9) & @CRLF)
Filewriteline("Settings.conf", Guictrlread($Input10) & @CRLF)
Filewriteline("Settings.conf", Guictrlread($Input11) & @CRLF)
FilewriteLine("Settings.conf", "[Visible]" & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Visible) & @CRLF)
FilewriteLine("Settings.conf", "[lang]" & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($lang)) & @CRLF)
WinSetTrans("NextGenPlayer", "", Filereadline("Settings.conf", 14))
EndIf
Case $iMsgBoxAnswer = 7 ;No
Exit
EndSelect
Case $BUtton2
$read = GUICtrlRead($visible)
If $read < $minVal Or $read > $maxVal Then
MSGBox(-1, "Zahl außer Reichweite", "Die eingegebene Zahl ist außer Reichweite, bitte geben Sie eine Zahl zwischen 10 und 255 ein!")
Else
Filedelete("settings.conf")
FilewriteLine("Settings.conf", "[Hotkey´s]" & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input1) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input2) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input3) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input4) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input5) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input6) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input7) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input8) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input9) & @CRLF)
Filewriteline("Settings.conf", Guictrlread($Input10) & @CRLF)
Filewriteline("Settings.conf", Guictrlread($Input11) & @CRLF)
FilewriteLine("Settings.conf", "[Visible]" & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Visible) & @CRLF)
FilewriteLine("Settings.conf", "[lang]" & @CRLF)
FilewriteLine("Settings.conf", GuictrlRead($lang) & @CRLF)
WinSetTrans("NextGenPlayer", "", Filereadline("Settings.conf", 14))
EndIf
Exit
Case $Button1
Dim $iMsgBoxAnswer
$iMsgBoxAnswer = MsgBox(36,"Speichern?","Möchten Sie die änderungen speichern? Wenn nicht, gehen sie verloren.")
Select
Case $iMsgBoxAnswer = 6 ;Yes
$read = GUICtrlRead($visible)
If $read < $minVal Or $read > $maxVal Then
MsgBox(64,"Zahl inkorrekt","Die Zahl darf nur zwischen 10 und 255 sein! " & @CRLF & "Bitte geben Sie eine Andere ein.")
Else
Filedelete("settings.conf")
FilewriteLine("Settings.conf", "[Hotkey´s]" & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input1) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input2) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input3) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input4) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input5) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input6) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input7) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input8) & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Input9) & @CRLF)
Filewriteline("Settings.conf", Guictrlread($Input10) & @CRLF)
Filewriteline("Settings.conf", Guictrlread($Input11) & @CRLF)
FilewriteLine("Settings.conf", "[Visible]" & @CRLF)
FilewriteLine("Settings.conf", Guictrlread($Visible) & @CRLF)
FilewriteLine("Settings.conf", "[lang]" & @CRLF)
FilewriteLine("Settings.conf", GuiCtrlRead($lang) & @CRLF)
WinSetTrans("NextGenPlayer", "", Filereadline("Settings.conf", 14))
Exit
EndIf
Case $iMsgBoxAnswer = 7 ;No
Exit
EndSelect
;Exit
EndSwitch
WEnd