Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi StringReplace-Problem (https://www.delphipraxis.net/102736-stringreplace-problem.html)

Tommy1988 3. Nov 2007 16:01


StringReplace-Problem
 
Mein Problem ist es einen einfach String zu ersetzen.

Mein Code:
Delphi-Quellcode:
// Aktuelles Formular: Form2
s := Form1.Memo1.Text;
s := StringReplace(s,FindText.Text, ReplaceText.Text, []);
Normalerweise müsste doch jetzt Memo1 auf Form1 auf FindText.Text durchsucht werden?

Das klappt aber nicht :?

Apollonius 3. Nov 2007 16:04

Re: StringReplace-Problem
 
Du musst s natürlich auch wieder Memo1.Text zuweisen, sonst steht der veränderte Text nur im Speicher und nicht auf dem BIldschirm.

Tommy1988 3. Nov 2007 16:06

Re: StringReplace-Problem
 
Naja. ich mein, hier stehts halt so
http://www.dsdt.info/referenz/vcl_fcl/strings.php

Was genau ist denn falsch damit ich es in Zukunft verstehe?

Apollonius 3. Nov 2007 16:09

Re: StringReplace-Problem
 
Was da auf dsdt.info steht, ist schon richtig. Überlege dir doch mal was du tust:
1. Den Inhalt des Memos in eine Variable kopieren
2. Diese Variable verändern (wie genau, ist hier egal)

Aber: Den veränderten String musst du auch wieder ins Memo schreiben, sonst ist er eben nur im Speicher.

Tommy1988 3. Nov 2007 16:15

Re: StringReplace-Problem
 
Delphi-Quellcode:
Form1.Memo1.SelStart :=
Form1.Memo1.SelStart + Form1.Memo1.SelLength-1;
Form1.Memo1.SelLength := Length(FindText.Text);
Das bewirkt schonmal garnix.. der markiert immer irgentwas.. aber nicht das was FindText.Text beinhaltet

Apollonius 3. Nov 2007 16:18

Re: StringReplace-Problem
 
Willst du einen Text durchsuchen oder dort bestimmte Ausdrücke ersetzen?

Dax 3. Nov 2007 16:18

Re: StringReplace-Problem
 
Delphi-Quellcode:
Form1.Memo1.SelStart := Pos('meins', Form1.Memo1.Text);
Form1.Memo1.SelLength := Length('meins');

Muetze1 3. Nov 2007 16:20

Re: StringReplace-Problem
 
Memo1.Text ist die falsche Eigenschaft. Nutze statt dessen Memo1.Lines.Text.

Und setze bei StringReplace rfReplaceAll

Tommy1988 3. Nov 2007 16:46

Re: StringReplace-Problem
 
Wie muss ich da shir jetzt verstehen?
Delphi-Quellcode:
Form1.Memo1.SelStart := Pos('meins', Form1.Memo1.Text) - 1; // Markierung anfang
Form1.Memo1.SelLength := Length('meins'); // Markierung ende
ABER: wie speichere ich den markierten Text in eine Variable damit ich diesen via StringReplace ersetzen kann?

DeddyH 3. Nov 2007 16:47

Re: StringReplace-Problem
 
Du brauchst keine Variable, schau mal unter Memo.SelText.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 Uhr.
Seite 1 von 2  1 2      

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