J'essaie de remplacer un mot dans une chaîne sans utiliser StringReplace, une idée de comment?Chaîne manuelle Remplacer (Free Pascal)
J'utilise 4 zones de texte.
1er boîte est le texte original 2ème case est le mot de recherche 3ème case est le remplacer mot boîte 4ième est le texte final
var
Form1: TForm1;
result: string;
rep: string;
i, iCount: integer;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit4.Text := StringReplace(Edit1.Text, Edit2.Text, Edit3.Text, [rfReplaceAll, rfIgnoreCase]);
begin
result := Edit4.Text;
rep := Edit3.Text;
iCount := 0;
for i := 1 to length(result) do
begin
if result[i] = rep then
inc(iCount);
end;
end;
label5.Caption := ('There was ' + IntToStr(iCount) + ' changes made');
end;
S'il vous plaît nous montrer ce que vous avez essayé jusqu'à présent. –
Mis à jour ** Il ne semble pas vouloir compter avec la fonction de remplacement de chaîne –
Vous dites: * ... sans utiliser StringReplace *, mais votre code ** utilise ** 'StringReplace()'? Quel est le véritable problème? Voulez-vous éviter 'StringReplace()' ou voulez-vous avoir le nombre de remplacements ou les deux? –