Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Return durch Break ersetzen (https://www.delphipraxis.net/72139-return-durch-break-ersetzen.html)

kluckweb 26. Jun 2006 10:49


Return durch Break ersetzen
 
Hallo,

irgendwie kriege ich keine vernünftigen Befehl für Replace hin und ich hoffe ihr könnt mir helfen.

Ich würde gerne alle "Returns" also "chr(13)" in einem Memo durch den HTML Code "
" ersetzen.
Wäre toll, wenn jemand posten könnte, wie man das realisieren kann.

Danke im Voraus.

Luckie 26. Jun 2006 10:51

Re: Return durch Break ersetzen
 
Such mal nach Hier im Forum suchenStringReplaceMultiple.

SirThornberry 26. Jun 2006 10:52

Re: Return durch Break ersetzen
 
wie hast du es denn bisher probiert?
generell willst du ja
#13
durch
'
'
ersetzen.
Alsob rauchst du nur diese beiden Parameter an den richtigen Stellen einsetzen. Wenn du alle Vorkommen ersetzen willst musst du als letzten Parameter
[rfReplaceAll]
angeben.

kluckweb 26. Jun 2006 10:56

Re: Return durch Break ersetzen
 
Hi,

habe es mit folgendem Code probiert:

Delphi-Quellcode:
MySQLDataset1.FieldByName('text').asString := ReplaceStr(chr(13),'
', [rfReplaceAll]);
Leider kriege ich dann die Fehlermeldung, dass ReplaceStr ein undefinierter Bezeichner ist.

Wo ist denn der Fehler in dem Code?

Luckie 26. Jun 2006 10:58

Re: Return durch Break ersetzen
 
Zitat:

Zitat von kluckweb
Hi,

habe es mit folgendem Code probiert:

Delphi-Quellcode:
MySQLDataset1.FieldByName('text').asString := ReplaceStr(chr(13),'
', [rfReplaceAll]);
Leider kriege ich dann die Fehlermeldung, dass ReplaceStr ein undefinierter Bezeichner ist.

Wo ist denn der Fehler in dem Code?

Es gibt kein ReplaceStr in Delphi. Die Funktion heißt Delphi-Referenz durchsuchenStringReplace.

kluckweb 26. Jun 2006 11:05

Re: Return durch Break ersetzen
 
OK,

das hilft mir schon weiter.
Habe den Code umgestellt und er sieht nun so aus.

Delphi-Quellcode:
s := MySQLDataset1.FieldByName('text').asString;
StringReplace(s,chr(13),'
', [rfReplaceAll]);
Fehler kommen nun zwar keine mehr, aber es werden die Werte im Memofeld auch nicht ersetzt.
Ist an dem String denn immer noch was falsch?

SirThornberry 26. Jun 2006 11:08

Re: Return durch Break ersetzen
 
StringReplace ist eine Funktion welche den neuen String zurück gibt. Du musst also das Ergebnis der Funktion auch einer Variablen bzw. dem Memotext zuweisen.

kluckweb 26. Jun 2006 11:16

Re: Return durch Break ersetzen
 
Sorry,

ich hatte nicht den ganzen Code gepostet.
Hatte das natürlich umgesetzt, aber wie gesagt: Es ändert sich am String nichts und das verwundert mich dann doch, weil der String auch ziemlich exakt der Delphi Hilfe entspricht.

Hier nochmal der gesamte Code:

Delphi-Quellcode:
var s : string;
begin
s := MySQLDataset1.FieldByName('text').asString;
StringReplace(s,chr(13),'
', [rfReplaceAll]);
MySQLDataset1.Edit;
MySQLDataset1.FieldByName('text').asString := s;

end;

marabu 26. Jun 2006 11:20

Re: Return durch Break ersetzen
 
Manchmal ist es besser, wenn man es so macht:

Delphi-Quellcode:
with MySQLDataset1 do
begin
  Edit;
  FieldByName('text').AsString := StringReplace(
    FieldByName('text').AsString, sLineBreak, '
', [rfReplaceAll]
  );
  Post;
Grüße vom marabu

Edit: erster Parameter von StringReplace war verstümmelt ...

kluckweb 26. Jun 2006 11:26

Re: Return durch Break ersetzen
 
SUPER!!

So geht es. Wobei ich den inhaltlichen Unterschied da nicht wirklich sehe, aber Hauptsache es geht.

Tausend Dank!


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:31 Uhr.
Seite 1 von 2  1 2      

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