Pekala, o zaman şunu deneyebilir misin;
(memo1 in metnini prosedür içinden değiştiriyorum onu iptal edip kendin yazabilirsin)
procedure TForm1.Button1Click(Sender: TObject);
function IndexOfArray(const Value: String; Items: array of String): Integer;
var
i: Integer;
begin
Result := -1;
for i := Low(Items) to High(Items) do
begin
if AnsiSameText(Value, Items[i]) then
begin
Result := i;
Break;
end;
end;
end;
const
arrKelimeler : array[0..5] of string = ('isim','hekim','resim','ad','doktor','fotograf');
arrEsanlamlilar : array[0..5] of string = ('ad','doktor','fotograf','isim','hekim','resim');
var
liste : TStringList;
i,j: integer;
begin
memo1.Lines.Text := 'satır 1 isim resim ad ' +#13+
'satır 2 fotograf resim aynısı' +#13+
'satır 3 deneme ad sinan';
memo2.Lines.Clear;
try
liste := Tstringlist.Create;
liste.Delimiter := ' ';
for i := 0 to memo1.Lines.Count - 1 do
begin
liste.DelimitedText := memo1.Lines[i];
for j := 0 to liste.Count- 1 do
begin
if AnsiMatchStr(liste[j],arrKelimeler) then
liste[j] := arrEsanlamlilar[IndexOfArray(liste[j],arrKelimeler)];
end;
Memo2.Lines.Add(liste.DelimitedText);
end;
finally
liste.Free;
end;
end;
hocam sizin de zamanınızı alıyorum ama bu satırda hata çıktı
if AnsiMatchStr(liste[j],arrKelimeler) then