![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
замена букв
replace © (2005-12-08 23:50:00)
function Transliterate(s: string): string;
var
i: integer;
t: string;
begin
for i:=1 to Length(s) do
begin
case s[i] of
'c': T:=T+'j';
'j': T:=T+'c';
else t:=t+s[i];
end;
end;
Result:=t;
end;
procedure TfmMain.Button1Click(Sender: TObject);
var
i: integer;
begin
TntMemo2.Lines.Clear;
for i:=0 to TntMemo1.Lines.Count-1 do
TntMemo2.Lines.Add(Transliterate(TntMemo1.Lines.Strings[i]));
end;
как можна доделать этот код чтоб "с" и "j" заменялись не в TntMemo2 а на TntMemo1. вроде, нашол в слове "с" земеняем его на "j" , а когда в слове находем "j"земеняем на "с". вожно то что кроме этих букв все остались на месте.
replace (2005-12-09 01:53:00) [1]нет,то же результат.заменяет все буквы.вот то что пишем
http://aprel-az.com/forum/uploads/post-15-1134081432.gif
после клика
http://aprel-az.com/forum/uploads/post-15-1134081962.gif
ещо раз подчеркиваю.проблема в том,что ваша строка помимо с 'c' и 'j' заменяет и другие буквы ,самими собой.но повторном записе некоторые Unicodovskiye буквы не правильно отображаются
а мне нужно чтоб на Мемо земенялись только 'c' и 'j'.
Германн (2005-12-09 01:03:00) [2]Ну если пример в посте [0] работает так как нужно, то может поможет замена
> for i:=0 to TntMemo1.Lines.Count-1 do
> TntMemo2.Lines.Add(Transliterate(TntMemo1.Lines.Strings[i]));
>
наfor i:=0 to TntMemo1.Lines.Count-1 do?
TntMemo1.Lines[i]:=Transliterate(TntMemo1.Lines.Strings[i]);
Не работал никогда ни с Unicode, ни c "динамит-компонентами". :-)
replace (2005-12-09 00:41:00) [3]проблема в том,что ваша строка помимо с 'c' и 'j' заменяет и другие буквы .самими собой,но повторном записе некоторые Unicodovskiye буквы не правильно отображаются
а мне нужно чтоб на Мемо земенялись только 'c' и 'j'.
Anatoly Podgoretsky (2005-12-09 00:13:00) [4]Как то смутно задан вопрос.
Может тебе надо это
TntMemo1.text := Transliterate(TntMemo1.text);