Hallo com,
Habe einen button, wenn man auf diesen klickt kommt ein neuer GUI und dort gibt man einen Link an.
Dann auf bestätigen und der GUI verschwindet wieder.
Das Problem ist nur, wenn ich einen Link hinzugefügt habe, funktioniert der Abbrechen Button nicht mehr. Nur ich weis nicht wieso
HIer der Code:
Spoiler anzeigen
#include <GUIConstants.au3>
#include <Array.au3>
#include <file.au3>
GUICreate("Suchmaschinen Optimierer - Link Verwaltung", 600, 400)
GUISetBkColor(0xd19b07)
GUISetFont(14, 400, 0, "Comic Sans MS")
GUICtrlCreateLabel("Link Verwaltung", 210, 5, 200, 35)
GUICtrlSetFont(-1, 18, 400, 0, "Comic Sans MS")
Global $list = GUICtrlCreateList("", 10, 40, 580, 250)
GUICtrlSetFont(-1, 14, 400, 0, "Arial")
$save = GUICtrlCreatePic(@ScriptDir &"\sdk\bk_button.jpg", 25, 340, 250, 50)
$save2 = GUICtrlCreateLabel("Speichern", 90, 350, 120, 45)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 20, 400, 0, "MV Boli")
$insert = GUICtrlCreatePic(@ScriptDir &"\sdk\bk_button.jpg", 25, 285, 250, 50)
$insert2 = GUICtrlCreateLabel("Link hinzufügen", 55, 295, 200, 45)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 20, 400, 0, "MV Boli")
$delete = GUICtrlCreatePic(@ScriptDir &"\sdk\bk_button.jpg", 325, 285, 250, 50)
$delete2 = GUICtrlCreateLabel("Link entfernen", 360, 295, 200, 45)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 20, 400, 0, "MV Boli")
$cancel = GUICtrlCreatePic(@ScriptDir &"\sdk\bk_button.jpg", 325, 340, 250, 50)
$cancel2 = GUICtrlCreateLabel("Abbrechen", 385, 350, 125, 45)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 20, 400, 0, "MV Boli")
Dim $aRecords
_FileReadToArray(@ScriptDir &"\data\links.txt",$aRecords)
If $aRecords <> "" Then
For $x = 1 to $aRecords[0]
GUICtrlSetData($list, $aRecords[$x])
Next
EndIf
GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE, $cancel, $cancel2
GUISetState(@SW_HIDE)
ExitLoop
Case $delete, $delete2
If GUICtrlRead($list) <> "" Then
$realy_delete = MsgBox(260, "Suchmashinen Optimierer - Link Verwaltung", 'Möchten Sie den Link: "' & GUICtrlRead($list) & '" wirklich aus der Liste entfernen?')
If $realy_delete = 6 Then
_ArrayDeleteInhalt($aRecords, GUICtrlRead($list))
EndIf
Else
MsgBox(0, "Suchmashinen Optimierer - Link Verwaltung", "Fehler - Bitte wählen Sie einen Link in der oberigen Liste aus.")
EndIf
GUICtrlSetData($list, "")
If $aRecords <> "" Then
For $y = 1 to UBound($aRecords) - 1
GUICtrlSetData($list, $aRecords[$y])
Next
EndIf
Case $save, $save2
FileDelete(@ScriptDir &"\data\links.txt")
FileWrite(@ScriptDir &"\data\links.txt", "")
If $aRecords <> "" Then
For $y = 1 to UBound($aRecords) - 1
FileWriteLine(@ScriptDir &"\data\links.txt", $aRecords[$y])
Next
EndIf
GUISetState(@SW_HIDE)
ExitLoop
Case $insert, $insert2
insert_new()
EndSwitch
WEnd
Func insert_new()
GUICreate("Suchmashienen Optimierer - Link hinzufügen", 400, 200)
GUISetFont(14, 400, 0, "Comic Sans MS")
GUISetBkColor(0xd19b07)
GUICtrlCreateLabel("Bitte geben Sie den neuen Link an.", 50, 20, 300, 35)
GUICtrlCreateLabel("Link:", 15,60, 50, 20)
$url = GUICtrlCreateInput("", 80, 57, 250, 24)
GUICtrlSetFont(-1, 10, 400, 0, "")
$ok = GUICtrlCreatePic(@ScriptDir &"\sdk\bk_button.jpg", 25, 100, 165, 50)
$ok2 = GUICtrlCreateLabel("Bestätigen", 40, 110, 135, 45)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 20, 400, 0, "MV Boli")
$cancel = GUICtrlCreatePic(@ScriptDir &"\sdk\bk_button.jpg", 210, 100, 165, 50)
$cancel2 = GUICtrlCreateLabel("Abbrechen", 230, 110, 135, 45)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 20, 400, 0, "MV Boli")
GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
GUISetState(@SW_HIDE)
ExitLoop
Case $ok, $ok2
_ArrayAdd($aRecords, GUICtrlRead($url))
GUICtrlSetData($list, "")
If $aRecords <> "" Then
For $y = 1 to UBound($aRecords) - 1
GUICtrlSetData($list, $aRecords[$y])
Next
EndIf
GUISetState(@SW_HIDE)
ExitLoop
EndSwitch
WEnd
EndFunc
Func _ArrayDeleteInhalt(ByRef $array, $inhalt)
For $i = Ubound($array) - 1 to 0 Step -1
if $array[$i] = $inhalt then _ArrayDelete($array, $i)
Next
EndFunc