Mein fehler war das ich nicht die Stelle des Arrays angegeben habe, mit der ich den Mittelwert bilden möchte.
Vielen Dank again!
Mein fehler war das ich nicht die Stelle des Arrays angegeben habe, mit der ich den Mittelwert bilden möchte.
Vielen Dank again!
@alpines mein E-Mail Check soll am Anfang prüfen, ob der Check schon einmal durchgelaufen und die Textdatei vorhandne ist.
Sollte er bereits gelaufen sein, findet er ja die Textdatei und soll nun den E-Mail-Delay als Wert (hier: 6,67 seconds) speichern. Im späteren Verlauf des Checks wird der E-Mail-Delay ja wieder in Sekunden geprüft (angenommen mal 5 seconds). So weit, so gut.
Nun soll mein Check den Wert des alten Durchlauf also 6,67 seconds mit dem Wert des neuen Durchlauf 5 seconds addieren um den Durchschnitt zu ermitteln. Leider stehe ich vor dem Problem das mein Check zwar in der Lage ist, die 6,67 als $aRes in der MsgBox auszugeben, diesen Wert aber nicht als Variable speichert.
Somit kann ich die beiden Werte des E-Mail-Delays (6,67 aus der Vorgängerdurchlauf meines Checks und 5 aus dem gerade laufendem Check) nicht addieren.
@Bitnugger hat mein Geblubber wohl verstanden und die passende Antwort geliefert, wenn ich nicht irre und das tu ich oft
Zeile 14 speichert doch die Zahl 6,67 in die Variable $fResNumber?
Hey zusammen und vielen Dank für Eure hilfreichen Antworten,
@alpines dein Code funktioniert aber leider verstehe ich ihn nicht einmal ansatzweise, was Modifizierungen für mich schwer macht aber trotzdem vielen Dank!
@Andy ich hatte verschiedene Suchen auf Gockel angestoßen und kam dann auf das RegExp Tutorial von @SEuBo und hab mich darin verrannt. _StringBetween hatte ich infolge dessen garnicht betrachtet . Das hätte Euch meinen Thread wahrscheinlich erspart aber ausschließen möchte ich nichts
Meine Textdatei kann tatsächlich auch ein ERROR statt OK nach meinem Delay enthalten, das hat @alpines richtig erkannt. @autoBert hat aber den Teil meiner Ausgabe in seinem Code beschrieben, der unverändert bleibt und mit dem werde ich jetzt arbeiten.
Habe jetzt aber zwei weitere Verständnisfragen
1. Sollte ich meinen _StringBetween auf den ersten Teil meiner Aufgabe beziehen, müsste ich ja noch den ERROR-Fall berücksichtigen. Da wäre doch die beste Variante eine IF-Schleife inkl. ElseIf, richtig?
2. $sRes in der Variante von @autoBert wird in der MsgBox als Zahl wiedergegeben aber speichert nicht die Variable $sRes als Zahl, oder?
(Im weiteren Verlauf möchte ich nämlich den Durchschnitt aus dem Delay des Vorgängercheck und dem Nachfolger, also dem aktuell angestoßenem Check ermitteln.)
Edit: Fast vergessen, vielen Dank nochmals für Eure Hilfe!!!
Hallo zusammen,
ich möchte ein derzeit laufendes Skript um eine weitere Funktion erweitern.
Hierfür möchte ich einen Ausgabewert (geschrieben in ein .txt) auslesen und eine einzige Zahl in eine Vaiable speichern.
Ist das möglich oder kann ich nur ganze Zeilen auslesen und speichern?
Das Probelm an dem Wert ist, das er sich verändert, oder ist das garkein Problem?
Meine Ausgabe:
Ich möchte ausschließlich die Zeitangabe des Delay speichern also im Beispiel (6,67).
Ich habe das Tut von @SEuBo gelesen aber keine Lösung für mich entdeckt.
Vielen Dank für deine Hilfe! Habe jetzt vorerst mit ControlSend gearbeitet und werde über das Wochenende mal gucken wie es sich verhält.
Sollte es nicht wie erhofft laufen, komme ich aber gerne auf dein Angebot zurück
Du meinst welche URL? Die Seite ist leider nicht extern abrufbar
Mein Skript simuliert einen Login, eine Suche und einen Logout.
Da die Seite aber mit einer Menge verschachtelter Frames aufgebaut ist, simuliere ich jetzt mit Tastenkombinationen.
Das Problem ist halt das der IE nicht im Fokus und somit im Hintergrund läuft und mir somit die Tastenkombinationen zerstört.
Hallo zusammen,
wieder einmal habe ich ein Noob-Problem.
Ich habe ein Script das fast ausschließlich auf Tastaturkombinationen beruht und habe das Problem das der Fokus nicht auf dem IE gesetzt ist.
Wie kann ich meinen Skript beibringen das der Fokus bis zum Quit auf dem IE liegen soll?
Bisher war ich der Meinung das ein _IECreate den Fokus automatisch auf den IE legt und somit im Vordergrund abläuft:
Global $oIE = _IECreate ("...")
$HWND = _IEPropertyGet($oIE, "hwnd")
WinSetState($HWND, "", @SW_MAXIMIZE)
_IEAction($oIE, "visible")
_IELoadWait($oIE)
Dem ist abert nicht so.
Kann mir jemand weiterhelfen?
Danke und beste Grüße!
Klar heißt es If-Anweisung, ich meinte den Then Tiel der If-Anweisung
Local $pageTitle = _IEPropertyGet ($oIE,"title")
Local $searchResult = StringInStr ( $PageTitle, "Mietvertrag")
Local $timer = TimerInit ()
Local $timeDiff = 0
While $searchResult = 0
Sleep (500)
Wend
$status = 1
$timeDiff = Round(TimerDiff($timer)/1000 , 2)
$result = $result & 'search: OK, '
Ist die While-Schleife so richtig? Solange result = 0 also ungleich Mietvertrag, setzt der Sleep ein und überprüft dann wieder result solange bis result = 1 ist, oder?
In dem Fall result = 1 setzt er dann $status =1, gibt die benötigte Zeit aus.
Edit:
Meine Lösung ist definitv unbrauchbar. Evtl. können wir Step by Step vorgehen?
Habe leider keine Erfahrung mit While-Schleifen aber die Zeilen 1 - 7 sollten doch soweit richtig sein, oder?
Ausformuliert: Die While Schleife läuft so lange bis der Titel der Seite Mietvertrag enthält. Stimmt es?!
Hallo zusammen,
wieder stehe ich vor einem problem und dazu brauche ich Eure Hilfe.
Für eine Abfrage möchte ich den Pagetitel abfragen.
Da die Seite aber lädt und die Then-Anweisung erstmal false geht, möchte ich das die Else-Anweisung einfach einen Sleep(1000) einlegt und wieder die Then-Anweisung testet.
Sollte nach 30 Sekunden die Then-Anweisung noch immer fehlschlagen, soll die Schleife beendet werden.
Local $pageTitle = _IEPropertyGet ($oIE,"title")
Local $result = StringInStr ( $PageTitle, "Mietvertrag")
Local $timer = TimerInit ()
Local $timeDiff = 0
If $result > 0 Then
$status = 1
$timeDiff = Round(TimerDiff($timer)/1000 , 2)
$result = $result & 'search: OK, '
Else
Ich habe leider garkeine Idee wie ich das verpacke, kann mir jemand helfen?
Danke!
Ohje...
Mein Befehl funktionierte aber wurde durch ein anderes Programm (intern) gebloggt...
Vielen Dank!
_FFCmd('.getElementById("choose_action_sign_in").click();') sollte das machen
Damit hatte ich es, glaube ich , auch schon vergeblich versucht.
Hab ein paar Tests schon durch und bisher keine Lösung gefunden.
Muss ich mich nicht erst durch die DIV Container arbeiten?
Hallo zusammen,
für eine intern genutzte Web-Applikation möchte ich einen Login-Bot schreiben, allerdings ist diese App nur über den FF aufrufbar. Dies ist für mich ein Problem, da es neuland für mich ist.
Mein anzusteuernder Link liegt in einem DIV-Container. Somit komme ich doch über die normale Funktion _FFLinkClick nicht weiter, oder mache ich was falsch?
Quelltext:
@Schnitzel
Mein Skript sollte Excel bedienen können. Die Excel UDF funktioniert leider auch nicht in dem Zusammenhang.
@Schnuffel
Du hast es richtig verstanden wobei Das Skript soll schon auf der VM selbst laufen aber diese ist ja nicht 24/7 connected.
Hallo zusammen,
muss das Thema nochmals aufgreifen.
Versuche mich wieder an dem Skript um irgendwie eine Lösung zu finden mit der ich ein MouseClick/Tastatur gesteuertes Skript auf einer VM mit permanent angemeldeten User zum Laufen bekomme.
Das Problem was ich habe, ist noch das gleiche.
Soll heißen, das mein User zwar immer an der VM angemeldet ist, diese VM aber zu 90% im Hintergrund läuft, d.h. ohne Bildschirm/Tastatur.
Existiert da eine denkbare Lösung? Die meisten hier haben sehr viel mehr Erfahrung mit AutoIT und haben evtl. schonmal vor einem geleichen Problem gestanden.
Die Tage stoß ich auf folgenden Artikel, der mich aber auch nicht weitergebracht hat:
Running Tests in Minimized Remote Desktop Windows
Du könntest versuchen mit send die Befehle zum Bedienen von Excel "blind" zu senden. Aber das wird mehr schlecht als recht funktionieren.
Send Befehle hatte ich in dem Zusammenhang schon probiert und es war Frustration pur.
Also hab ich ausschließlich die Chance über ADO zum Erfolg zu kommen? Dann muss ich mich mal über ADO schlau machen
Die Möglichkeit das Skript auf dem Server laufen zu lassen, habe ich leider nicht.
Muss also per Remote App oder normaler RDP auf Excel zugreifen und skripten.
Jetzt bin aber ein wenig verwirrt, weil es unterschiedliche Meinungen bezüglich der Umsetzung über RDP/Remote App gibt oder habe ich eure Antworten fehlinterpretiert?
Die Excel UDF automatisiert nicht das GUI sondern verwendet COM um auf die Excel Objekte im Hintergrund zuzugreifen.
Was willst Du mit Excel konkret tun?
Im Grunde ziehe ich mir eine Statistik über Excel aber da mir der Aufwand jedesmal zu groß ist, möchte ich das ganze automatisieren um im Anschluss benötigte Werte per Powershell Skript in mein System einzupflegen.
Hallo zusammen,
für Excel möchte ich gerne ein Skript schreiben und habe folgende Fragen um zu sehen ob AutoIT in Verbindung mit Excel überhaupt geeignet ist.
Bisher habe ich nur Erfahrung mit Excel-Internet Explorer.
1. Zum Einstieg muss ich mich per RemoteApp anmelden. Das sollte mit AutoIT möglich sein, oder?
2. Wird Excel geöffnet und ein weiterer Login wird direkt in Excel getätigt.
3. Der Reiter muss von File auf Data gewechselt werden.
Das sind meine ersten drei Schritte, die AutoIT abbilden können muss und bisher habe ich noch keinen Lösungsansatz.
Send Befehle kommen für mein Skript nicht in Frage, da mein Skript auf einer VM laufen wird auf der zwar ein User angemeldet aber die Session nicht 24/7 geöffnet ist.
Gibt es Funktionen, ähnlich wie beim IE, mit denen ich den Login bzw. den Reiter Data aufrufen kann oder ist man gezwungen mit Send zu arbeiten?
Vielen Dank für eure Antworten und eure Hilf!!!