Autoit anfänger braucht Hilfe.

10/18/2010 21:46 Gescher123#1
Hallo leute,
Ich hab heute angefangen Autoit zu lernen und hab mir das Tutorial hier durchgelesen.
Nun hab ich mir mit den Kentnissen aus dem Tutorial gedacht... Programierste mal nen Countdown Zähler.

So mein bisheriger Fortschrit ist wie folgt:
Fragt nach minuten.
Fragt nach sec.
Zählt runter.
Secunden springen nach 0 auf 60
Eine minute wird abgezogen sobald Secunde auf 0 ist.

Der Code siht bisher so aus:

$Zeit2 = InputBox("Zeit","Minuten:","","","")
$Zeit3 = InputBox("Zeit","Sekunden:","","","")

Do
$Zeit3 = $Zeit3 - 1
ToolTip ("Countdown: "&"Minuten: "&$Zeit2&".."&"Sekunden: "& $Zeit3)
Sleep(1000)

Until $Zeit3 = 0


If $Zeit3 = 0 Then
$Zeit3 = 60
Do
$Zeit2 = $Zeit2 - 1
ToolTip ("Countdown: "&"Minuten: "&$Zeit2&".."&"Sekunden: "& $Zeit3)
Sleep(1000)
Until $Zeit3 = 60
Do

$Zeit3 = $Zeit3 - 1
ToolTip ("Countdown: "&"Minuten: "&$Zeit2&".."&"Sekunden: "& $Zeit3)
Sleep(1000)
Until $Zeit3 = 0

EndIf


Mein Problem ist, ich bekomme für diese If funktion keine schleife :P der schließt das Programm nach dem er noch eine minute abgezogen hat.
Er soll aber solange wiederholen bis $Zeit2 und $Zeit3 beide auf 0 sind.
Wie bekomm ich das hin?
Habs mit While/Wend versucht bekomms aber nicht hin bitte um Hilfe.

Ich endschuldige mich für meine Rechtschreibung :P

MfG Gescher123
10/19/2010 02:54 .GlaDos#2
Quote:
Originally Posted by Gescher123 View Post
Hallo leute,
Ich hab heute angefangen Autoit zu lernen und hab mir das Tutorial hier durchgelesen.
Nun hab ich mir mit den Kentnissen aus dem Tutorial gedacht... Programierste mal nen Countdown Zähler.

So mein bisheriger Fortschrit ist wie folgt:
Fragt nach minuten.
Fragt nach sec.
Zählt runter.
Secunden springen nach 0 auf 60
Eine minute wird abgezogen sobald Secunde auf 0 ist.

Der Code siht bisher so aus:

$Zeit2 = InputBox("Zeit","Minuten:","","","")
$Zeit3 = InputBox("Zeit","Sekunden:","","","")

Do
$Zeit3 = $Zeit3 - 1
ToolTip ("Countdown: "&"Minuten: "&$Zeit2&".."&"Sekunden: "& $Zeit3)
Sleep(1000)

Until $Zeit3 = 0


If $Zeit3 = 0 Then
$Zeit3 = 60
Do
$Zeit2 = $Zeit2 - 1
ToolTip ("Countdown: "&"Minuten: "&$Zeit2&".."&"Sekunden: "& $Zeit3)
Sleep(1000)
Until $Zeit3 = 60
Do

$Zeit3 = $Zeit3 - 1
ToolTip ("Countdown: "&"Minuten: "&$Zeit2&".."&"Sekunden: "& $Zeit3)
Sleep(1000)
Until $Zeit3 = 0

EndIf


Mein Problem ist, ich bekomme für diese If funktion keine schleife :P der schließt das Programm nach dem er noch eine minute abgezogen hat.
Er soll aber solange wiederholen bis $Zeit2 und $Zeit3 beide auf 0 sind.
Wie bekomm ich das hin?
Habs mit While/Wend versucht bekomms aber nicht hin bitte um Hilfe.

Ich endschuldige mich für meine Rechtschreibung :P

MfG Gescher123

ich würde es so machen:

habe auch eingebaut das er bei 0 sec und 0 min sich schließst
man kann natürlich auch noch einbauen das sich ein fenster öffnet, das zeit abgelaufen ist

sieht denn so aus
10/19/2010 12:16 Gescher123#3
Hi danke das du versucht hast mir zu helfen... aber deins Funktioniert auch nicht richtig^^.
Wenn man das abspielt dann zählt er runter und nach der 2ten min geht er bei den sekunden in den -bereich :P
10/19/2010 13:20 Alebos#4
Lösung A:
$Fertig = False
$Zeit2 = InputBox("Zeit","Minuten:","","","")
$Zeit3 = InputBox("Zeit","Sekunden:","","","")

Do
$Zeit3 = $Zeit3 - 1
ToolTip ("Countdown: "&"Minuten: "&$Zeit2&".."&"Sekunden: "& $Zeit3)
Sleep(1000)
Until $Zeit3 = 0

While Not $Fertig
If ($Zeit3 = 0 And $Zeit2 >= 1) Then
$Zeit2 = $Zeit2 - 1
ToolTip ("Countdown: "&"Minuten: "&$Zeit2&".."&"Sekunden: "& $Zeit3)

$Zeit3 = 60
Do
$Zeit3 = $Zeit3 - 1
ToolTip ("Countdown: "&"Minuten: "&$Zeit2&".."&"Sekunden: "& $Zeit3)
Sleep(1000)
Until $Zeit3 = 0
ElseIf($Zeit3 = 0 And $Zeit2 = 0) Then
$Fertig = True
EndIf
WEnd

Lösung B:
$Zeit2 = InputBox("Zeit","Minuten:","","","")
$Zeit3 = 60-InputBox("Zeit","Sekunden:","","","")

For $i = $Zeit2 To 0 Step -1
For $j = 60-$Zeit3 To 0 Step -1
ToolTip ("Countdown: "&"Minuten: "&$i&".."&"Sekunden: "& $j)
Sleep(1000)
Next
$Zeit3 = 0
Next