Beiträge von Mennimax
-
-
-
-
-
-
jedoch würde "MsgBox" bewirken, dass sich ein fenster mit dem text öffnet, und es würde die ganze zeile wiedergegeben werden.
ich mach mal ein beispiel.
es handelt sich um 3 Personen.Ich bin PersonC
personA schreibt in den chat: "ich hätte gerne ein gutschein für 10€".
das programm protokolliert das und in dem auszulesendem Chatlog.txt steht nun folgendes:".....
.....
21:53 PersonA: Ich hätte gerne ein Gutschein für 10€"das scribt soll nun diese letzte zeile erfassen, und als textausgabe(ich denke mal der Befehl "SendChat" oder "SendKeys.Send") die tasten wie folgt drücken: "gebe PersonA ein Gutschein im wert von 10€" und dieses mit ENTER bestätigen
".....
21:53 PersonA: Ich hätte gerne ein Gutschein für 10€
21:54 PersonC: gebe PersonA ein Gutschein im wert von 10€"sollte nun eine PersonB schreiben:
"Ich hätte gerne ein Gutschein für 12€"im log also folgendes:
".....
21:53 PersonA: Ich hätte gerne ein Gutschein für 10€
21:54 PersonC: gebe PersonA ein Gutschein im wert von 10€
22:02 PersonB: Ich hätte gerne ein gutschein für 12€"und wieder soll nur der Name also "PersonB" und der betrag "12" erfasst werden und als nachricht in das programm(welche natürlich offen/im vordergrund ist) eingetippt werden "gebe PersonB ein Gutschein im wert von 12€"
leider weiß ich dies nicht umzuseten.
mein lösungsweg wäre:
chatlog öffnen und analysieren, ob in der letzten zeile "Ich hätte gerne ein gutschein für" steht. <---dieser text ist immer gleich.
1. fals nein sleep-befehl und wieder zum anfang.
2. fals ja soll das 2. wort(in dem fall der name) sowie das 9. wort(der betrag) in eine variable gefasst werden und als "SendChat" oder "SendKeys.Send" einfach nur getippt werden -
Keybinder ist ein besserer begriff, aber egal wie sehr ich mich beschäftige werde ich aus manchen Sachen trotzdem nicht schlau.
Ich hab mir das alles etwas leichter vorgestellt, da ich schon Erfahrung mit der Programmierung eines "Raspberry Pi" habe, wie zum Beispiel das starten eines alten PKW´s mit dem Handy was an sich auch sehr komplex ist. Meine Vorstellung zu diesem Script war, aus einem ChatLog immer die neuste Zeile(=die unterste) auszulesen und 2 Wörter, die in der Zeile stehen als Tastendruck wiederzugeben.
Hätte ich gewollt, dass mir jemand ein Keybinder schreibt, so wäre ich nicht in diesem Forum.
Ich bin deshalb hergekommen, weil ich gleichzeitig auch diese Programmiersprache lernen wollte. -
Code
Alles anzeigen#include <File.au3> While Sleep(100) If FileReadLine("C:\test.txt", _FileCountLines("C:\test.txt")) = "66" Then; SendChat("test") EndIf WEnd
also wenn ich das jetzt richtig verstehe wird
1. "While Sleep(100)" der Befehl bis "WEnd" alle 100ms ausgeführt
2. "If FileReadLine" in der zuvor geöffneten Datei nur die letzte Zeile ausgelesen
3. sobald "66" in der letzten Zeile ausgelesen wird "then" aktiviert
4. und "then" wird automatisch durch "SendChat("test")" das wort "test" das momentan aktive fenster z.b. browser url schreiben5.wird der "then"-Befehl durch "EndIf" abgeschlossen?
6. oder ist der Befehl "SendChat("test")" eher durch "My.Computer.Keyboard.SendKeys("test")" zu ersetzen?Danke für die hilfreichen Antworten
-
Danke für die Antwort alpines
Demnach wäre ich bei
Code#include <File.au3> $file = FileOpen("C:\test.txt", -1) FileReadLine If "Befehl, wenn die zahl 66 erkannt wird" My.Computer.Keyboard.SendKeys("Text der geschrieben werden soll") End If
dann wird jedoch die letzte zeile nur einmal und nicht wiederholt ausgelesen oder sehe ich das falsch?
-
Hey liebe Community,
ich würde gerne wissen wie es möglich ist aus einer .txt Datei jede Sekunde die letzte Zeile auszulesen.nehme ich mal an die Datei ist auf dem Pfad C:\ und heißt Test.txt
"$file = FileOpen("C:\test.txt", -1)"
und ein externes Programm listet in (zeitlich) unregelmäßigen abständen eine zahl in diese Test.txt datei
z.b.
18
25
66
93so möchte ich, dass autoit erkennt, wenn die zahl 66 geschrieben wurde, und soll dann in meinem aktiven Fenster eine Textausgabe in Form von
If "Befehl, wenn die zahl 66 erkannt wird"
My.Computer.Keyboard.SendKeys("Text der geschrieben werden soll")
End IfTut mir leid wenn es etwas unverständlich geschrieben ist, bin noch ein Anfänger in Sachen AutoIt.
Danke schonmal im vorraus.MfG Mennimax