Brauche Hilfe mit AutoIT

01/29/2009 19:43 Commander21#1
Hallo zusammen, ich brauche mal Hilfe mit einem Programm.

Es ist ein werbebot.
So soll er funzen:

1.) Einen Text eingeben der...
2.) ... in einem wählbaren abstand ...
3.) ... nach einer wählbaren wartezeit geschrieben werden soll.

Das Problem liegt bei Punkt 3, der im folgenden Code zu finden ist.
Dazu gehöhrt: $zeit = $input3 und Do bis Until $zeit = 0

PHP Code:
$zeit $input3
Func Start 
()
    
$input1 InputBox ("Werbetext""Welcher Text soll gesendet werden ? ")
    
Sleep (500)
    
$input2 InputBox ("Zeitabstand""Wieviel Sekunden soll zwischen der Werbung gewartet werden ? ( 1000 = 1 Sekunde ) ")
    
Sleep (500)
    
$input3 InputBox ("Wartezeit""Wie lange soll gewartet werden, bis der Bot anfängt zu schreiben ? ( 1000 = 1 Sekunde ) ")
    Do
        
$zeit $input3 1
        ToolTip 
("Start in: "&$zeit943250)
        
Sleep (1000)
    
Until $zeit 0
             
While 1
        Send 
($input1)
        
Sleep (500)
        
Send ("{Enter}")
        
Sleep ($input2)
    
WEnd
EndFunc 
Alles andere wie HotKeySet, Pause und Schließ funktion sind natürlich auch enthalten.

So, bei dem benannten Teil soll er folgendes machen:

- Er soll dich fragen, wie lange er warten soll, bis er anfängt den Text zu schreiben.
- Von der Antwort, also $Input3 ( z.B. 5 Sekunden ) soll nun mit hilfe eines ToolTips runtergezählt werden auf 0, bis er dann anfängt zuschreiben.

So, alles klappt, nur das nicht.
Wenn ich den Bot dann starte, kommt folgende Fehlermeldung:

Line -1:

Error: Variable used without being declared.


Was soll ich also tun, dass das oben benannte auch so gemacht wird?

Ich kopier jetzt nochmal den ganzen Code rein:

PHP Code:
HotKeySet ("{F1}""Start")
HotKeySet ("{F2}""Stop")
HotKeySet ("{F3}""Close")


_______________________________________________________________________________

MsgBox 
("""Anleitung""Das Programm schreibt in wählbaren abständen einen wählbaren Text. Starten Sie das Programm und tippen sie auf die Taste F1. Nun können Sie einen Text eingeben. Danach wählen Sie den Abstand. Dann noch die Zeit die gewartet werden soll, bevor das Programm anfängt zu schreiben.")

ToolTip ("Start = F1 / Pause = F2 / Schließen = F3"943295"Anleitung")

_______________________________________________________________________________

$zeit 
$input3

Func Start 
()
    
$input1 InputBox ("Werbetext""Welcher Text soll gesendet werden ? ")
    
Sleep (500)
    
$input2 InputBox ("Zeitabstand""Wieviel Sekunden soll zwischen der Werbung gewartet werden ? ( 1000 = 1 Sekunde ) ")
    
Sleep (500)
    
$input3 InputBox ("Wartezeit""Wie lange soll gewartet werden, bis der Bot anfängt zu schreiben ? ( 1000 = 1 Sekunde ) ")
    Do
        
$zeit $input3 1
        ToolTip 
("Start in: "&$zeit943250)
        
Sleep (1000)
    
Until $zeit 0
    
While 1
        Send 
($input1)
        
Sleep (500)
        
Send ("{Enter}")
        
Sleep ($input2)
    
WEnd
EndFunc

_______________________________________________________________________________

Func Stop 
()
    While 
1
        Sleep 
(100)
    
WEnd
EndFunc

_______________________________________________________________________________

$zahl 
5

Func Close 
()
    Do
         
$zahl $zahl 1
        ToolTip 
("Wird beendet in: "&$zahl943250"Beenden")
        
sleep (1000)
    
Until $zahl 0
    
Exit
EndFunc

_______________________________________________________________________________

While 1
    Sleep 
(100)
WEnd 
Wäre nett, wenn mir einer helfen könnte, thx...
01/29/2009 20:07 babbe0#2
Versuch mal das
Quote:
$zeit = $input3
unter
Quote:
$input3 = InputBox ("Wartezeit", "Wie lange soll gewartet werden, bis der Bot anfängt zu schreiben ? ( 1000 = 1 Sekunde ) ")
zu schreiben denn davor ist die Variable $input3 ja noch gar nicht deklariert...
01/29/2009 20:24 Commander21#3
ja, aber dann würde er doch im ToolTip nicht runterzählen.

Nachdem man die z.b. eine Wartezeit von 10 Sekunden eigegeben hat, soll sich ja ein ToolTip öffnen, in dem von der angegebenen ( 10 ) Zahl runter gezählt werden soll auf 0.

€: ah sry, ich hab den unteren text von dir übersehn, werds mal probiern, thx ^^

€²: Sry, also ich habs jetz so gemacht:

PHP Code:
Func Start () 
    
$input1 InputBox ("Werbetext""Welcher Text soll gesendet werden ? "
    
Sleep (500
    
$input2 InputBox ("Zeitabstand""Wieviel Sekunden soll zwischen der Werbung gewartet werden ? ( 1000 = 1 Sekunde ) "
    
Sleep (500
    
$input3 InputBox ("Wartezeit""Wie lange soll gewartet werden, bis der Bot anfängt zu schreiben ? ( 1000 = 1 Sekunde ) ")
    
$zeit $input3 
    
Do 
        
$zeit $input3 
        ToolTip 
("Start in: "&$zeit943250
        
Sleep (1000
    
Until $zeit 
    
While 
        Send 
($input1
        
Sleep (500
        
Send ("{Enter}"
        
Sleep ($input2
    
WEnd 
EndFunc 
Aber jetzt kommt zwar der ToolTip, mit z.B. 10 Sekunden, aber er zählt nicht runter, und fängt damit also auch nicht an...
01/29/2009 20:54 DeagleD#4
Versuchs mal damit:

PHP Code:
Do
        
$input3 $input3 1
        ToolTip 
("Start in: "&$input3943250)
        
Sleep (1000)
Until $input3 
... musst den input des user halt noch inner anderen variable speichern, wenn du ihn später nochmal brauchst ... gibt bestimmt ne bessere lsg. aber egal :D
01/29/2009 21:06 Commander21#5
ne sry, klappt auch net, er zählt in dem ToolTip einfach nicht runter -.-

€: Also ich hatte vorhin die - 1 vergessen. sieht also jetz genau so aus wie in Post#3.
allerdings zählt er jetzt, wenn ich 10 eingebe, nur auf 9 und nicht weiter...

Es is einfach zum verzweifeln -.-

Letzter €dit: So, also ich habs jetz rausgefunden wie es geht, ich wies zwar net wieso es nun geht, aber naja ^^
So sieht es jetzt aus:

PHP Code:
Func Start ()
    
$input1 InputBox ("Werbetext""Welcher Text soll gesendet werden ? ")
    
Sleep (500)
    
$input2 InputBox ("Zeitabstand""Wieviel Sekunden soll zwischen der Werbung gewartet werden ? ( 1000 = 1 Sekunde ) ")
    
Sleep (500)
    
$input3 InputBox ("Wartezeit""Wie lange soll gewartet werden, bis der Bot anfängt zu schreiben ? ( Angaben in Sekunden ) ")
    
$zeit $input3
    
Do
        
$zeit $zeit 1
        ToolTip 
("Start in: "&$zeit943250)
        
Sleep (1000)
    
Until $zeit 0
    
While 1
        Send 
($input1)
        
Sleep (500)
        
Send ("{Enter}")
        
Sleep ($input2)
    
WEnd
EndFunc 
01/29/2009 21:32 DeagleD#6
:D hattes acuh grad so .. naja gz dazu :P
01/29/2009 21:42 Commander21#7
So, da er ja nun endlich fertig ist...
Also wer ihn will und was mit anfangen kann, kann ihn sich ja mal downloaden ^^
04/01/2012 00:34 PepsiOnMyDesk#8
Line 9450

Error: Variable used without being declared.

(hab scho versucht es als admin auszuführen)
04/01/2012 11:00 .SkyneT.#9
Quote:
Originally Posted by Commander21 View Post
ja, aber dann würde er doch im ToolTip nicht runterzählen.

Nachdem man die z.b. eine Wartezeit von 10 Sekunden eigegeben hat, soll sich ja ein ToolTip öffnen, in dem von der angegebenen ( 10 ) Zahl runter gezählt werden soll auf 0.

€: ah sry, ich hab den unteren text von dir übersehn, werds mal probiern, thx ^^

€²: Sry, also ich habs jetz so gemacht:

PHP Code:
Func Start () 
    
$input1 InputBox ("Werbetext""Welcher Text soll gesendet werden ? "
    
Sleep (500
    
$input2 InputBox ("Zeitabstand""Wieviel Sekunden soll zwischen der Werbung gewartet werden ? ( 1000 = 1 Sekunde ) "
    
Sleep (500
    
$input3 InputBox ("Wartezeit""Wie lange soll gewartet werden, bis der Bot anfängt zu schreiben ? ( 1000 = 1 Sekunde ) ")
    
$zeit $input3 
    
Do 
        
$zeit $input3 
        ToolTip 
("Start in: "&$zeit943250
        
Sleep (1000
    
Until $zeit 
    
While 
        Send 
($input1
        
Sleep (500
        
Send ("{Enter}"
        
Sleep ($input2
    
WEnd 
EndFunc 
Aber jetzt kommt zwar der ToolTip, mit z.B. 10 Sekunden, aber er zählt nicht runter, und fängt damit also auch nicht an...
Nur damit du es für die Zukunft weißt warum es nicht funktioniert hat:
Code:
    Do 
        $zeit = $input3 - 1 
        ToolTip ("Start in: "&$zeit, 943, 250) 
        Sleep (1000) 
    Until $zeit = 0
Bei jedem Durchlauf wird der Variable $Zeit der wert ($input3 - 1) zugewiesen, welcher bei jedem durchlauf 9 betragen wird, da immer
$Zeit = 10 - 1
gerechnet wird :rolleyes:


Code:
   Do
        $zeit = $zeit - 1
        ToolTip ("Start in: "&$zeit, 943, 250)
        Sleep (1000)
    Until $zeit = 0
Hier wird jedesmal ($zeit - 1) gerechnet und das Ergebnis in $zeit gespeichert.
D.h:
1Durchlauf: $zeit = 10 - 1 -> zeit = 9
2Durchlauf: $zeit = 9 - 1 -> zeit = 8
...
04/01/2012 12:00 omer36#10
Schau mal aufs Datum...