Hallo Leute,
ich habe momentan ein Problem und zwar wie kann ich dass vom Script erstelle Item (MenuItem oder TrayItem, je nach dem) in einer Variabel ($) speichern lassen und dass dann in einen Case Befehle mit rein fliesen lassen. Ich weiß nicht ob Ihr mich jetzt genau versteht, ich versuche es euch besstens zu erklären.
Ich habe auch hier ein Beispiel:
Spoiler anzeigen
#include <GUIConstants.au3>
#include <WindowsConstants.au3>
#include <File.au3>
#NoTrayIcon
Global $datfile = @ScriptDir & "\lastopen.dat", $menu_linie = False
[/autoit] [autoit][/autoit] [autoit]; Hauptfenster
GUICreate("Öffnen und Speichern", 500, 400)
; Menüleiste
$menu_datei = GUICtrlCreateMenu("Datei")
$item_oeffnen = GUICtrlCreateMenuItem("Öffnen...", $menu_datei)
$item_save_as = GUICtrlCreateMenuItem("Speichern unter...", $menu_datei)
GUICtrlCreateMenuItem("", $menu_datei)
$item_beenden = GUICtrlCreateMenuItem("Beenden", $menu_datei)
GUICtrlCreateMenuItem("", $menu_datei)
If FileExists($datfile) Then
$datfile_open = FileOpen($datfile, 0)
If $datfile_open <> -1 Then ;Wenn das öffnen der Datei erflogreich war, dann wird die nächste zeile ausgeführt.
While 1
$datfile_read = FileReadLine($datfile_open) ;Zeile aus der Datei lesen
If @error Then ExitLoop ;Wenn das Ende der Datei erreicht ist, dann Endlosschleife verlassen
GUICtrlCreateMenuItem($datfile_read, $menu_datei) ;Ein Menu Item Eintrag, mit dem Inhalt der gelesenen Zeile.
WEnd
FileClose($datfile_open) ;Zuvor geöffnete Datei wieder schließen.
EndIf
EndIf
; Edit
$edit = GUICtrlCreateEdit("", 10, 10, 480, 350, $WS_VSCROLL)
; Damit das Hauptfenster angezeigt wird
GUISetState()
While 1
$Msg = GUIGetMsg()
Switch $Msg
Case $GUI_EVENT_CLOSE, $item_beenden
Exit
Case $item_oeffnen
$open = FileOpenDialog("Öffnen...", @DesktopDir, "Textdokument (*.txt)")
$read = FileRead($open)
GUICtrlSetData($edit, $read)
$path = _PathFull($open)
GUICtrlCreateMenuItem($path, $menu_datei, 10)
FileWriteLine($datfile, $path)
Case $item_save_as
$save = FileSaveDialog ( "Speichern unter...", @DesktopDir, "Textdokument (*.txt)")
If $save Then $save = $save & ".txt"
FileWrite($save, (GUICtrlRead($edit)))
EndSwitch
WEnd
[/autoit]Die gelesenen Zeilen mit einem Eintrag im Menu, sollen in einer Variabel geschrieben werden, um sie später aufrufen zu können.
Danke im vorraus.
MfG
MehmeX