Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Nach unbestimmten String suchen (https://www.delphipraxis.net/162164-nach-unbestimmten-string-suchen.html)

Paulh 10. Aug 2011 12:55

Nach unbestimmten String suchen
 
Hallo DP,

Ich schon wieder..:-D

Folgendes: Ich habe eine HTML Seite, die ich in ein Memo einlese (Ist ja nicht schwer :)).
Jetzt möchte ich die Seite "Bearbeiten" das heißt ich möchte aus einen <img> die Quelle auslesen und ändern:

Vorher:
Code:
<img scr="X:\XXXXXX\XXXXXXXX.jpg">
Nachher:
Code:
<img scr="http://bla.de/bla.jpg">
Problem: Ich kenne ja nicht vorher den Pfad zu der Datei :(.


Ich habe überhaupt keinen Plan.

DeddyH 10. Aug 2011 12:57

AW: Nach unbestimmten String suchen
 
Du kannst mit Pos/PosEx nach <img scr=" suchen und ab da nach dem nächsten ". Alles dazwischen dürfte der Pfad sein.

Paulh 10. Aug 2011 13:05

AW: Nach unbestimmten String suchen
 
@DeddyH:

Super Idee !

Kannst du mir nur noch sagen wie ich das anwende.

DeddyH 10. Aug 2011 13:11

AW: Nach unbestimmten String suchen
 
Aus dem Hut:
Delphi-Quellcode:
s := Memo1.Lines.Text;
Anfang := PosEx('<img scr="', s, 0);
while Anfang > 0 do
  begin
    Anfang := Anfang + Length('<img scr="');
    Ende := PosEx('"', s, Anfang);
    Delete(s, Anfang, Ende - Anfang);
    Insert(NeuerPfad, s, Anfang);
    Anfang := PosEx('<img scr="', s, Ende);
  end;
Memo1.Lines.Text := s;
Es kann sein, dass die Positionen hier nicht exakt stimmen, aber das wirst Du schon herausbekommen und kannst es ggf. korrigieren.

Aphton 10. Aug 2011 13:12

AW: Nach unbestimmten String suchen
 
String 1 <img scr="X:\XXXXXX\XXXXXXXX.jpg">
String 2 <img scr="http://bla.de/bla.jpg">

Code:
1. Speichere "http://bla.de/bla.jpg" in StrUrl ab
2. Ermittle per Pos() " in String 1 und speichere es ab in StrPos
3. Inkrementiere diesen Wert per inc()
4. Nun lösche ab der Stelle StrUrl alles weg per Delete()
5. StrResult = String 1 + StrUrl + '">'

Paulh 10. Aug 2011 13:20

AW: Nach unbestimmten String suchen
 
Danke an euch beide ihr habt mir sehr geholfen.

Den Alten Pfad bekomme ich über Copy oder ? :gruebel:

DeddyH 10. Aug 2011 13:23

AW: Nach unbestimmten String suchen
 
Klar, einfach vor dem Delete auslesen, danach isser ja weg *g*.

Paulh 10. Aug 2011 13:24

AW: Nach unbestimmten String suchen
 
Gut !

himitsu 10. Aug 2011 13:40

AW: Nach unbestimmten String suchen
 
Stichwort "HTML parsen"

Wurde vor Kurzem schonmal besprochen und wenn man da schonmal drin ist, kann man sich das gewünschte suchen lassen, ändern und es wieder als String/Datei/Stream (HTML) exportieren.

Paulh 11. Aug 2011 09:34

AW: Nach unbestimmten String suchen
 
Sorry das ich das Thema noch mal aufmachen muss aber, PosEx geht bei mir nicht. Ich habe Pos ausprobiert aber es kommt die Compiliermeldung:

"[DCC Fehler] Unit1.pas(33): E2034 Zu viele Parameter" :(



PS: Ich habe Delphi 2007


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:11 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz