Java Script (Schleife) für iMacros

New member
Hi!

Ich versuche mich jetzt schon seit Stunden selbst in die Materie einzuarbeiten, komme jedoch einfach nicht voran.

Mein Ziel ist im Grunde:

-Ein Java Script, das eines meiner iMacros ausführt und x mal wiederholt.

-Nach den Wiederholungen wird ein anderes iMacro ausführt.

-Dannach wird wieder kommplett von vorne begonnen.

Beispiel:

1. Ich starte das Script.
2. "Macro1" wird ausgeführt und 20 mal wiederholt (quasi eine Schleife).
3. Nach den 20 Wiederholungen von "Macro1" wird "Macro2" ausgeführt.
4. Anschließend wird wieder komplett von vorne begonnen.

Bin für jede Hilfe dankbar!
 
Ich füge noch eine kleine Codebeschreibung und die html-Datei an, da ich nicht weiß, wie fortgeschritten deine Fähigkeiten sind.
HTML:
<html>
    <head>
        <title>Makros starten</title>
        <script src="makro.js" type="text/javascript"></script>
    </head>
    <body>
        <input type="button" value="Makro starten" id="btnMakroStarten">
    </body>
</html>
Hier findet sich ein Button mit dem die Funktionen gestartet werden. Des Weiteren wird die javascript Datei eingebunden.


Das javascript File sieht so aus.
Code:
//Hier wird der Button aktiviert, der das Makro startet.
window.onload = init;

function init() {
    document.getElementById("btnMakroStarten").onclick = fMakro1;
}


//Der für dich interessante Teil............Makros ausführen.

function fMakro1() {
    for(var i = 1; i <= 21; i++){
        document.write("Makro 1 wird zum " + i + "ten mal ausgeführt." + "<br />");
        if(i == 21){
            //Nach 21 Durchläufen wird die Funktion fMakro2 gestartet.
            fMakro2();
        }
    }
}

function fMakro2(){
    document.write("Makro 2 wird 1 mal ausgeführt");
}
Hoffe du hast dir das in etwa so vorgestellt.
 
Erstmal danke für die schnelle Antwort.


Das war quasi der Schlüssel.

Mein Java Script sieht jetzt so aus:

for (i = 0; i < 21; i++) //Wiederholt "makro1" 21 mal
iimPlay("makro1.iim");
if(i == 21) //Nach der 21. Wiederholung wird "makro2" ausgeführt
iimPlay("makro2.iim")

Meine Frage wäre jetzt aber, wie kann ich das gesamte Script samt aller Befehle komplett wiederholen, (sodass auch die Wiederholungen im Script wiederholt werden)?

Also quasi eine Wiederholung in einer weiteren Wiederholung, sodass mein gesamtes Script z.b. 1000 mal ausgeführt wird, um es nicht nach jedem Durchlauf wieder manuell starten zu müssen?
 
Hm, du solltest dir überlegen wie oft der Code wiederholt werden soll. Es ließe sich bei meinem Beispiel am Ende der Funktion "fMakro2" der Code "fMakro1()" anfügen womit automatisch nach dem Ausführen von Makro 2 die erste Funktion erneut gestartet wird. Nachdem das aber zu einer Endlosschleife führt, ist davon dringend abzuraten.
Es ließe sich mittels Textfeld oder auch mit der Hilfe des Befehls "prompt" abfragen wie oft denn der gesamte Ablauf wiederholt werden soll. Sofern das brauchbar für dich ist, zeig ich dir gerne wie man das macht.
 
Ja, das mit der Endlosschleife funktioniert jetzt bestens.

Mir wäre jedoch Lieber, wenn ich die Anzahl der Wiederholungen selbst festelegen könnte.

Wie kann ich eigentlich mit Hilfe meines Script andere Scripts starten bzw. ausführen?
 
Zuletzt bearbeitet:
Code:
//Hier wird der Button aktiviert, der das Makro startet.
window.onload = init;

function init() {
    document.getElementById("btnMakroStarten").onclick = fMakro1;
}

//Der für dich interessante Teil............Makros ausführen.

function fMakro1() {
    var zaehler = 1;
    var eingabe = prompt("Wie oft soll das Makro ausgeführt werden?", "");
    eingabe * 1;
    //Stellt sicher, dass die Eingabe als Zahl und nicht als Text verstanden wird.

    while (zaehler <= eingabe) {
        zaehler++;
        for (var i = 1; i <= 21; i++) {
            document.write("Makro 1 wird zum " + i + "ten mal ausgeführt." + "<br />");
            if (i == 21) {
                //Nach 21 Durchläufen wird die Funktion fMakro2 gestartet.
                fMakro2();
            }
        }
    }
}

function fMakro2() {
    document.write("Makro 2 wird 1 mal ausgeführt" + "<br />");
}
Könnte man jetzt noch mit einer Validierung absichern, so dass nur noch Zahlen eingegeben werden können.

Wie kann ich eigentlich mit Hilfe meines Script andere Scripts starten bzw. ausführen?
Ich packe den Quelltext gerne in eine Funktion. Will ich eine Funktion starten muss ich lediglich "funktionsname()" schreiben um diese dann auszuführen. So wird in diesem Beispiel auch die Funktion fMakro2 aufgerufen.
 
Zuletzt bearbeitet:

Online-Statistiken

Zurzeit aktive Mitglieder
0
Zurzeit aktive Gäste
247
Besucher gesamt
247

Beliebte Forum-Themen

X
Keine passende Antwort gefunden?