Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

замена букв


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);


Наверх

Титульная страница Поиск, карта сайта Написать письмо