Skripte erstellen

  • Hallo ich bin noch ziemlich neu hier.

    Ich wollte einmal fragen da ich mir heut vormittags das AutoIt 3 zugelegt habe wie ich am besten ein Skript erstelle ich habe in diesem Gebiet eigentlich keine erfahrung oder fast keine.

    Mein Ziel ich möchte ein Skript machen das ich zu bestimmten Zeiten bestimmte Mausklicks auf bestimmt Sachen machen kann.
    Z.b möchte ich um 00:00 denn Firefox öffnen und in eine Internet seite klicken.

    Bitte genaue beschreibung wie ich da vorgehen soll. PS: Habe auch schon die Deutsche Beschreibung gelesn

    Würde um Vorschläge bitten!!

    mfg :)

  • Wenn Du die Hilfe schon durch hast, dann erst einmal einen kleinen Programmablaufplan machen und diesen dann evtl. als Bild hier veröffentlichen. Daran können wir dann sicherlich Tips geben, wie die beste Reihenfolge ist und Dir evtl. auch schon die Funktionen nennen.

    Aber als kleiner Tip: Fang langsam an, dann bleibt der Spass auch da. Das was Du möchtest ist gleich was ganz schön großes und nicht das Du dann irgendwann auf gibst. Hast du dann auch schon die ganzen Beispiel in der Hilfe Dir angeschaut?

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Naja Alina, mal nicht übertreiben ^^
    Sooo groß ist das nun auch wieder nicht.
    Die Sache mit Firefox ist so 'ne Sache, aber wenn es als eines der ersten
    Scripts wirklich einfach um Mausklicks etc. geht und nicht 100% reibungslos und sauber werden muss,
    ist das machbar.

    Zum Abfragen der Zeit kannst du die Makros nutzen, @Hour, @Min,
    Mausklicks mit MouseClick, das ganze in einer While-Schleife mit
    If-Then-Abfrage, muss doch passen, kriegst du schon hin ^^

    Zum Thema Firefox:
    Navigieren etc. über die Firefox-Udf. Wenn du damit nicht klar kommst kannst du ja zum Anfang
    auch den InternetExplorer nehmen, mit den
    _IECreate - Funktionen etc. ^^

    Viel Spaß ! =)

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

  • Hier mal ein Kleines Beispiel mit Kommentaren

    Spoiler anzeigen
    [autoit]

    $Pfad = RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\" & RegRead ("HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\","CurrentVersion") & "\Main","PathToExe") ;Liest den Pfad zur FireFox.exe aus der Registie aus

    [/autoit] [autoit][/autoit] [autoit]

    $Time = "12:24" ;Die Zeit wann der FireFox gestartet werden soll
    $Seite = "www.autoit.de" ;Die Seite die Geöffnet werden soll
    While 1 ;Eine Schleife, damit das Programm solange anbleibt bis die Zeit erreicht ist
    If @HOUR & ":" & @MIN = $Time Then ;Überprüft ob die Zeit mit der Übereinstimmt die in $Time angegen ist
    Run ($Pfad & " \" & $Seite) ;Startet den FireFox mit der Seite als Parameter
    Exit ;Beendet das Programm
    EndIf ;Ende der If
    Sleep (10) ;Lässt das Script 10 milisec nichts machen, um die CPU-Aulastung zu verringern
    WEnd ;Schleifenende

    [/autoit]

    mfg. Jam00

    2 Mal editiert, zuletzt von Jam00 (19. April 2009 um 13:57)

  • Mensch was seid ihr alle süchtig oO ;)

    Lasst ihn doch erstmal selber ausprobieren, wenn da schon fertiger Code steht
    ist die Versuchung immer sehr groß, den zu übernehmen ohne ihn ganz zu verstehen ;)

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

  • Also danke einmal für eure bemühungen .. habe schon einige Tipps von euch gesammelt ich probier es einfach aus. Wenn ich etwas nicht schnalle frage ich euch.


    Mfg :thumbup:

  • Zitat

    Sleep (10) ;Lässt das Script 10 Sec nichts machen, um die CPU-Aulastung zu verringern


    bitte, wenn Du schon kommentierst, dann aber auch richtig :)
    Das sind 10/1000 Sec...

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Sleep (10) ;Lässt das Script 10 Sec nichts machen, um die CPU-Aulastung zu verringern

    Ich will nicht päpstlicher als der Papst sein, aber das kann auch sehr gut missverstanden werden :P Es geht nicht um das "nix-tun" an sich, damit du dem computer mal ne pause gönnst, damit er wieder relaxt ans Werk gehen kann...Es geht darum das der Computer in der gleichen Zeit 10 mal weniger diese Schleife abarbeiten muss ;]

    Ich zumindest hab das als Anfänger immer so hingenommen, war mir aber nie wirklich bewusst warum man das machen muss..

  • nichts gegen den Papst, aber jetzt muß ich nochmal...

    das mit dem 10x weniger die Schleife und so, das stimmt so aber auch nicht.
    Wie oft der Rechner die Schleife durchläuft ist gelinde gesagt schnurzpiep*....

    siehe mein Post: Link

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Bor leute ey, jetzt wird sich hier schon über sleep gestritten :evil:
    Ist doch ganz klar sleep hält das script bestimme millisec an und nichst anderes, und es stimmt auch nicht, das wenn man das Sleep (10) macht, das der PC die schleife 10 mal weniger ausführt! Wenn man nähmlich kein SLeep einbaut versucht der PC das so schnell zu machen wie es geht! Und das ist viel schneller als 10x Schneller wenn man Sleep (10) weglässt, hängt halbt davon ab wie schnell der PC ist!

    mfg. Jam00

  • na ist doch ganz einfach.
    sleep(100) sagt dem Processor (nicht direkt, aber so ähnlich...):
    Ich brauche die nächsten 100 mSec keine Rechenleistung, bitte übergehe mich und komm in 100 mSec wieder.
    In dieser Zeit wird an Deinem Script/Prog nichts berechnet, geschleift, geprüft, oder sonst irgendetwas getan.
    Bei Zeitkritischen Programmen (in anderen Programmiersprachen)
    kann man auch einen sleep von weniger als 1 mSec eingeben. Die kleinste Größe (1 mSec) ist nur von AutoIt "vorprogrammiert"

    Du könntest in Dein Script also auch einen sleep(1) einbauen, und die Prozessorlast wäre nicht 100%.
    Heißt: Dein Script gibt 1000x in der Sec. die Rechenleistung wieder ab an den Leerlaufprozess, der die Verteilung steuert.
    heißt aber auch, dass Dein Prog die Rechenleistung 1000x /sec erhält.
    Welches Prog in AutoIt das braucht ist eine andere Frage....

    Edit: Jam00 Wir streiten in keinster Weise. Wir versuchen nur zu lernen und zu verstehen...

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Denk doch mal mit Jam... Mit sleep(10) versucht der Pc immernoch alles so schnell zu machen wie es geht.. als wenn jetz der PC durch sleep arbeitsspeicher verliert.. doch mit sleep wird dem pc eben befohlen, dass nach jeder durchgemachten schleife (die er so schnell macht wie er nur kann) 10ms schläft..vorher hat er keine Millisekunde nix getan -> Unterschied 10x
    Aber du hast recht ich hab auch keine lust mich wegen sowas zu streiten.. da ich eh schon nervlig am ende bin weil moin wieder alltag anfängt ohne das ich 1 Ferientag hatte ;(

    Edit: interessante Theorie Schnuffel ;) gebe mich geschlagen! Aber ich hab iwo mal gelesen, das es das gleiche ist (in Autoit) 1ms oder 10ms zu schlafen... Das siehstu schon an TimerInit.. Es ist meißtens 10ms falsch!

  • Am ich habe denn Script zusammengestellt und wie stelle ich denn hinein. Da Bräuchte ich nemlich ne URL und dafür müsste ich es ins net stellen?

    oder wie geht das sonst?

  • Das ist mein Script


    Spoiler anzeigen

    4472

    Einmal editiert, zuletzt von neudo (19. April 2009 um 14:40)

  • Hey! Ja RegRead war bei mir falsch und du hattest 1 w zu viel in deiner adresse! Vllt klappts so..

    [autoit]

    $Pfad = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox", "CurrentVersion")
    $Pfad = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\"&$Pfad&"\Main", "PathToExe")

    [/autoit][autoit][/autoit][autoit]

    $Time = "15:01"
    $Seite = "www.festlinfo.at"

    [/autoit][autoit][/autoit][autoit]

    While 1
    If @HOUR & ":" & @MIN = $Time Then
    Run ($Pfad & " \" & $Seite)
    Exit
    EndIf
    Sleep (10)
    WEnd

    [/autoit]

    2 Mal editiert, zuletzt von ChaosKeks (19. April 2009 um 15:11)

  • Muss ich das dann noch aktivieren oder so? oder nur das skript schreiben und dann zur vorgegebenen Urzeit fonktioniert es dann oder wie?