Autor Beitrag
Janoschka
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Mo 08.07.02 20:52 
Also ich code sonst mehr PHP und vermisse in DELPHI die ganze Zeit schon die funktion [neuer_string] = str_replace([zu_ersetzender], [ersetzender], [alter]);
Gibt es also in Delphi ne funktion mit der ich z.B. im String: "php is leichter als delphi"; das leichter durch schwerer ersetzen kann???
MrSpock
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Mo 08.07.02 22:16 
Hallo Janoschka,
eine solche Procedure gibt es nicht, aber du kannst sie selber wie folgt schreiben:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
procedure Str_Replace(var str: String; alt, neu: String);
var
   posi,
   i    : Integer;
   hstr  : String;
begin
   posi := Pos(alt, str);
   if posi > 0 then
   begin
     hstr := '';
     for i := 1 to posi -1 do
        hstr := hstr +str[i];
      hstr := hstr +neu;
      for i := posi +length(alt) to length(str) do
        hstr := hstr +str[i];
      str := hstr;
   end;
end;


Diese Procedure ersetzt nur das erste vorkommen und ist "casesensitiv". Du müsstest sie also anpassen, wenn das nicht so gewünscht ist.

_________________
Live long and prosper
MrSpock \\//
Pit
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 160



BeitragVerfasst: Mo 08.07.02 22:21 


Zuletzt bearbeitet von Pit am Sa 05.10.02 07:06, insgesamt 1-mal bearbeitet
Janoschka Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Mo 08.07.02 22:53 
Ich habe delphi 6 - kannste mal bitte dann so eine funktion posten? is dringend - oder aber MrSpock postet eine die alle strings ersetzt - danke!
Pit
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 160



BeitragVerfasst: Mo 08.07.02 23:40 


Zuletzt bearbeitet von Pit am Sa 05.10.02 07:06, insgesamt 1-mal bearbeitet
MrSpock
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Di 09.07.02 07:48 
Hallo Janoschka,

manchmal frage ich mich, warum jemand überhaupt eine Antwort gibt, wenn es im wesentlich darum geht einen, der eine Frage stellt als Trottel darzustellen...

Hier mein Vorschlag:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
procedure Str_Replace(var str: String; alt, neu: String);
var
   posi,
   i      : Integer;
   hstr   : String;
begin
   repeat
     posi := Pos(alt, str);
     if posi > 0 then
     begin
        hstr := '';
        for i := 1 to posi -1 do
           hstr := hstr +str[i];
        hstr := hstr +neu;
        for i := posi +length(alt) to length(str) do
           hstr := hstr +str[i];
        str := hstr;
     end;
   until posi = 0;
end;

_________________
Live long and prosper
MrSpock \\//
Maxigraf
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Di 09.07.02 09:02 
Vllt. hilft euch das weiter:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
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.


P.S.: Is aus der Delphi 6.0 Hilfe :D

MfG Maxigraf
Pit
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 160



BeitragVerfasst: Di 09.07.02 12:40 


Zuletzt bearbeitet von Pit am Sa 05.10.02 07:07, insgesamt 1-mal bearbeitet
MrSpock
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Di 09.07.02 12:47 
Hallo Pit,

nein ich bin nicht verärgert wegen deiner Kritik. Ich finde nur bei einigen deiner Postings den Ton unangemessen. In der Sache mit Bezug auf Hilfe zur Selbsthilfe bin ich deiner Meinung.

_________________
Live long and prosper
MrSpock \\//
Janoschka Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Di 09.07.02 13:50 
AAAlso erstmal Danke für die Hilfe.
Danke auch an PIT für den Hinweis wo ich ne funktionsreferenz finde - das wusste ich nicht und damit is mir sehr geholfen.
Der Rest deines Posts is jedoch nicht so das Wahre - irgendwie hat's so den Beigeschmack, als ob du glauben würdest du wärst der leeteste coder und ich ein noob.
Dazu kann ich nur sagen, dass ich Delphi noch nicht so drauf habe - was aber keines wegs heißt, dass ich nicht programmieren kann - Programmieren heißt nicht gleich Delphi.
Mit deinem Posting bezüglich der Art und weise wie man jemandem hilf kann ich mich gut anfreunden.