Thema: Delphi Replace

Einzelnen Beitrag anzeigen

Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#11

AW: Replace

  Alt 26. Jan 2016, 09:57
Wenn du Replace nicht benutzen kann, ist der Sinn der Aufgabe wohl etwas mit einer Schleife zu machen. Dann könnte es so aussehen:

Delphi-Quellcode:
Result:='';
for i:=1 to Length(text) do
  begin
  if text[i]=alt then
    Result:=Result+neu
  else
    Result:=Result+text[i];
  end;
Danke

Wird so nur leider nicht klappen für function myreplace(text:string;alt:string;neu:string): string;
Wirst du spätestens bei einem Aufruf wie myreplace('Hallo Welt', 'Welt', 'Phillip') merken
Doch klappt schon, denn wie jeder weiss ist das ein illegaler Aufruf der Funktion "myreplace", die ja nur dafür gedacht ist einzelne Zeichen zu ersetzen .

Eventzell kann man die Funktionsdefinition wie folgt ändern, damit das klarer wird:
function myCharReplace(text:string;alt:char;neu:string): string;
Spaß beiseite:
Da man ja kein Replace benutzen soll, würde ich folgern, dass auch so Dinge wie Pos, Copy usw. die man sonst vielleicht benutzen würde auch nicht gebraucht werden sollen.
Dementsprechend müsste das Problem durch eine Verschachtelung von zwei Schleifen gelöst werden:

Schleife 1 sucht den ersten Buchstaben von alt in text, wenn gefunden vergleicht schleife 2 alle Buchstaben in text ab dieser Stelle mit allen Buchstaben in alt. Stimmt alles überein, haben wir einen Treffer usw.

P.S.: Wieso werden nach einem einzeiligen Delphi-Code-Block (fast) alle Zeilenumbrüche ignoriert?
Ralph
  Mit Zitat antworten Zitat