Przenoszenie tekstu ze zmianką

0

Witam otóż chcę zrobić aby mi z jednego memo przeniosło tekst do drugiego uwzględniając znaki, kawałki, wyrazy, które znajdują się w valuelisteditor. Tzn, że chce przenieść kod: mam w memo1 tekst 'test[sa]' a żeby w drugim to wyglądało 'test then begin sa end;'

 
var
i,y : integer;
begin
memo2.clear;
for i := 1 to length(memo1.Text) do begin
for y := 0 to valuelisteditor1.ColCount do
if copy(memo1.Text,i,1) = valuelisteditor1.Keys[y] then
memo2.Text := memo2.text + valuelisteditor1.Values[copy(memo1.Text,i,1)];
end;
end;

Kod wygląda tak, to teraz działa wyłącznie na te znaki, ale jak zrobić by przenosiło jeszcze tekst? Bo gdy dam else to np 5 razy napisze mi to samo, bo pętla y się powtarza.
Pewno to błahostka, ale nie mogę tego rozczaić.

0
matigi12 napisał(a)

mam w memo1 tekst 'test[sa]' a żeby w drugim to wyglądało 'test then begin sa end;'

 

s:=StringReplace(s, '[', ' then begin ', [rfReplaceAll]);
s:=StringReplace(s, ']', ' end;', [rfReplaceAll]);

 
0

Dzięki, wiedziałem że to mogło być takie proste, ale nie wiedziałem jak to napisać ;]
Wczoraj jeszcze myślałem żeby użyc komponentu replacetext czy jakoś takoś

A jeszcze jedno gdy mam tekst " say'test' " to chce żeby wyglądał "say('test')" i tu mam problem bo nie wiem jak to zrobić by przerobił same te '' bo gdy wpisze w przerabianie, ' na (' i jeszcze raz to samo na ') to on zeświruje może musze zrobić np "say ' " i tak dalej próbować w sensie ze spacjami i bez do przeróbki, ja mam to w valuelist wszystkie zamienniki, ułatwia mi to sprawę bo tyle samo kodu a więcej zamienników :]

0

Jesli chcesz bardziej zaawansowane zmienianie tekstu zastosować, to
zainteresuj się Wyrażeniami Regularnymi. Moduł wraz z demami oraz
dokumentacją jest tutaj: http://www.mediafire.com/?czhw3mmzjyn

1 użytkowników online, w tym zalogowanych: 0, gości: 1