PS: jeg vil IKKE oprette en variable af typen TOldNew i proceduren Hej, og "pass" den som parameter til ReplaceWords. Jeg vil have, som illustrert ovenfor, at jeg ind i selve funktionskaldet skriver hvad OldAndNew skal være.
Jeg har ikke tænkt mig at ændre i OldAndNew i proceduren, derfor må den godt ærklæres som const. ReplaceWords er tom indtilvidere. Nedenunder er den fulde erklæring af den.
function ReplaceWords(const S:string; const Sep :Tsep; const OldAndNew: OldNew): string; var L,I,J:Integer; Words: Tstrings; begin end;
Denne kompilerer fint. Det er ligeså snart at jeg kalder den, at den ikke kan kompilerer.
alt kører fint, indtil jeg inkluderer: [ [har' ,'havde' ], ['får', 'fik' ], ['kan', 'kunne'] ] for mig set er denne en: array of array[0..1] of string. Men det er delphi ikke enig i. Jeg er kede af at jeg ikke kan inkludere hele mit unit, men det er fordi at jeg har prøvet så mange mærkelige ting derinde, at det roder ad h... til, og det vil forvirre mere end det vil gavne. Hvis bare jeg kan få de simple procedurer 'Hej' og 'ReplaceWords' i mit første oplæg til at virke, så bliver jeg meget glad, idet selv disse to meget simple procedurer ikke kan kompileres.
//from sysutils.pas //type // TReplaceFlags = set of (rfReplaceAll, rfIgnoreCase);
procedure ReplaceWords(const Buffer : TStrings; OldWords, NewWords : Array of String; const ReplaceFlags : TReplaceFlags); overload; var i, len : Integer; begin Len := Length(OldWords);
if Length(NewWords) <> Len then raise ERangeError.Create('Nar der er ikke lige lange');
for i := 0 to Len -1 do Buffer.Text := StringReplace(Buffer.Text, OldWords[i], NewWords[i], ReplaceFlags) end;
Den har jeg også overvejet, men den kan jeg ikke bruge, grundet måden stringreplace virker på (den vil ertstatte ettallet i både '010' OG '1', og det skal min funktion ikke gøre-. Den skal nemlig kun ertstatte '1', dvs. her er mellemrum en seperator).
Jeg vil bare gerne have funktionen i mit første indlæg til at virke. Men ellers tak for det
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.