![]() |
Spezielle Memo Text suche?
Hallo.
Ich würde gerne einen Text durchsuchen. (Ja ich weiss es gibt sehr viele Infos betreffend Text suchen) Doch das was ich gerne machen würde, habe ich bis jetzt nicht gefunden Ich habe einen Text in einem Memo (ca 200 Zeilen) eine kleiner Teils des Textes sieht zB so aus: <link rel="image_src" href="http://www./fileadmin/_t3t/css/apple-touch-icon.png" /> <title>27 Dresses, Regie: Anne Fletcher, USA, 2007</title> <meta name="keywords" content="Film, Filmsuche, Filmdatenbank, Filmbeschreibung, Jetzt möchte ich gerne, das im Memo nach 27 Dresses gesucht wird und dann der Fett markierte Text (27 Dresses Regie: Anne Fletcher, USA, 2007) markiert wird und in einem String ausgegeben wird. Ich glaube ich müsste folgendermassen vorgehen: 1. Text suchen 2. definieren von < bis > 3. String ausgeben Nur kann mir aber jemand sagen wie man so etwas umsetzt? evt mit selstart und sellength? |
AW: Spezielle Memo Text suche?
Mit einem Memo zeigt man Dinge an, aber man verarbeitet sie nicht. Hierfür kannst Du die Eingeschaft 'Memo.Lines.Text' verwenden, sie liefert den Inhalt als String.
Delphi-Quellcode:
ungetestet allerdings.
function FindeDenText (Const Suchtext, gesamterText : String) :String;
Var p,q : Integer; begin result := ''; p := Pos(Suchtext, gesamterText); if p=0 then exit; // nix gefunden q:=p+Length(Suchtext); while (p>0) and (gesamterText[p]<>'>') do dec(p); while (q<length(gesamterText)) and (gesamterText[q]<>'<') do inc(q); result := Copy(gesamterText,p+1,q-p-1); end; ... // Aufruf so MeinText := FindeDenText('27 Dresses', MyMemo.Lines.Text); |
AW: Spezielle Memo Text suche?
Oder man verwendet statt des Memos ein TRichedit und arbeitet mit FindText.
|
AW: Spezielle Memo Text suche?
Wow Hammer.
Danke dir vielmals. |
AW: Spezielle Memo Text suche?
Zitat:
Ach, RegEx fällt mir auch noch ein. |
AW: Spezielle Memo Text suche?
Da es sich anscheinend um eine HTML-Datei handelt kann man die auch vernünftig parsen und sich nur diese speziellen Text heraussuchen lassen.
![]() Beispiele dazu lassen sich hier und über google finden |
AW: Spezielle Memo Text suche?
Ich dachte mir ich mache nun kein neuer Eintrag auf da dieser noch so neu ist und es wieder um eine Text suche geht.
Ich habe einen Text. ATEXTBTEXTCTEXT Die 3 Texte sind eben nicht getrennt durch ein Sonderzeichen. Aber ich kenne Text A und C Nun dachte ich, ich könnte das so lösen um so zumindest mal den ATEXT zu entfernen und ich dachte, ich erhalte dann: BTEXTCTEXT function Split (AString : String) : String; var iPos : Integer; begin iPos := Pos ('AText', AString); if (iPos > 0) then Result := Copy (AString, iPos + 1, Length (AString)) else Result := 'Nee du Pfeife'; end; Aufrufen wollte ich es dann so: memo1.Text:= Split(memo1quell.text); Aber da werde ich dann nur zur Pfeife deklariert :-D |
AW: Spezielle Memo Text suche?
Hallo gee21,
Delphi-Quellcode:
ist case sensitive. Also
Pos (SubStr, Str)
Delphi-Quellcode:
.
Pos ('AText', AString) <> Pos ('ATEXT', AString)
Grüße |
AW: Spezielle Memo Text suche?
vielleicht kannst Du mit dem Ansatz etwas anfangen:
Delphi-Quellcode:
const
ALL= 'ATEXTBTEXTCTEXT'; A='atext'; c='Ctext'; begin Showmessage(StringReplace( StringReplace(ALL,a,'',[rfReplaceAll,rfIgnoreCase]) ,c,'',[rfReplaceAll,rfIgnoreCase]) ); end; |
AW: Spezielle Memo Text suche?
Hallo gee21,
vielleicht hilft Dir folgendes weiter:
Delphi-Quellcode:
function Split (const Find, Str : string; var Head, Tail : string) : Integer;
begin Result := Pos (LowerCase (Find), LowerCase (Str)); if Result = 0 then Exit; Head := Copy (Str, 1, Result - 1); Tail := Copy (Str, Result + Length (Find), Length (Str)) end;
Delphi-Quellcode:
gibt Dir folgendes aus: ATEXT CTEXT
Split ('bTeXt', 'ATEXTBTEXTCTEXT', s, t);
ShowMessage (s + ' ' + t); Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:21 Uhr. |
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