wow. Danke für die viele Hilfe!
Denke hat sich damit erledigt. Schaue mir das heute Abend nochmal genauer an.
wow. Danke für die viele Hilfe!
Denke hat sich damit erledigt. Schaue mir das heute Abend nochmal genauer an.
Hallo BugFix,
vielen Dank für die schnelle Antwort. Wird nicht mehr vorkommen
Leider geht mir aus dem Gui-Konzept Hilfedingen nicht hervor wie ich innerhalb einer Funktion ansonsten per Button Abbrechen kann..
Oder sollte ich generell einen anderen Aufbau wählen?
Hallo zusammen,
habe mich soeben frisch im Forum angemeldet. Bin absoluter autoit Neuling.
Ich bin dabei mir eine GUI zu erstellen um mit robocopy (direkt oder per batch Aufruf) Dateien auf mein NAS zu sichern. Zu Testzwecken rufe ich aktuell nur einen "ping" auf localhost auf.
In der Funktion mit der ich die cmd Ausgabe in die GUI weiterleite, habe ich folgendes Problem.
Ich schaffe es nur, entweder ohne Abbruchmöglichkeit oder wenn dann mit zwanghafter Abbruchmöglichkeit (Button). Da sich die schleife nun nicht mehr beendet..
Gewünscht ist aber nur die Möglichkeit Abbrechen zu können.
[autoit]
#include <constants.au3>
#include <windowsconstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
$win=GUICreate("Script zur Sicherung durch robocopy - ver0.1", 640,480,-1,-1)
GUICtrlCreateLabel ("Live Ansincht", 10, 10, 710)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$btn_copy=GUICtrlCreateButton("copy",220,440,75,25)
$btn_exit=GUICtrlCreateButton("Exit",400,440,75,25)
$output_cmd = GUICtrlCreateEdit("", 10, 40, 620, 300, $ES_READONLY + $WS_VSCROLL + $WS_HSCROLL)
[/autoit][autoit][/autoit][autoit]GUISetState()
[/autoit][autoit][/autoit][autoit]$exit=False
While $exit=False
$nMsg = GUIGetMsg()
Switch $nMsg
case $btn_exit
$exit=True
case $btn_copy
_write_console()
EndSwitch
wend
GUIDelete()
func _write_console()
$btn_cancel=GUICtrlCreateButton("Abbruch",310,440,75,25)
Local $robocopy = Run(@ComSpec & " /c " & "ping 127.0.0.1", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
Local $line
ConsoleWrite($line)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]While 1
$line=StdoutRead($robocopy)
$nMsg=GUIGetMsg() ; <------------------------------------- Abbruchmöglichkeit
Select
Case @error
ExitLoop
Sleep(10)
case $line <> ""
GUICtrlSetData($output_cmd, $line,1)
Case $nMsg=$btn_cancel ; <------------------------------------- Abbruchmöglichkeit
MsgBox(0, "blabla", "Abbruch") ; <------------------------------------- Abbruchmöglichkeit
ExitLoop ; <------------------------------------- Abbruchmöglichkeit
EndSelect
[/autoit][autoit][/autoit][autoit]WEnd
[/autoit][autoit][/autoit][autoit]MsgBox(0, "blabla", "Funktion abgeschlossen")
EndFunc
Vermutlich check ichs einfach nicht... dürft ihr ruhig sagen
Für Tipps oder Lösungen wäre ich sehr dankbar.
Greetz