Entwickler-Ecke
Sonstiges (Delphi) - String durchsuchen
elzumo - Di 09.10.07 17:29
Titel: String durchsuchen
Hallo, ich habe ein Programm geschrieben, welches über POST Daten an ein Script sendet und dan die Seite, die man im Browser angezeigt bekommt in einen String speichert.
Im String ist dann die komplette Webseite.
Mein Problem ist jetzt, dass ich nicht weiß, wie den String nach dem was ich brauche durchsuchen kann.
Das einzige was ich brauche ist ein Hash, welcher dann auf der Webseite steht. Der Hash ist jedoch jedes Mal anders.
Da das was vor und hinter dem Hash steht immer gleich ist, habe ich mir gedacht, dass ich danach suche und dann irgendwie an den Hash komme.
Beispiel des Strings:
Quelltext
1: 2: 3: 4: 5: 6: 7:
| <html> <!-- hier ist dann ganz viel html usw. -->
>Links</a> » 43c658911daaa4829d161aab9065ca66</span></b></font></td>
<!-- hier dann wieder endlich viel html --> </html> |
Wie kann ich das hinbekommen`?
jasocul - Di 09.10.07 17:34
:welcome: in der Entwickler-Ecke
Die Funktionen Pos und Copy sollten Dir bei der Lösung des Problems helfen.
elzumo - Di 09.10.07 17:38
Jo, danke für das Willkommen.
Werd mal ein wenig herumprobieren, habe da was auf deiner Webseite gefunden. :)
Falls ich es nicht hinbekomme dann kann ich ja noch mal schreiben.
elzumo - Di 09.10.07 18:29
Hat alles prima geklappt, an dieser Stelle noch ein Danke!
Damit alle etwas davon haben hier meine Lösung des Problems:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| function getHash(HTML: String; sub1: String; sub2: String): String; Var pos1,pos2: integer; begin pos1 := Pos(sub1,HTML); pos2 := Pos(sub2,HTML);
result := Copy(HTML, pos1 + StrLen(PChar(sub1)), pos2 - (pos1 + StrLen(PChar(sub1)))); end; |
jasocul - Di 09.10.07 18:56
Hat das eine besonderen Grund, warum Du in PChar wandelst und dann StrLen verwendest?
elzumo - Di 09.10.07 19:23
Ich hatte es vorher ohne die Umwandlung gemacht, dann aber die Meldung bekommen, dass ich unkompatible Typen verwenden würde.
Sinspin - Di 09.10.07 19:57
So war das nicht gemeint, die Funktion Length() tut es auch. Und dazu noch mit String und nicht mit PChar, also ein Stück einfacher :wink:
elzumo - Di 09.10.07 21:01
Achso. Naja ich kenne strlen() aus C++. :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!