12. januar 2010 - 16:09Der er
10 kommentarer og 1 løsning
StringReplace funktion
Hej,
Flere steder i min kode ønsker jeg at udføre en funktion der kan lave StringReplace med funktionens parameter.
Dette er mit første forsøg med at oprette en funktion "fra bunden". Her ses koden for StringReplace (kaldt GrammarCheck) funktionen:
procedure TForm1.GrammarCheck(var f: string); begin f := StringReplace(f, ' hej ', ' Hej ', [rfReplaceAll, rfIgnoreCase]); end;
Og når man trykker på en knap, som befinder sig ved siden af et Edit felt, skal GrammarCheck udføres.
procedure TForm1.Edit1Check(Sender: TObject); var i: string; begin i := string(Edit1.Text); GrammarCheck(i); Edit1.Text := i; end;
Dette ser umiddelbart ud til at virke. Jeg kunne bare godt tænke mig, at det eneste man skulle skrive i Edit1Check for at det blev udført, var:
GrammarCheck(Edit1.Text);
Kan bare ikke helt få det til at virke. Måske dette kunne virke:
procedure TForm1.GrammarCheck(var f: string); var a : string; begin a := string(f); f := StringReplace(f, ' hej ', ' Hej ', [rfReplaceAll, rfIgnoreCase]); f := a; end;
procedure TForm1.Edit1Check(Sender: TObject); var i: string; begin GrammarCheck(Edit1.Text); end;
Men så siger den "Types of actual and formal var parameters must be identical". Sikkert fordi jeg prøver at skrive "Edit1.Text" som en string variabel, men har ingen anelse om, hvordan det ellers gøres.
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.