Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Kann mir jemand die Delphi-Funktion StringReplace erklären???

(Anonym) / 5 Antworten / Baumansicht Nickles

tach,

kann mir hier mal bitte jemand erklären, was ich bei der Delphi Funktion StringReplace hinten als Flags einsetzen muss?

hier ein Bsp:
label1.caption StringReplace(edit1.text, edit2.text, edit3.text; FLAGS???);

könnte mir das bitte jemand erklären?? Und nochwas, ein Freund hat mir dann seine selbstgetüdelte Funktion dafür rübergemailt, aber leider funzt die nicht. Kann mir jemand erklären, was er falsch gemacht hat:

var position : integer;
s : String;
...
begin
If Pos(\'a\',S) > 0 then do
begin
position := Pos(\'a\',S);
If Pos(\'b\',S) = position+1 then do
begin
S[Pos(position, S)] := \'x\';
S[Pos(position+1, S)] := \'y\';
end;
end;
end;


Mit freundlich Grüßen
Der Ludi

bei Antwort benachrichtigen
JamesBomb (Anonym) „Kann mir jemand die Delphi-Funktion StringReplace erklären???“
Optionen

1.
eine richtige If then else abfrage sieht so aus:
if pos('s', a) > 0 then begin... (ohne then)

2.
s[pos(position, s)]:= ...
pos verlangt als 1. Parameter einen String. Position ist aber eine Zahl, was kacke ist.
also: lass einfach die pos funktion weg!:
s[position]:= 'x';
s[position + 1]:= 'y';

beantwortet?

bei Antwort benachrichtigen
JamesBomb Nachtrag zu: „1. eine richtige If then else abfrage sieht so aus: if pos s , a 0 then begin......“
Optionen

ich meine natürlich ohne "do" (1.)

bei Antwort benachrichtigen
Ludi JamesBomb „ich meine natürlich ohne do 1. “
Optionen

erstmal danke, werd ich gleich mal ausprobieren! Das mit der For-Schleife war mir klar, aber ich hab das so von ihm kopiert *gg* Naja, aber auf jeden Fall würde ich trotzdem gerne wissen, wie das mit dieser StringReplace-Funktion funktioniert? Weil, warum soll ich das Rad neu erfinden ;-)

danke im Voraus

cya

bei Antwort benachrichtigen
JamesBomb Ludi „erstmal danke, werd ich gleich mal ausprobieren! Das mit der For-Schleife war...“
Optionen

Hab dir mal die Hilfe kopiert:

StringReplace gibt einen String mit ersetzten Sub-Strings zurück.

Unit

Sysutils

Kategorie

String-Verarbeitung

type
TReplaceFlags = set of (rfReplaceAll, rfIgnoreCase);
function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;

Beschreibung

Mit StringReplace ersetzen Sie in dem angegebenen String den im Parameter OldPattern festgelegten Sub-String mit dem im Parameter NewPattern übergebenen neuen Sub-String. StringReplace nimmt an, daß der String Multibyte-Zeichen enthalten kann.

Wenn im Parameter Flags nicht rfReplaceAll enthalten ist, wird nur das erste Vorkommen von OldPattern im String S ersetzt. Andernfalls werden alle Instanzen von OldPattern durch NewPattern ersetzt.

Wenn der Parameter Flags rfIgnoreCase enthält, wird die Groß-/Kleinschreibung nicht berücksichtigt.

bei Antwort benachrichtigen
Ludi JamesBomb „Hab dir mal die Hilfe kopiert: StringReplace gibt einen String mit ersetzten...“
Optionen

Danke, aber in der Hilfe war ich schon ;-) Naja, auf jeden Fall hab ich das Problem jetzt so ähnlich gelöst, wie du mir vorher gesagt hast, danke dafür. Aber trotzdem, nochmal wegen der StringReplace Funktion: Die ersten 3 Parameter sind ja klar, ich komm nur nicht hinten mit den Flags klar, ich weiß nicht, was ich da einsetzen muss. vielleicht weiß das ja noch jemand.

cu

bei Antwort benachrichtigen