1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| procedure TForm1.Button1Click(Sender: TObject);
var
StringList, StringLine: TStringList;
mot, AmotB: String;
i, j: Integer;
begin
StringList := TStringList.Create; // En vertical = texte
StringLine := TStringList.Create; // En horizontal = ligne
TRY
Memo1.Lines.LoadFromFile('Texte.txt');
StringList.LoadFromFile ('Texte.txt');
for i := 0 to StringList.Count - 1 do
begin
//------- Seconde StringList analysant mot à mot sur LA sLigne affectée
StringLine.Text := StringList[i];
StringLine.Delimiter := ' '; // Delimiteur = SPACE
StringLine.QuoteChar := ' ';
StringLine.DelimitedText := StringLine.Text;
//ShowMessage(StringList[i]);
//-------
for j := 0 to StringLine.Count - 1 do
if pos(AnsiLowerCase('toto'), StringLine[j]) > 0 then
begin
mot := StringLine[j];
//ShowMessage(mot); // Détection impec pourtant !
AmotB := 'A'+mot+'B';
//ShowMessage(AmotB); // Ici aussi impec !
end;
StringList[i] := StringReplace(StringList[i], mot, AmotB, [rfReplaceAll, rfIgnoreCase]);
//StringList[i] := StringReplace(StringList[i], mot, AmotB, [rfIgnoreCase]);
//StringList[i] := AnsiReplaceText(StringList[i], mot, AmotB);
//StringList[i] := AnsiReplaceStr(StringList[i], mot, AmotB);
end;
ShowMessage(StringList.Text);
//Memo1.Text := StringList.Text;
FINALLY
StringLine.Free;
StringList.Free;
end;
end; |
Partager