Toon posts:

[Delphi] StringReplace

Pagina: 1
Acties:
  • 124 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
'k heb niet echt een topdag vandaag, maar dit is echt de laatste vraag (voor vandaag) *D

De functie StringReplace is in Delphi standaard zo gedefinieerd:
code:
1
2
3
type
  TReplaceFlags = set of (rfReplaceAll, rfIgnoreCase);
function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;

maar wat kan ik hier als vierde argument in gaan voeren zodat het werkt.

Zelf lijkt dit
code:
1
str4 := StringReplace(str1, str2, str3, rfReplaceAll);

me wel een goede oplossing, maar krijg dan deze
[Error] status.pas(73): Incompatible types: 'TReplaceFlags' and 'Enumeration'
foutmelding

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:46

Creepy

Tactical Espionage Splatterer

code:
1
str4 := StringReplace(str1, str2, str3, [rfReplaceAll]);

Het verschil tussen een "normale" variabele en een set :)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 17-09 15:54

mulder

ik spuug op het trottoir

Moet je er geen [brackets] omheen zetten? (Je kan meerdere flags meegeven)

oogjes open, snaveltjes dicht


  • VisionMaster
  • Registratie: Juni 2001
  • Laatst online: 18-07 20:32

VisionMaster

Security!

Check goed of je SysUtils hebt toegevoegd in je USES stukje...

en anders kan je ze handmatig toevoegen...


type
TReplaceFlags = set of (rfReplaceAll, rfIgnoreCase);

bovenaan je andere types

I've visited the Mothership @ Cupertino


Verwijderd

Topicstarter
Bad Luck, heb SysUtils inderdaad tussen mijn uses staan, maar dan levert
code:
1
      str4 := StringReplace(str1, str2, str3, [rfReplaceAll]);

toch de foutmelding
[Error] status.pas(73): Incompatible types
Voor de zekerheid zeg ik er nog maar ff bij dat str1, str2, str3 en str4 als strings zijn gedefineerd.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:46

Creepy

Tactical Espionage Splatterer

code:
1
2
3
4
5
procedure TForm1.FormCreate(Sender: TObject);
var s1,s2,s3,s4: string;
begin
     s1:=stringreplace(s2,s3,s4,[rfReplaceAll]);
end;

Dit werkt bij mij zonder problemen..

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1