Das mit dem Hashen klingt gut, werd ich mir mal anschauen. Danke dir.
Beiträge von Paul01
-
-
Eine Frage hab ich noch.
Ist eine allgemeine Frage, denk aber nicht dass deshalb ein extra Thema aufgemacht werden muss.
Gibt es eine Möglichkeit eine Exe. eindeutig zu indetifizieren?
Ich möchte verhindern, dass meine Exe durch eine andere ausgetauscht werden kann.
Dachte schon an immer ändernde Exe Namen bei jedem Programmstart. Gibts da was sinnvolleres?
-
Schau ich mir morgen an, danke dir.
Gekonnt überlesen.
Edit: Habs hinbekommen, danke euch.
-
Ja ich meine mit welcher Funktion kann ich nach Inhalt von Windows suchen?
Hab bisher nur nach Class, Instanzen, Pids, Titel gesucht.
EDIT:
WinGetText aber dafür muss ich trz schon wissen wie mein entsprechendes WIndow heißt
-
Deshalb ja der Versuch.
Es gibt solche Programme schon, werden aber nur teuer verkauft. Möchts einfach mal probieren.
Also nochmal zum Anfang.
WinGetProcess braucht ja immer den Titel bzw Classnamen.
Geht schonmal nicht.
Kann ich nach Inhalt suchen? Dem "visible Text"?
-
Klar darfst du.
Wird der Versuch eines "GameShields". Sprich es gibt ein Programm was als Bot fungiert, dieses verändert bei jedem Start Fenstertitel + Classname.
Inhalt bzw. der Text darin bleibt natürlich gleich.
Da ich nicht möchte, dass man diesen Bot verwenden kann, soll mein Programm geschlossen werden wenn dieser Bot aktiviert ist.
-
Um dich nochmal zu zitieren
Der Text der enthalten ist? Im Fensternamen oder? Nicht irgendwo im Fenster oder?
Der Fenstername und der Prozessname verändern sich immer. Genau wie die Classe des Window.
Oder was besser wär, gibt es etwas um nach dem sichtbaren Text in einem Process zu suchen?
Dann müsste ich zwar auch alles durchgehen, wär aber für mich eindeutiger als die Button Class und Instanz.
-
Das ist aber bestimmt ganz schön cpu fressend oder?
Sind ja einige Prozesse.
-
Dafür brauch ich doch aber den Namen von Window oder versteh ich das falsch?
-
Hallo mal wieder,
diesmal eine kleine Frage.
Ist es möglich einen Process über Basic Control Infos zu finden?
Sprich ich hab von nem Window eine Control Info Class und Instance die fest definiert ist.
Über diese zwei Infos (Class & Instance) möchte ich, nach einem Process suchen der dies beinhaltet.
Möglich?
Danke !
Grüße
Paul01
-
Hallo @Musashi,
da kommt wenigstens ein gescheides Ergebnis raus :b
Bei meinem vorherigen Ansatz kam heute iwie nur Müll raus bzw noch etwas Html Code..
Jz muss ich das nur noch gescheid verglichen bekommen, danke dir schonmal !
EDIT:
Habs jetzt fertig so wie ichs brauche.
Danke an alle die mir geholen haben
-
Dann hab ich mich falsch ausgedrückt, ich brauche:
../letzte-ausgabe/n
Das habe ich auch einwandfrei hin bekommen.
Ich speichere jz einfach immer auch die Liste der Todesanzeigen und lösche diese am Ende.
Ist für ich zum Verständnis einfach das beste
Mein Problem ist jz, ich bekomme immer nur zwei Treffer angezeigt.. Irgendwas stimmt da mit meinen Schleifen nicht so wirlich.
Zudem habe ich noch das Problem, wie oben geschrieben, dass teilweise in der Rheinpfalz noch Geb. dabei steht mit dem ehemaligen Namen. Da ich die Information nicht habe, wäre es klasse wenn mir jemand den Regex umstellen könnte.
Brauch ausschließlich
Vorname Nachname|Geburtsdatum
Nur die zwei bzw drei Informationen. Wäre echt klasse.
Anbei mein bisheriges Programm. Seid nicht zu hart..
C
Alles anzeigen#include <Array.au3> #include <File.au3> #include <MsgBoxConstants.au3> Dim $InfoArray Dim $test = true Dim $Counter =1 While $test = true einlesenTodesanzeigen() WEnd Func einlesenTodesanzeigen() Local $hFile = FileOpen("todesanzeigeliste.txt", 1) ; 1 = append (anhängen) $IES = BinaryToString(InetRead("https://trauer.rheinpfalz.de/traueranzeigen/letzte-ausgabe/" & $Counter)) Local $Matches = StringRegExp($IES, '(?s)#828172">Traueranzeige (.*?)<.*?labelSearchItem">\* (.*?) - † (.*?)<', 3) Local $InfoArray[Int(UBound($Matches)/3)] If isarray($Matches) Then For $i = 0 to UBound($Matches) - 1 Step 3 $InfoArray[$i / 3] = $Matches[$i] & "|" & $Matches[$i + 1] & "|" & $Matches[$i + 2] Next _FileWriteFromArray($hFile, $InfoArray) FileClose($hFile) $Counter = $Counter+1 ConsoleWrite($Counter) Else pruefeUebereinstimmunge() $test = false EndIf EndFunc Func pruefeUebereinstimmunge() Local $file = FileOpen("rentnerliste.txt", 0) Local $file2 = FileOpen("todesanzeigeliste.txt", 0) ; Prüfen, ob Datei eingelesen wurde If $file = -1 Then MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.") Exit EndIf If $file2 = -1 Then MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.") Exit EndIf Local $i = 0 Local $x = 0 Do Local $line = FileReadLine($file) If @error = -1 Then ExitLoop ConsoleWrite("R: "&$line) Do Local $line2 = FileReadLine($file2) If @error = -1 Then ExitLoop ConsoleWrite("T: "&$line2) $iPosition = StringInStr($line2,$line) if $iPosition > 0 Then MsgBox(0,"Treffer",$line2) EndIf $x += 1 Until $x = 30 ConsoleWrite($i) $i += 1 Until $i = 3 FileClose($file) FileClose($file2) EndFunc
PS: Danke für deine Anmerkung:
Zitat
- bei einer Anzeige werden aber keine Datumsangaben gemacht (bei Todesanzeigen nicht unüblich) -
Ich brauche die Seite: https://trauer.rheinpfalz.de/traueranzeigen/letzte-ausgabe/1
Hab mir gerade nochmal deinen Lösungsansatz angeschaut.
Ich bekomm bei der ersten Seite nur 4 Ergebnise obwohl es eig 5 sind. Bei allen folgenden Seiten sind es dann 5.. Weißt du warum?
Und könnte mir jemand den Regex so anpassen das ich nur den vollen Namen & Geburtsdatum bekomme. Auch das Geb. Name soll weg bleiben?
Also in dem Format:
Irene Kern|26.08.1930
-
Alles klar Jungs, danke euch.
ZitatDas scheint also der Zähler zu sein, mit dem man die Seiten der Todesanzeigen durch iterieren kann. "Leider" bauen sie ihre Traueranzeigen nicht von Hinten nach Vorne auf, sonst wäre eine Aktualisierung einfacher, wenn man nach einer Weile den Datensatz updaten will.
Ist zum Glück eh nicht wichtig. Das Programm wird einmal am Tag ausgeführt und soll einfach schauen ob wer aus meiner Liste in deren Tagesliste auftaucht
-
Ich habe dir hier mal einen kleinen Ansatz da gelassen, viel Erfolg!
Spoiler anzeigen
AutoIt
Alles anzeigen#include <Array.au3> Local $Counter = 1 $IES = BinaryToString(InetRead("https://trauer.rheinpfalz.de/traueranzeigen/_/_/_/0/0/" & $Counter)) Local $Matches = StringRegExp($IES, '(?s)#828172">Traueranzeige (.*?)<.*?labelSearchItem">\* (.*?) - † (.*?)<', 3) Local $InfoArry[Int(UBound($Matches)/3)] For $i = 0 to UBound($Matches) - 1 Step 3 $InfoArry[$i / 3] = $Matches[$i] & "|" & $Matches[$i + 1] & "|" & $Matches[$i + 2] Next _ArrayDisplay($InfoArry)
Den Ansatz versteh ich jz schon hinten und vorne nicht mehr...
Wie kommst du auf diese URL? Wenn ich die von heute anzeigen möchte habe ich folgede URL:
https://trauer.rheinpfalz.de/traueranzeigen/_/_/_/_/1/1
Also du gehst dann mit Regex rein aber was genau du da machst, versteh ich nicht..
-
Ja stimmt, wollte die lokal speichern und danach wieder löschen..
Gut, dann sollte das mit InetRead funktionieren, setze ich mich heute Abend mal dran. Bzw erstmal an das einlesen der Namen und Gebdaten.
Bin ich ja mal gespannt, danke euch schonmal Werde mich bestimmt nochmal melden :b
-
Guten Morgen,
erstmal danke für die Antworten.
Ja, ini ist mir als erstes eingefallen.. Hab noch nie etwas mit einlesen gemacht, daher war das so meine grobe Idee.
@Musashi dann werde ich das so wie du vorgeschlagen hast mit einer normalen Txt versuchen. Sollte ich es nicht hinbekommen, melde ich mich nochmal.
Warum sollte man sich den HTML Code nicht runterladen? Ist nicht schön aber ist mir halt so in den Sinn gekommen..
Ansonsten kann ich das doch dann mit InetRead machen oder? So wie ich die Funktion verstehe ließt sie eine Homepage in einen String welchen ich dann im Anschluss auf meine Namen und Geb. Datum prüfen kann oder?
-
Hallo Zusammen,
folgende Problemstellung:
Es soll aus einer Liste von Namen und Geb. Datum Übereinstimmungen mit diesen Anzeigen, https://trauer.rheinpfalz.de/traueranzeigen/letzte-ausgabe/1, gesucht werden.
Meine Grundidee:
Alle Namen und Geb. Datum in eine ini Datei schreiben um sie dann besser auslesen zu können.
Alle Seiten der Traueranzeigen als HTML Code lokal speichern und dann nach den Namen suchen und anschließend auf Geb. Datum prüfen.
Problem hierbei ist, dass die Seitenanzahlen immer varrieren.
Was haltet ihr von der Grundidee?
Gibt es bessere Vorschläge?
Grüße
Paul01 -
Da machst dus jz nur für Labels transparent oder?
Mh.. Ist ja echt krampf iwie..
Zitat
Nimm stattdessen ein Icon- oder Pic-Control und lege ein Label darüber für den Text.Muss ichs wohl so mal versuchen.. Wenn nicht färb ich die Buttons halt einfach einfarbig, hässlich aber nunja xD
-
Und wie kann ich dann darauf reagieren? Also auf das klicken :3
Kann ich nicht einfach den Button komplett transparent machen so dass ich die Hintergrund Grafik von der GUI sehe?