Wenn mehrere Anfragen gleichzeitig reingehen musst du diese natürlich queuen, ansonsten lässt dich das natürlich realisieren.
AutoIt ist zwar ein bisschen langsamer aber sollte trotzdem schnell genug sein um da mithalten zu können.
Beiträge von alpines
-
-
Vielleicht nimmt er ja nur .txt? Lass dir die Datei die er am Ende runterlädt doch einfach mal mit einer MsgBox ausgeben.
-
Hast du irgendwelche Stringfunktionen benutzt die das Dateiende auf ein Minimum begrenzen? Versuchs mal mit einer langen Dateiendung, wie schauts dann aus?
-
Danke für deine HIlfe, hat sich alles geklärt.
-
Bitte ordentlich formatieren und in einen Spoiler packen.
-
Hätte nicht gedacht das das so funktioniert, danke!
-
Entweder per TCP / WinHttp requesten oder auf die einfache Art
[autoit]#include <Inet.au3>
[/autoit][autoit][/autoit][autoit]Local $sSource = _InetGetSource("www.google.de")
[/autoit]
Bei den strong-Tags musst du aufpassen, die können häufiger vorkommen aber wenn du den richtigen Index erwischt geht das auch, andererseits könntest du auch StringRegExp nehmen, aber das ist zu kompliziert. -
Halli hallo
Ich hab das folgende Problem das meine Funktion nicht getriggered wird wenn ein Objekt Error entsteht.
[autoit]
Hier ist ein kleines Beispiel#include <IE.au3>
[/autoit][autoit][/autoit][autoit]ObjEvent("AutoIt.Error", "_MyErrFunc")
[/autoit][autoit][/autoit][autoit]
Local $oIE = _IECreate("about:blank")
$oIE.IrgendeineMethodeDieNichtExistiert()Func _MyErrFunc($oError) ;<- Habs auch ohne $oError probiert, habs da stehen gelassen da der Error ja übergeben wird
[/autoit]
MsgBox(64, "", "Something bad happened.")
EndFunc -
Wie mein Vorredner erwähnte kannst du statt Run einfach RunWait benutzen, dann wartet er bis der Prozess komplett abgeschlossen ist, Parameter sind die selben.
-
[autoit]
Run ( "program" [, "workingdir" [, show_flag [, opt_flag]]] )
[/autoit]
"show_flag" einfach auf @SW_HIDE setzen. -
Beim downloaden eignet sich InetGet, da kannst du weiter machen während es downloadet, ansonsten würde ich Multitasking vermeiden, kannst ja ein 2. Script erstellen was dies dann bewerkstelligt.
-
Mit Execute ginge das auch aber ist nicht so schön.
-
Egal welchen Weg du nimmst, du kommst am Ende bei Arrays einfach nicht vorbei. Sie werden dich im Traum heimsuchen und dich solange ärgern bis du sie verwendest
Arrays sind doch nichts schlimmes, sie erleichtern die Arbeiten in AutoIt um einiges. -
Nur als Optimierungstipp
[autoit]Local $aArray[10]
[/autoit]
$aArray[0] = ...
;...ist nicht gut, nimm lieber
[autoit]Local $aArray[10] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[/autoit]
Desweiteren kann man den Source-Code mit Arrays um eine gaaaaaanze Menge kürzen. -
Alternativ geht auch _IEDocWriteHTML.
-
Heißt das nicht TCP?
-
Du kannst dir eine Schreiben in dem du einen ErrorHandler registrierst, bin mir nicht mehr ganz sicher wie das ging.
// http://www.autoitscript.com/forum/topic/83…ling-in-autoit/
-
Das wäre auch eine Möglichkeit, dann könnte man das IE Fenster nehmen und entweder dahinscrollen (Was schlechter ist) oder einfach das <iframe> einbinden.
Zur Not tuts auch der eigene HTML Renderer den man dann einbindet aber das dauert doch schon ein bisschen länger -
Auch alles Gute von mir
-
Genau das gleiche wie Photon wollte ich posten aber kam wohl ein paar Stunden zu spät, angeblich soll das mit den DllCalls gehen.
Ansonsten bleibt nur die unkreative Variante der mehreren Scripte wobei die Zusammenführung der Ergebnisse aber schwierig wird.