AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wort oder Satz in Memo finden und ersetzen
Thema durchsuchen
Ansicht
Themen-Optionen

Wort oder Satz in Memo finden und ersetzen

Ein Thema von taktaky · begonnen am 11. Sep 2007 · letzter Beitrag vom 11. Sep 2007
Antwort Antwort
Seite 1 von 3  1 23      
taktaky
(Gast)

n/a Beiträge
 
#1

Wort oder Satz in Memo finden und ersetzen

  Alt 11. Sep 2007, 13:45
Hallo

http://members.lycos.co.uk/forforums...-ersetzen2.jpg

ich muss ständig den Link ändern, deswegen möchte ich gerne nur den Link im Memo oder in Listbox suchen und mit einem anderen Link (der aktuelle Link) ersetzen.

der aktuelle Link befindet sich in einer text-Datei und wird mit dem Code geholt
Delphi-Quellcode:
ListBox1.Items.LoadFromFile('test.txt');
oder
Memo1.lines.LoadFromFile('test.txt');
nun muss den alten Link http://blabla.de mit dem neuen Link in Txt-Datei : http://bla2bla2.de ersetzen

wie kann ich den Link ersetzen?

Es wäre noch genauer, wenn ich den Inhalt zwischen " " nach dem Wort action
weil der alten Link nicht immer http://blabla.de

Hat jemand eine Idee mit  for i= bla to bla2 do Gruß
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Wort oder Satz in Memo finden und ersetzen

  Alt 11. Sep 2007, 13:52
StringReplace -> F1
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Wort oder Satz in Memo finden und ersetzen

  Alt 11. Sep 2007, 13:54
StringReplace alleine wird nicht hinhauen.

Delphi-Referenz durchsuchenPos und Delphi-Referenz durchsuchenCopy wird man hier brauchen.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von argonix
argonix

Registriert seit: 28. Feb 2007
257 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Wort oder Satz in Memo finden und ersetzen

  Alt 11. Sep 2007, 14:27
Warum nicht so?
Delphi-Quellcode:
for i:=0 to Memo1.Lines.Count-1 do
Memo1.Lines[i]:=StringReplace(o, 'http://blablabla.de', 'http://bla2bla.de', [rfReplaceAll]);
Das sollte funktionieren.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Wort oder Satz in Memo finden und ersetzen

  Alt 11. Sep 2007, 14:31
Zitat von argonix:
Warum nicht so?
Delphi-Quellcode:
for i:=0 to Memo1.Lines.Count-1 do
Memo1.Lines[i]:=StringReplace(o, 'http://blablabla.de', 'http://bla2bla.de', [rfReplaceAll]);
Das sollte funktionieren.
Das funktioniert nur wenn der alte Link bekannt ist.
Und laut Fragestellung ist er nicht bekannt.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#6

Re: Wort oder Satz in Memo finden und ersetzen

  Alt 11. Sep 2007, 14:32
Wenn du in einer Zeile zwei Mal den Suchbegriff stehen hast, dann haut Pos alleine nicht hin und du brauchst schon eine Rekursion. Das ist unnötig.

Deshalb: Pos + StringReplace.
Delphi-Quellcode:
for i := 0 to Memo1.Lines.Count-1 do
  if Pos(Suchbegriff, Memo1.Lines[i]) > 0 then
    StringReplace(Memo1.Lines[i], Suchbegriff, Ersetzbegriff, [rfReplaceAll]);
Mist zu spät....

Wenn der Link nicht bekannt ist, dann holt man ihn sich doch eh, dann funktioniert es wieder.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Wort oder Satz in Memo finden und ersetzen

  Alt 11. Sep 2007, 14:39
Hallo,

Du könntest auch die Funktion explode verwenden.
Diese nimmt Dir den String auseinander und speichert die Teile
in ein StringArray. Als Seperator kannst Du dann " verwenden.
So könntest Du den Link ermitteln der ausgetauscht werden soll.

Austauschen kannst Du den Link dann im OriginalString mit StringReplace.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
taktaky
(Gast)

n/a Beiträge
 
#8

Re: Wort oder Satz in Memo finden und ersetzen

  Alt 11. Sep 2007, 15:14
Zitat von Nils_13:
Wenn du in einer Zeile zwei Mal den Suchbegriff stehen hast, dann haut Pos alleine nicht hin und du brauchst schon eine Rekursion. Das ist unnötig.

Deshalb: Pos + StringReplace.
Delphi-Quellcode:
for i := 0 to Memo1.Lines.Count-1 do
  if Pos(Suchbegriff, Memo1.Lines[i]) > 0 then
    StringReplace(Memo1.Lines[i], Suchbegriff, Ersetzbegriff, [rfReplaceAll]);
Mist zu spät....

Wenn der Link nicht bekannt ist, dann holt man ihn sich doch eh, dann funktioniert es wieder.
Hallo zusammen,

ich glaube Nils-Idee ist bis jetzt am besten

auf jeden Fall hier ist meine moemische Idee aber funktioniert

Ich gleube, ich habe eine idee
ich habe den Text in Memo so verzerrt und vereinfacht und nun habe ich den Link in Falle
http://members.lycos.co.uk/forforums...-ersetzen3.jpg

jetzt kann ich so versuchen
Delphi-Quellcode:
memo1.LoadFromFile('link.txt');// der Link wird von link.txt in memo1 gespeichert
Memo2.Lines[10]:=memo1.lines;


das Problem ist damit gelöst, möchte ich aber den Code kurzer machen ohne Umweg

ich habe b´versucht so :
Delphi-Quellcode:
Memo2.Lines[10]:=loadfromfile('link.txt'); //geht leider nicht, error
Memo2.line10.add(loadfromfile('link.txt')); // geht auch nicht
was ist Falsch?

Ich werde aber gerne Nils-Idee nehmen
Delphi-Quellcode:
 _____ ___ __ _ _ _ _____
| _ \ / | | \ | | | | / / | ____|
| | | | / /| | | \| | | |/ / | |__
| | | | / / | | | |\ | | |\ \ | __|
| |_| | / / | | | | \ | | | \ \ | |___
|_____/ /_/ |_| |_| \_| |_| \_\ |_____|
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#9

Re: Wort oder Satz in Memo finden und ersetzen

  Alt 11. Sep 2007, 15:26
Hi,

du koenntest auch einen TReplaceDialog nehmen und auf die Form ziehen!
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
taktaky
(Gast)

n/a Beiträge
 
#10

Re: Wort oder Satz in Memo finden und ersetzen

  Alt 11. Sep 2007, 15:27
Es passiert aber nichts
Delphi-Quellcode:
procedure TForm1.Button7Click(Sender: TObject);
var i: integer;
blabla: string;
hallohallo: string;
begin
for i := 0 to Memo2.Lines.Count-1 do
  if Pos(blabla, Memo2.Lines[i]) > 0 then
    StringReplace(Memo2.Lines[i], blabla, hallohallo, [rfReplaceAll]);
end;

end.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 09:45 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