Hi zusamm
Ich mach hier mal nen neuen Thread dazu auf, da es sonst im alten zu unbersichtlich wird.
Also es geht um flgendes script:
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <IE.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
#include <ListBoxConstants.au3>
#include <File.au3>
_Start ()
Func _Start ()
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Web-Helfer", 638, 441, 166, 122)
$List1 = GUICtrlCreateList("", 16, 72, 225, 292, BitOR($LBS_SORT,$LBS_STANDARD,$LBS_EXTENDEDSEL,$WS_VSCROLL,$WS_BORDER))
GUICtrlSetData(-1, "www.autoit.de")
GUICtrlCreateLabel("Web-Helfer 1.0", 8, 0, 229, 41)
GUICtrlSetFont(-1, 24, 800, 4, "Arial")
GUICtrlSetColor(-1, 0x0000FF)
$Input1 = GUICtrlCreateInput("", 264, 96, 353, 21)
GUICtrlCreateLabel("Seite eingeben:", 264, 72, 105, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlCreateLabel("Version 1.0", 568, 416, 57, 17)
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlCreateLabel("Made by:", 8, 416, 202, 17)
GUICtrlSetColor(-1, 0x0000FF)
$Button1 = GUICtrlCreateButton("Web-Seite hinzufügen", 264, 120, 137, 25, 0)
$Button2 = GUICtrlCreateButton("Ausgewählte Seite öffnen", 264, 200, 137, 25, 0)
$Button3 = GUICtrlCreateButton("Seite sofort öffnen", 264, 280, 137, 25, 0)
$Button5 = GUICtrlCreateButton("Liste Laden", 408, 344, 129, 25, 0)
$Button6 = GUICtrlCreateButton("Eintrag löschen", 72, 376, 89, 25, 0)
GUICtrlCreateLabel("Fügt die eingegebene Seite", 264, 152, 134, 17)
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlCreateLabel("der Liste hinzu.", 264, 168, 75, 17)
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlCreateLabel("Öffnet die Seite sofort.", 264, 312, 109, 17)
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlCreateLabel("Öffnet die in der Liste", 264, 232, 104, 17)
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlCreateLabel("ausgewählte Seite.", 264, 248, 94, 17)
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlCreateGroup("Liste", 8, 48, 241, 361)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup("Seite hinzufügen / öffnen", 256, 48, 369, 361)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)
$Button4 = GUICtrlCreateButton("Speichern", 264, 344, 137, 25, 0)
GUICtrlCreateLabel("Speichert die Liste ab.", 264, 376, 109, 17)
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlCreateLabel("Läd die Liste", 408, 376, 64, 17)
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button7 = GUICtrlCreateButton("Optionen", 456, 416, 105, 17, 0)
GUISetState(@SW_SHOW, $Form1)
#EndRegion ### END Koda GUI section ###
FileOpen (@ScriptDir & "\Data\Settings\Settings.dat", 0)
$AutoSaveRead = FileReadLine (@ScriptDir & "\Data\Settings\Settings.dat", 4)
If $AutoSaveRead = "AutoLoad = True" Then
GUICtrlSetData ($List1, "")
$FileRead = FileRead (@ScriptDir & "\Data\SiteList\SiteList.dat")
GUICtrlSetData ($List1, $FileRead)
EndIf
While 1
$aMsg = GUIGetMsg()
Switch $aMsg
Case $GUI_EVENT_CLOSE
FileOpen (@ScriptDir & "\Data\Settings\Settings.dat", 0)
$AutoSaveRead = FileReadLine (@ScriptDir & "\Data\Settings\Settings.dat", 1)
If $AutoSaveRead = "AutoSave = True" Then
FileOpen (@ScriptDir & "\Data\SiteList\SiteList.dat", 2)
$List1Count = _GUICtrlListBox_GetCount ($List1)
For $i = 0 To $List1Count
FileWrite (@ScriptDir & "\Data\SiteList\SiteList.dat", _GUICtrlListBox_GetText ($List1, $i) & "|")
Next
EndIf
FileOpen (@ScriptDir & "\Data\Settings\Settings.dat", 0)
$AutoSaveRead = FileReadLine (@ScriptDir & "\Data\Settings\Settings.dat", 3)
If $AutoSaveRead = "EndQuest = True" Then
$MsgBox1 = MsgBox (4+32, "Beenden", "Soll das Programm wirklich beendet werden?")
If $MsgBox1 = 6 Then
Exit
EndIf
Else
Exit
EndIf
Case $Button1
$Input1Read = GUICtrlRead ($Input1)
GUICtrlSetData ($List1, $Input1Read)
GUICtrlSetData ($Input1, "")
FileOpen (@ScriptDir & "\Data\Settings\Settings.dat", 0)
$AutoSaveRead = FileReadLine (@ScriptDir & "\Data\Settings\Settings.dat", 2)
If $AutoSaveRead = "NewSiteOpen = True" Then
_IECreate ($Input1Read)
EndIf
Case $Button2
$List1Read = GUICtrlRead ($List1)
_IECreate ($List1Read)
Case $Button3
$List1Read = GUICtrlRead ($List1)
_IECreate ($Input1Read)
Case $Button4
FileOpen (@ScriptDir & "\Data\SiteList\SiteList.dat", 2)
$List1Count = _GUICtrlListBox_GetCount ($List1)
For $i = 0 To $List1Count
FileWrite (@ScriptDir & "\Data\SiteList\SiteList.dat", _GUICtrlListBox_GetText ($List1, $i) & "|")
Next
Case $Button6
$List1CurSel = _GUICtrlListBox_GetCurSel ($List1)
_GUICtrlListBox_DeleteString ($List1, $List1CurSel)
Case $Button5
GUICtrlSetData ($List1, "")
$FileRead = FileRead (@ScriptDir & "\Data\SiteList\SiteList.dat")
GUICtrlSetData ($List1, $FileRead)
Case $Button7
_Opt ()
EndSwitch
WEnd
EndFunc ;==> _Start
Func _Opt ()
#Region ### START Koda GUI section ###
$Form2 = GUICreate("Optionen", 237, 380, 812, 123)
GUICtrlCreateGroup("Optionen", 11, 7, 209, 361)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Checkbox1 = GUICtrlCreateCheckbox("Automatisch speichern", 18, 47, 145, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlCreateLabel("Optionen:", 18, 23, 66, 20)
GUICtrlSetFont(-1, 10, 800, 0, "Arial")
GUICtrlSetColor(-1, 0x0000FF)
$Checkbox2 = GUICtrlCreateCheckbox("Neue Seite sofort öffnen", 18, 79, 200, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Checkbox3 = GUICtrlCreateCheckbox("Beenden abfragen *", 18, 111, 137, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$Checkbox4 = GUICtrlCreateCheckbox("Automatisch Laden", 18, 143, 177, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUICtrlCreateLabel("* Fragt, ob wirklich beendet", 18, 327, 133, 17)
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlCreateLabel("werden soll, oder nicht.", 26, 343, 113, 17)
GUICtrlSetColor(-1, 0x0000FF)
$Button1 = GUICtrlCreateButton("Übernehmen", 16, 296, 105, 25, 0)
GUISetState(@SW_SHOW, $Form2)
#EndRegion ### END Koda GUI section ###
; Checkboxen Check ==> Start
; Checkbox1
FileOpen (@ScriptDir & "\Data\Settings\Settings.dat", 0)
$SettRead1 = FileReadLine (@ScriptDir & "\Data\Settings\Settings.dat", 1)
$SettRead2 = FileReadLine (@ScriptDir & "\Data\Settings\Settings.dat", 2)
$SettRead3 = FileReadLine (@ScriptDir & "\Data\Settings\Settings.dat", 3)
$SettRead4 = FileReadLine (@ScriptDir & "\Data\Settings\Settings.dat", 4)
If $SettRead1 = "AutoSave = True" Then
GUICtrlSetState ($Checkbox1, $GUI_CHECKED)
ElseIf $SettRead1 = "AutoSave = False" Then
GUICtrlSetState ($Checkbox1, $GUI_UNCHECKED)
EndIf
; Checkbox2
If $SettRead2 = "NewSiteOpen = True" Then
GUICtrlSetState ($Checkbox2, $GUI_CHECKED)
ElseIf $SettRead2 = "NewSiteOpen = False" Then
GUICtrlSetState ($Checkbox2, $GUI_UNCHECKED)
EndIf
; Checkbox3
If $SettRead3 = "EndQuest = True" Then
GUICtrlSetState ($Checkbox3, $GUI_CHECKED)
ElseIf $SettRead3 = "EndQuest = False" Then
GUICtrlSetState ($Checkbox3, $GUI_UNCHECKED)
EndIf
; Checkbox4
If $SettRead4 = "AutoLoad = True" Then
GUICtrlSetState ($Checkbox4, $GUI_CHECKED)
ElseIf $SettRead4 = "AutoLoad = False" Then
GUICtrlSetState ($Checkbox4, $GUI_UNCHECKED)
EndIf
; Checkbox Check ==> End
While 1
$bMsg = GUIGetMsg()
Switch $bMsg
Case $GUI_EVENT_CLOSE
GUISetState (@SW_HIDE, $Form2)
ExitLoop
Case $Button1
$Check1Read = GUICtrlRead ($Checkbox1)
$Check2Read = GUICtrlRead ($Checkbox2)
$Check3Read = GUICtrlRead ($Checkbox3)
$Check4Read = GUICtrlRead ($Checkbox4)
FileOpen (@ScriptDir & "\Data\Settings\Settings.dat", 2)
If $Check1Read = $GUI_CHECKED Then
FileWriteLine (@ScriptDir & "\Data\Settings\Settings.dat", "AutoSave = True")
Else
FileWriteLine (@ScriptDir & "\Data\Settings\Settings.dat", "AutoSave = False")
EndIf
; ---
If $Check2Read = $GUI_CHECKED Then
FileWriteLine (@ScriptDir & "\Data\Settings\Settings.dat", "NewSiteOpen = True")
Else
FileWriteLine (@ScriptDir & "\Data\Settings\Settings.dat", "NewSiteOpen = False")
EndIf
; ---
If $Check3Read = $GUI_CHECKED Then
FileWriteLine (@ScriptDir & "\Data\Settings\Settings.dat", "EndQuest = True")
Else
FileWriteLine (@ScriptDir & "\Data\Settings\Settings.dat", "EndQuest = False")
EndIf
; ---
If $Check4Read = $GUI_CHECKED Then
FileWriteLine (@ScriptDir & "\Data\Settings\Settings.dat", "AutoLoad = True")
Else
FileWriteLine (@ScriptDir & "\Data\Settings\Settings.dat", "AutoLoad = False")
EndIf
; ---
EndSwitch
WEnd
EndFunc ;==> _Opt
So, hier habe ich folgendes Problem/Probleme:
Problem #1:
Wenn ich ddie Liste abspeichere, dann wird zu dem normalen Inhalt noch eine 0 hinten dran gehängt.
Es geht dabei um diese Zeilen:
FileOpen (@ScriptDir & "\Data\SiteList\SiteList.dat", 2)
$List1Count = _GUICtrlListBox_GetCount ($List1)
For $i = 0 To $List1Count
FileWrite (@ScriptDir & "\Data\SiteList\SiteList.dat", _GUICtrlListBox_GetText ($List1, $i) & "|")
Next
Problem #2:
Dieses liegt wohl i.wo in den folgenden Zeilen:
FileOpen (@ScriptDir & "\Data\Settings\Settings.dat", 0)
$AutoSaveRead = FileReadLine (@ScriptDir & "\Data\Settings\Settings.dat", 4)
If $AutoSaveRead = "AutoLoad = True" Then
GUICtrlSetData ($List1, "")
$FileRead = FileRead (@ScriptDir & "\Data\SiteList\SiteList.dat")
GUICtrlSetData ($List1, $FileRead)
EndIf
Hier wird nach dem Start des Programms überprüft, ob in der Datei Settings.dat der eintrag "AutoLoad = True" steht.
Wenn ja, wird die List sofort nach dem Start des Programms geladen.
Nun wird aber immer der erste eintrag in der Liste 2 mal geladen.
Ihr könnts ja mal selbst testen, dann versteht ihr vllt was ich mein ![]()
Also, wäre wirklich super, wenn mir da einer weiter helfen könnte.
Mfg