Ein Skript das in einer Internetseite alle fünf minuten aktualisieren es soll eine pause eingebaut werden!

  • Hallo Alle Zusammen!

    ich möchte mein Skript erweitern und zwar ist es schon fertig doch möchte ich gern ein kleine Änderung vornehmen hier erstmal der ganze Skript.

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>
    HotKeySet("{ESC}", "Terminate")

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

    $sUsername = 'Benutzername'
    $sPassword = 'Mein Passwort'

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

    $url = "http://www.jappy.de/"
    Global $oIE = _IECreate($url)
    $hWND = _IEPropertyGet($oIE, "hwnd")
    WinSetState($hWND, "", @SW_MAXIMIZE)

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

    $oform = _IEFormGetCollection($oIE, 0)
    $oname = _IEFormElementGetObjByName($oform , "login[u]")
    $opasswd = _IEFormElementGetObjByName($oform , "login[p]")
    $obutton = _IEFormElementGetObjByName($oform , "Submit")
    $setname = _IEFormElementSetValue($oname, $sUsername)
    $setpasswd = _IEFormElementSetValue($opasswd, $sPassword)
    _IEAction($obutton, "click")

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

    While True
    Sleep(300000)
    _IEAction($oIE, "refresh")
    Wend

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

    Func Terminate()
    Exit 0
    EndFunc

    [/autoit]


    und hier das was ich ändern möchte

    Spoiler anzeigen
    [autoit]

    While True
    Sleep(300000)
    _IEAction($oIE, "refresh")
    Wend

    [/autoit]

    und zwar tut der Skript die Internet Seite alle 5 Minuten aktualisieren ich möchte es erweitern so das man mit hilfe einer taste wie zum Beispiel F9 den Timer pausieren tut und erneut die taste gedrückt oder F10 um die Pause wieder auf zu hebt. es soll aber nicht nach der pause auf hebung das ganze skript wiederholen nur denn abschnitt mit dem Sleep .

    bitte um Hilfe

    MfG

    Baron1977

  • ja aber der befehl schließt den Skript ich möchte gern das es ein befehl gibt der nur den Timer nicht denn skript schliesst sondern wenn man auf die taste drück wie F9 zum Beispiel nur dieser abschnitt Pausieren tut und wenn ich dann z.B. F10 drücke nur diesen abschnitt wieder aktiv ist so das er nicht alles vom skript wieder hollt

  • es soll so dienen wenn man auf der seite ist und gerade schreibt das der Skript nicht einfach aktualisieren tut deswegen will ich gern mein skript erweitern es soll ja so bleiben es soll nur dieser bereich

    [autoit]

    While True
    Sleep(300000)
    _IEAction($oIE, "refresh")
    Wend

    [/autoit]

    erweitert werden in diesen bereich ein unterbrecher und wieder fortfahren von diesen Skript bereich nur.

    das HotKeySet kann so bleiben


    oder was noch gut wehre das wenn man auf der seite ist und mit der tastertur tippt das der

    [autoit]

    While True
    Sleep(300000)
    _IEAction($oIE, "refresh")
    Wend

    [/autoit]



    von vorne beginnt erst aktiv ist wenn sich auf der seite mit der tastertur nichts tut

  • Baue das hier mal ein ...

    Spoiler anzeigen
    [autoit]

    Global $g_bAutoRefresh = FALSE

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

    HotKeySet ("{F9}", "AutoRefresh")

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

    Func AutoRefresh ( )

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

    If (not $g_bAutoRefresh) Then
    $g_bAutoRefresh = TRUE
    Else
    $g_bAutoRefresh = FALSE
    EndIf

    ConsoleWrite ("--- g_bAutoRefresh = "&$g_bAutoRefresh & @crlf)

    While ($g_bAutoRefresh)

    _IEAction($oIE, "refresh")

    Sleep(1000) ; 1 Sekunde
    Wend

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

    EndFunc

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


  • geht das nicht ihrgendwie vielleicht so das ich hier

    [autoit]

    #include <IE.au3>
    HotKeySet("{ESC}", "Terminate")
    HotKeySet("{F9}", " befehl um pause ein zu geben
    HotKeySet("{F10}", " befehl um die pause wieder auf zu heben

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

    und hier

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

    While True
    die befehle hier mit einbaue ????????????
    Sleep(300000)
    _IEAction($oIE, "refresh")
    Wend

    [/autoit][autoit][/autoit][autoit][/autoit]
  • So sollte es gehen ...

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>

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

    Global $g_bAutoRefresh = FALSE

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

    Global $sUsername = 'Benutzername'
    Global $sPassword = 'Mein Passwort'

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

    Global $url = "http://www.jappy.de/"

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

    HotKeySet("{ESC}", "Terminate")
    HotKeySet ("{F9}", "AutoRefresh")
    ;~ HotKeySet ("{F10}", "AutoRefresh")

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

    Global $oIE = _IECreate($url)
    $hWND = _IEPropertyGet($oIE, "hwnd")
    WinSetState($hWND, "", @SW_MAXIMIZE)

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

    $oform = _IEFormGetCollection($oIE, 0)
    $oname = _IEFormElementGetObjByName($oform , "login[u]")
    $opasswd = _IEFormElementGetObjByName($oform , "login[p]")
    $obutton = _IEFormElementGetObjByName($oform , "Submit")
    $setname = _IEFormElementSetValue($oname, $sUsername)
    $setpasswd = _IEFormElementSetValue($opasswd, $sPassword)
    _IEAction($obutton, "click")

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

    AutoRefresh ( )

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

    While ($oIE)
    Sleep(50)
    Wend

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

    Func AutoRefresh ( )

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

    If (not $g_bAutoRefresh) Then
    $g_bAutoRefresh = TRUE
    Else
    $g_bAutoRefresh = FALSE
    EndIf

    ConsoleWrite ("--- g_bAutoRefresh = "&$g_bAutoRefresh & @crlf)

    While ($g_bAutoRefresh)

    _IEAction($oIE, "refresh")

    Sleep(1000) ; 1 Sekunde
    Wend

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

    EndFunc

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

    Func Terminate ( )
    _IEQuit ($oIE)
    Exit 0
    EndFunc

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


    Gruß


  • gibt es da nicht die möglichkeit nur den bereich zu aendern


    [autoit]

    #include <IE.au3>
    HotKeySet("{ESC}", "Terminate")
    HotKeySet("{F9}", " befehl um pause ein zu geben
    HotKeySet("{F10}", " befehl um die pause wieder auf zu heben

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

    und hier

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

    While True
    die befehle hier mit einbaue ????????????
    Sleep(300000)
    _IEAction($oIE, "refresh")
    Wend

    [/autoit]

    das wenn man auf F9 Drückt Pause ist und wenn man wieder F10 Drückt der Sleep von neu anfangt zu zählen aber wiklich nur der bereich mit den Sleep 300000 wenn die pause mit F10 aufgehoben wird soll er nicht den ganzen Skript wieder ausführen

    MfG

    Baron1977

  • Ich habe mir mal folgendes überlegt, wenn die F9 Taste gedruckt wird, wird der Teil in meiner _Machwas Funktion nicht mehr durchlaufen, noch mal F9 und er fängt wieder an. Ich habe das mal mit Demodaten gemacht, aber vielleicht kannst du es gebrauchen.

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>
    HotKeySet("{ESC}", "Terminate")
    HotKeySet("{F9}", "_Pause")

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

    Local $timeout = 10000 ; 10 Sekunden
    Local $pause = False

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

    ; Erster Start beim Programmstart
    AdlibEnable('_Machwas',$timeout)

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

    ; Endlosschleife
    While True
    ConsoleWrite(@LF & 'Teil der Endlosschleife' & @LF)
    Sleep(1000) ;Pause damit man was sieht
    WEnd

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

    ; Diese Funktion wird aufgerufen, wenn man F9 drückt
    Func _Pause()
    ; Setze die Variable $pause
    $pause = Not $pause

    ; Wenn Pause = True, dann den Teil in _Machwas nicht
    ; mehr ausführen
    If $pause Then
    AdlibDisable()
    ConsoleWrite(@LF & 'Pause aktiviert' & @LF)
    ; Ansonsten soll wieder alle X Sekunden der Teil in
    ; der Machwas Funktion abgearbeitet werden.
    Else
    AdlibEnable('_Machwas',$timeout)
    ConsoleWrite(@LF & 'Pause deaktiviert' & @LF)
    EndIf
    EndFunc

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

    ; Beende das Skript
    Func Terminate()
    Exit
    EndFunc

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

    ; Diese Funktion wird alle X Sekunden aufgerufen.
    Func _Machwas()
    ConsoleWrite(@LF & 'Hier ist der Teil, der alle x Sekunden, je nach Timeout Einstellung, laufen soll.' & @LF)
    ; _IEAction($oIE, "refresh")
    EndFunc

    [/autoit]

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

  • Hört sich nicht schlecht an das müßte doch eigendlich die lösung für meine Internetseite sein, ich habe denn Skript ungefähr in meinen Skript eingebaut doch da haut noch nichts hin

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>
    HotKeySet("{ESC}", "Terminate")
    HotKeySet("{F9}", "_Pause")

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

    Local $timeout = 1000 ; 10 Sekunden
    Local $pause = False

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

    ; Erster Start beim Programmstart
    AdlibEnable('_Machwas',$timeout)

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

    $sUsername = 'Benutzername'
    $sPassword = 'Mein Passwort'

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

    $url = "http://www.jappy.de/"
    Global $oIE = _IECreate($url)
    $hWND = _IEPropertyGet($oIE, "hwnd")
    WinSetState($hWND, "", @SW_MAXIMIZE)

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

    $oform = _IEFormGetCollection($oIE, 0)
    $oname = _IEFormElementGetObjByName($oform , "login[u]")
    $opasswd = _IEFormElementGetObjByName($oform , "login[p]")
    $obutton = _IEFormElementGetObjByName($oform , "Submit")
    $setname = _IEFormElementSetValue($oname, $sUsername)
    $setpasswd = _IEFormElementSetValue($opasswd, $sPassword)
    _IEAction($obutton, "click")

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

    While True
    ConsoleWrite(@LF & 'Teil der Endlosschleife' & @LF)
    Sleep(1000) ;Pause damit man was sieht
    WEnd

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

    ; Diese Funktion wird aufgerufen, wenn man F9 drückt
    Func _Pause()
    ; Setze die Variable $pause
    $pause = Not $pause

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

    ; Wenn Pause = True, dann den Teil in _Machwas nicht
    ; mehr ausführen
    If $pause Then
    AdlibDisable()
    ConsoleWrite(@LF & 'Pause aktiviert' & @LF)
    ; Ansonsten soll wieder alle X Sekunden der Teil in
    ; der Machwas Funktion abgearbeitet werden.
    Else
    AdlibEnable('_Machwas',$timeout)
    ConsoleWrite(@LF & 'Pause deaktiviert' & @LF)
    EndIf
    EndFunc

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

    ; Beende das Skript
    Func Terminate()
    Exit
    EndFunc

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

    ; Diese Funktion wird alle X Sekunden aufgerufen.
    Func _Machwas()
    ConsoleWrite(@LF & 'Hier ist der Teil, der alle x Sekunden, je nach Timeout Einstellung, laufen soll.' & @LF)
    ; _IEAction($oIE, "refresh")
    EndFunc

    [/autoit]

    denn Sleep habe ich bewusst runter gestellt um zu testen das er sich auf der Internetseite sich einloggt,aktualisieren und die F9 Taste geht die seite geht wie gehabt doch funktioniert der befehl _IEAction($oIE, "refresh und die F9 taste nicht.


    ich denke das es aber in der richtung das wehre was ich brauche doch was ist da falsch?????

  • das Plugin für Firefox habe ich schon dieser Skript soll für den IE sein und ist für meine Verlobte da sie nicht mehr zufrieden ist mit firefox der stürzt oft ab für den IE gibt es auch aber die Funkz nicht. da will ich doch lieber ein skript haben der nach meine Wünschen gebaut ist und vieles mehr. und das ist eine aufgabe dann lernt man noch was !

  • k, bin doch noch nicht weg.

    kleiner tipp, _ieaction("refresh") ist schonmal gut. machs doch soo.. if (@min - $startmin) > 5 then refresh

    so würde alle 5 minuten aktualiseiert werden. dann machst dus noch so, das wenn @hour = 0 ist das $startmin neu eingelesen wird. außerdem sollte nach jedem aktualisieren und betätigen der pausefunktion ebenfalls $startmin neu eingelesen werden..

    hier das pseudobeispiel mal als code..

    [autoit]

    $Pause = False
    Func Pause()
    If $Pause = True Then
    $Pause = False
    $startmin = @MIN
    ElseIf $Pause = False Then
    $Pause = True
    EndIf
    EndFunc

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

    While True
    If Not $Pause Then
    If (@MIN-$startmin) > 5 Then
    _IEAction($Object, 'refresh')
    EndIf
    EndIf
    If @HOUR = 0 Then $startmin = @MIN
    Sleep(1000*30)
    WEnd

    [/autoit]
  • Also, das Beispiel von mir weiter oben funktioniert hervorragend, habe es ein wenig optimiert ...

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>

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

    Global $g_bAutoRefresh = FALSE

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

    Global $sUsername = 'Benutzername'
    Global $sPassword = 'Mein Passwort'

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

    Global $url = "http://www.jappy.de/"

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

    HotKeySet("{ESC}", "Terminate")
    HotKeySet ("{F9}", "AutoRefresh")
    ;~ HotKeySet ("{F10}", "AutoRefresh")

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

    Global $oIE = _IECreate($url)
    $hWND = _IEPropertyGet($oIE, "hwnd")
    WinSetState($hWND, "", @SW_MAXIMIZE)

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

    $oform = _IEFormGetCollection($oIE, 0)
    $oname = _IEFormElementGetObjByName($oform , "login[u]")
    $opasswd = _IEFormElementGetObjByName($oform , "login[p]")
    $obutton = _IEFormElementGetObjByName($oform , "Submit")
    $setname = _IEFormElementSetValue($oname, $sUsername)
    $setpasswd = _IEFormElementSetValue($opasswd, $sPassword)
    _IEAction($obutton, "click")

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

    Sleep(5000) ; Fünf Sekunden warten bis Login fertig ist

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

    AutoRefresh ( )

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

    While (WinExists ($hWND))
    Sleep(50)
    Wend

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

    Func AutoRefresh ( )

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

    Local $iCount
    Local $iSleep = 250


    If (not $g_bAutoRefresh) Then
    $g_bAutoRefresh = TRUE
    Else
    $g_bAutoRefresh = FALSE
    EndIf

    ConsoleWrite ("--- g_bAutoRefresh = "&$g_bAutoRefresh & @crlf)

    While ($g_bAutoRefresh)

    If ($iCount == 3000) Then

    $iCount = 0
    _IEAction($oIE, "refresh")
    EndIf

    $iCount += $iSleep
    Sleep($iSleep) ; 0,25 Sekunden
    Wend

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

    EndFunc

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

    Func Terminate ( )
    _IEQuit ($oIE)
    Exit 0
    EndFunc

    [/autoit]


    Gruß
    Greenhorn


  • Ich habe da 2 kleine Änderungen vorgenommen

    und zwar

    Spoiler anzeigen
    [autoit]

    _IEAction($obutton, "click")

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

    Sleep(5000) ; Fünf Sekunden warten bis Login fertig ist

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

    AutoRefresh ( )

    [/autoit]

    den Sleep habe ich aus gebaut und ersetzt durch dies hier

    [autoit]

    _IEAction($obutton, "click")

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

    WinWaitActive("Jappy - Deine Online Community - Windows Internet Explorer")

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

    AutoRefresh ( )

    [/autoit]

    ich denke es würde besser sein es könnte ja mal passieren das auf einmal die internet leitung larm ist und dann funkz der skript auf einmal nicht mehr.

    bei der 2te habe ich nur am ende _IEQuit ($oIE) den befehl weg gelassen wegen den aus loggen.

    an sonsten ist es dir gut gelungen das ist genau das richtige was ich noch zum skript brauchte.

    MfG

    Baron1977


    P.s. hiermit ist die aufgabe gelöst