Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 23:24

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



While schleife lässt sich in der gui nicht unterbrechen.

Discussion on While schleife lässt sich in der gui nicht unterbrechen. within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
Exclamation While schleife lässt sich in der gui nicht unterbrechen.

So wie ich mir schon dachte muss ich wieder eine Frage stellen, ich hoffe es antwortet mir noch wer ^^

Ich habe alles soweit fertig, doch jetzt möchte ich eine Pause funktion einbauen, da ich aber noch eine while schleife brauchte, sind alle felder während die Zeit abläuft deaktiviert.

Jetzt zu der frage, wie kann ich die schleife "Stopen" ohne Hotkey also ich möchte das wenn man auf nen Button klickt, sich die schleife unterbricht.

Ich poste hier mal den gesammten code:

Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>




;Das Hauptfenster
#Region ### START Koda GUI section ### Form=c:\users\jan\desktop\autoit\shutdown timer\shutdown hauptfenster.kxf
$Hauptfenster = GUICreate("Shutdown By Jan25051", 269, 214, 337, 426)
$Start = GUICtrlCreateButton("Start", 80, 144, 187, 65, 0)
$Stop = GUICtrlCreateButton("Stop", 0, 144, 83, 41, 0)
$StopPasswort = GUICtrlCreateInput("Passwort", 0, 184, 81, 21) ;Das passwort muss ich ändern.
$StundenSchrift = GUICtrlCreateLabel("Stunden", 16, 80, 64, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
$Stunden = GUICtrlCreateLabel("00", 32, 104, 26, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Reference Sans Serif")
$MinutenSchrift = GUICtrlCreateLabel("Minuten", 96, 80, 62, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
$SekundenSchrift = GUICtrlCreateLabel("Sekunden", 176, 80, 75, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Reference Sans Serif")
$Minuten = GUICtrlCreateLabel("00", 112, 104, 26, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Reference Sans Serif")
$Sekunden = GUICtrlCreateLabel("00", 200, 104, 26, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Reference Sans Serif")
$ZeitButton = GUICtrlCreateButton("Zeit Ändern", 16, 16, 235, 41, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###






;Das Nebenfenster "Zeit Ändern"
#Region ### START Koda GUI section ### Form=C:\Users\Jan\Desktop\AutoIt\Shutdown Timer\Zeit Ändern Nebenfenster.kxf
$Zeitfenster = GUICreate("Zeit Ändern", 316, 124, 354, 237)
$StdPlus = GUICtrlCreateButton("Std.+1", 0, 40, 43, 41, 0)
$StdMinus = GUICtrlCreateButton("Std.-1", 48, 40, 43, 41, 0)
$MinPlus = GUICtrlCreateButton("Min.+1", 112, 40, 43, 41, 0)
$MinMinus = GUICtrlCreateButton("Min.-1", 160, 40, 43, 41, 0)
$SekPlus = GUICtrlCreateButton("Sek.+1", 224, 40, 43, 41, 0)
$SekMinus = GUICtrlCreateButton("Sek.-1", 272, 40, 43, 41, 0)
$Schliessen = GUICtrlCreateButton("Schließen", 120, 88, 75, 33, 0)

GUISetState(@SW_HIDE)
#EndRegion ### END Koda GUI section ###



While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $ZeitButton
		If GUICtrlRead($StopPasswort) = "Passwort" Then
		GUISetState(@SW_SHOW, $Zeitfenster)
	EndIf
	
Case $Schliessen
	GUISetState(@SW_HIDE, $Zeitfenster)
	
	;Zeit einstellen START
Case $StdPlus
	GUICtrlSetData($Stunden, GUICtrlRead($Stunden) +1)

Case $StdMinus
	GUICtrlSetData($Stunden, GUICtrlRead($Stunden) -1)
	

	
	
Case $MinPlus
	GUICtrlSetData($Minuten, GUICtrlRead($Minuten) +1)
	;Überprüfen ob die Zahl der Minuten 60 ist.
 If GUICtrlRead($Minuten) = 60 Then
	GUICtrlSetData($Stunden, Guictrlread($Stunden) +1)
	GUICtrlSetData($Minuten,"00")
 EndIf

Case $MinMinus
	GUICtrlSetData($Minuten, GUICtrlRead($Minuten) -1)
	;Überprüfen ob die Zahl der Minuten -60 ist.
	If GUICtrlRead($Minuten) = -60 Then
	GUICtrlSetData($Stunden, Guictrlread($Stunden) -1)
	GUICtrlSetData($Minuten,"00")
EndIf

Case $SekPlus
	GUICtrlSetData($Sekunden, GUICtrlRead($Sekunden) +1)
	;Überprüfen ob die Zahl der Sekunden 60 ist.
	If GUICtrlRead($Sekunden) = 60 Then
	GUICtrlSetData($Minuten, Guictrlread($Minuten) +1)
	GUICtrlSetData($Sekunden,"00")
	EndIf
	
	
Case $SekMinus
	GUICtrlSetData($Sekunden, GUICtrlRead($Sekunden) -1)
	;Überprüfen ob die Zahl der Sekunden -60 ist.
	If GUICtrlRead($Sekunden) = -60 Then
	GUICtrlSetData($Minuten, Guictrlread($Minuten) -1)
	GUICtrlSetData($Sekunden,"00")
	EndIf
	;Zeit einstellen ENDE
	

Case $Stop
	 If GUICtrlRead($StopPasswort) = "Passwort" Then
		 
		 ;HIER kommt die STOP funktion rein^^
  
	EndIf


Case $Start
	;Countdown START
		While 1
			
 
			
			
			
			
			
			
		Sekunden_runterzaehlen()
		
	If Guictrlread($Sekunden) = "0" Then ;Überprüft ob die Sekunden auf 0 stehen.
		If GUICtrlRead($Minuten) >= "0" Then ;Weil die Sekunden auf 0 stehen, wird überprüft ob die Minuten 1 oder höher als 1 ist.
			GUICtrlSetData($Sekunden,"60") ;Weil die Minuten 1 oder höher als 1 waren,werden die Sekunden wieder auf 60 gestellt.
			GUICtrlSetData($Minuten, Guictrlread($Minuten) -1) ;Die Minuten werden hier um eine reduziert.
		
		
			
		If GUICtrlRead($Minuten) = "0" Then
		If GUICtrlRead($Stunden) >= "1" Then
			GUICtrlSetData($Minuten,"60")
			GUICtrlSetData($Stunden, Guictrlread($Stunden) -1)

        Else
		
		GUICtrlSetData($Stunden,"00") ;Weil der Countdown abgelaufen ist, stellt sich die zeit auf 00 statt auf 0 ;D nur um es ansehnlicher zu machen.
		
		GUICtrlSetData($Minuten,"00") ;Weil der Countdown abgelaufen ist, stellt sich die zeit auf 00 statt auf 0 ;D nur um es ansehnlicher zu machen.
		
		GUICtrlSetData($Sekunden,"00") ;Weil der Countdown abgelaufen ist, stellt sich die zeit auf 00 statt auf 0 ;D nur um es ansehnlicher zu machen.
		

		ExitLoop
		EndIf
	EndIf
EndIf
EndIf

	WEnd
	
;Countdown ENDE
	
	
	
	
	
	
	EndSwitch
WEnd

Func Sekunden_runterzaehlen()
	
	For $i = Guictrlread($Sekunden) To 0 Step -1
			GUICtrlSetData($Sekunden,$i)
			Sleep(1000)
	Next
		
	EndFunc
WiiZocker is offline  
Old 07/06/2010, 20:29   #2
 
elite*gold: 20
Join Date: Feb 2007
Posts: 3,080
Received Thanks: 4,294
den wert von $nmsg entweder in der schleife abfragen, falls die durchgänge zu lange dauern, sprich der inhalt deiner schleife zu aufwendig ist, einfach $nmsg per adlibregister abfragen. das machst du im endeffekt genauso wie die switch abfrage die dir koda vorgibt.
kknb is offline  
Thanks
2 Users
Old 07/06/2010, 21:12   #3
 
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
Hmm ok, ich werds nachher VERSUCHEN^^

EDIT: Könntest du mir etwas auf die sprünge helfen?
Wo muss Adlibregister hin und was muss ich dort reinschreiben?

Hoffe du antwortest nochmal
WiiZocker is offline  
Old 07/07/2010, 08:12   #4
 
suiluJ.'s Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 2,210
Received Thanks: 6,755
Wenn du eine While-schleife zu einem bestimmten Zeitpunkt abbrechen lassen willst exitloop
suiluJ. is offline  
Old 07/07/2010, 12:04   #5
 
elite*gold: 0
Join Date: Jul 2009
Posts: 492
Received Thanks: 126
Es hat sich erledigt, ich habe es nun doch per hotkey gemacht aber damit der funktioniert braucht man ein passwort, damit man den countdown nicht einfach unterbricht. mitlerweile habe ich schon 2 versionen rausgebracht, die erste war zu unsicher-.- die zwiete (1.1) wird nicht in der leiste unten angezeigt. Und der Taskmanager lässt sich wärend das programm läuft auch nicht öffnen (:
WiiZocker is offline  
Reply

Tags
autoit, autoit countdown, countdown unterbrechen, while schleife, while schleife stoppen


Similar Threads Similar Threads
LC Lässt sich nicht starten! help pls
09/26/2010 - Last Chaos - 5 Replies
also mein problem ist das ich lastchose nicht starten kann! ich starte die exe dann kommt der launcher alles updates alles in ordnung nu klicke ich auf start und der launcher geht aus und nix passiert...! habe schon google gesucht wie ein doofer nix gefunden -.- offizelle deutsche seite kann ich nicht posten warum ka trotz email bestätigung! neuinstall habe ich auch schon gemacht sowie kompatiblitäts modus auf win xp sp 2 gestellt und adminrechte natürlich auch! mein betriebssystem...
.NET Framework lässt sich nicht Installieren
01/03/2010 - Technical Support - 3 Replies
Also.. ich erklär erstmal wie alles anfing, ich wollte ein bisschen hacken. Aber der Hack streickte, er ließ sich nicht öffnen und verbrauchte komischerweiße 50% der CPU auslastung. (Der Hack benötigt Net Framework 3.5, am Tag davor gings noch) Ich versuchte die Version 3.5 mit dem Wartungsmodus zu reparieren, aber am Schluss blieb er immer hängen. Der Abbruch des Wartungsmodus funktionierte nicht, nur über den Taskmanager war dies möglich. (Das gleiche bei der Deinstallation) Ich wollte...
GeisterHeiler lässt sich nicht ansprechen...
09/10/2009 - World of Warcraft - 0 Replies
Guten Tag, Ich habe einen WoWEmu-Server mit Mangos patch 3.1.3. Leider Lässt sich der Geisterheiler nirgentwo ansprechen aber ich finde den Fehler einfach nicht... Ich bin mir sicher das er in der Datenbank "mangos" liegt. Hier die Datei: Bluehost.to Download
Windows lässt sich nicht aktivieren..
08/29/2009 - Technical Support - 0 Replies
hallo.. könnt ihr das verstehen? http://img5.imagebanana.com/img/g6hq8afo/thumb/wt f.bmp.png weil ort steht überall yes und dann oben das es nicht geklappt hat ö.ö..
l2.ini lässt sich nicht decrypten
08/20/2005 - Lineage 2 - 4 Replies
huhu! ich habe mir eben l2decrypt runtergeladen, um die ip und das protokoll von l2extreme aus der l2.ini auslesen zu können. es funtkioniert aber nicht, ich habe alle 4 methoden, die angeboten werden, ausprobiert (111...) es kommt entweder nur zeichensalat oder bei ner anderen methode vierecke dabei raus. please help! was mache ich falsch? ich habe definitiv decrypt ausgewählt und nicht encrypt... pony3000



All times are GMT +1. The time now is 23:26.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.