AGB  ·  Datenschutz  ·  Impressum  







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

StringReplace-Problem

Ein Thema von Tommy1988 · begonnen am 3. Nov 2007 · letzter Beitrag vom 3. Nov 2007
Antwort Antwort
Seite 1 von 2  1 2      
Tommy1988
(Gast)

n/a Beiträge
 
#1

StringReplace-Problem

  Alt 3. Nov 2007, 17:01
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
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: StringReplace-Problem

  Alt 3. Nov 2007, 17:04
Du musst s natürlich auch wieder Memo1.Text zuweisen, sonst steht der veränderte Text nur im Speicher und nicht auf dem BIldschirm.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#3

Re: StringReplace-Problem

  Alt 3. Nov 2007, 17:06
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?
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: StringReplace-Problem

  Alt 3. Nov 2007, 17:09
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.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#5

Re: StringReplace-Problem

  Alt 3. Nov 2007, 17:15
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
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: StringReplace-Problem

  Alt 3. Nov 2007, 17:18
Willst du einen Text durchsuchen oder dort bestimmte Ausdrücke ersetzen?
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#7

Re: StringReplace-Problem

  Alt 3. Nov 2007, 17:18
Delphi-Quellcode:
Form1.Memo1.SelStart := Pos('meins', Form1.Memo1.Text);
Form1.Memo1.SelLength := Length('meins');
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#8

Re: StringReplace-Problem

  Alt 3. Nov 2007, 17:20
Memo1.Text ist die falsche Eigenschaft. Nutze statt dessen Memo1.Lines.Text.

Und setze bei StringReplace rfReplaceAll
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#9

Re: StringReplace-Problem

  Alt 3. Nov 2007, 17:46
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?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#10

Re: StringReplace-Problem

  Alt 3. Nov 2007, 17:47
Du brauchst keine Variable, schau mal unter Memo.SelText.
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
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 14:22 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