AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Text in Memo finden

Ein Thema von Tommy1988 · begonnen am 9. Mai 2007 · letzter Beitrag vom 11. Mai 2007
Antwort Antwort
Seite 1 von 2  1 2      
Tommy1988
(Gast)

n/a Beiträge
 
#1

Text in Memo finden

  Alt 9. Mai 2007, 13:51
Hallo an alle,
ich möchte gerne den Text zwischen <title> und </title> in einem Memo finden, und
als Caption angezeigt bekommen.

Nu das Problem, ich weis nicht, wie ich gerade dieses Stück aus dem Memo holen soll.
Kann mir wer Hilfe leisten?
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Text in Memo finden

  Alt 9. Mai 2007, 13:56
Pos, Copy
Blackheart
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#3

Re: Text in Memo finden

  Alt 9. Mai 2007, 13:58
Leider kann ich mir daraus keinen Reim stricken
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Text in Memo finden

  Alt 9. Mai 2007, 14:01
Mit Pos kannst du Position eines Strings in einem anderen finden (Beginn Anfang-Tag, Beginn-Ende-Tag)und mit Copy kannst du einen teil eines Strings ausschneiden (von Beginn-Anfangtag+Länge Anfang-Tag bis Beginn Endetag-1)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#5

Re: Text in Memo finden

  Alt 9. Mai 2007, 14:03
Der Text in Memos ist in Lines:TStrings untergebracht. Iteriere durch die Lines und führe auf jeden String ein pos aus.

Sherlock
Oliver
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#6

Re: Text in Memo finden

  Alt 9. Mai 2007, 14:20
Hab was gefunden, das das ist zu spezifisch:

Delphi-Quellcode:
var text, wort: String;
begin
  text := 'Das ist wirklich toll!';
  wort := Copy(text, 8, 8);
  // wort enthält nun "wirklich"
denn dieses (text, 8, 8);
.. das <title> steht ja auch nich immer ab der selben stelle.
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Text in Memo finden

  Alt 9. Mai 2007, 14:40
Delphi-Quellcode:
function Between(Tag,Tag2,Text:String):String;
begin
  Delete(Text,1,Pos(Tag,Text));
  Delete(Text,Pos(Tag2,Text),Length(Text));
  Result:=Text;
end;
Blackheart
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#8

Re: Text in Memo finden

  Alt 9. Mai 2007, 14:50
Mh, ok,
Delphi-Quellcode:
function Between(Tag,Tag2,Text:String):String;
begin
  Delete(Text,1,Pos(Tag,Text));
  Delete(Text,Pos(Tag2,Text),Length(Text));
  Result:=Text;
end;
das sagt mir leider nicht viel, ohne zusatz von worten.

tag und tag2 stellen wohl <title> und </title> dar, wenn ja, wie sage ich der funktion denn,
dass es diese beiden tags sind?
denn:
Delphi-Quellcode:
function Between(<title>,</title>,Text:String):String;
begin
  Delete(Text,1,Pos(<title>,Text));
  Delete(Text,Pos(</title>,Text),Length(Text));
  Result:=Text;
end;
funktioniert nicht.
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Text in Memo finden

  Alt 9. Mai 2007, 14:56
Caption:=Between('>','<',Memo1.Text);
Blackheart
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
679 Beiträge
 
Delphi 12 Athens
 
#10

Re: Text in Memo finden

  Alt 9. Mai 2007, 15:24
Zitat von Blackheart:
Delphi-Quellcode:
function Between(Tag,Tag2,Text:String):String;
begin
  Delete(Text,1,Pos(Tag,Text));
  Delete(Text,Pos(Tag2,Text),Length(Text));
  Result:=Text;
end;
passt nicht, wenn er nach längeren Tags sucht (zB <title>...</title>). Dann bitte folgendes:
Delphi-Quellcode:
function Between(Tag1, Tag2, Text: String): String;
begin
  Delete(Text,1,Pos(Tag1,Text)+length(Tag1)-1); //Änderung hier!
  Delete(Text,Pos(Tag2,Text),Length(Text));
  Result:=Text;
end;
Verwendung der Funktion:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Caption:=Between('<title>','</title>',Memo1.Text);
end;
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz