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

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

Перевод строки из русской в английскую и наоборот.


Змей ©   (2006-01-19 01:43:00) 

const
EnCH: string = '`qwertyuiop[]asdfghjkl;zxcvbnm,./~!@#$%^&*()_+|QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM?';
RuCH: string = 'ёйцукенгшщзхъфывапролджячсмитьбю.Ё!"№;%:?*()_+/ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,';
Function Translete(l:bool; c:char):char;
begin
if l = true then
begin
if c = char('Q') then c:= char('Й');
if c = char('W') then c:= char('Ц');
if c = char('E') then c:= char('У');
if c = char('R') then c:= char('К');
if c = char('T') then c:= char('Е');
if c = char('Y') then c:= char('Н');
if c = char('U') then c:= char('Г');
..............................................
................................................
if c = char('/') then c:= char('.');
if c = char('?') then c:= char(',');
end;
if l = false then
begin
if c = char('Й') then c:= char('Q');
if c = char('Ц') then c:= char('W');
if c = char('У') then c:= char('E');
..............................................
..............................................
if c = char('.') then c:= char('/');
if c = char(',') then c:= char('?');
end;

result := c;
end;

procedure TForm1.Button3Click(Sender: TObject);

var
i, u, k: word;
C: Char;
s : String;
begin
RichEdit2.Lines.BeginUpdate;

s := '';
for i := 0 to RichEdit2.Lines.Count-1 do
 begin
   k := 0;
   s := RichEdit2.Lines.Strings[i];

   for u := 1 to Length(s) do
   if pos(char(s[u]), EnCH)0 then
    begin
     k := pos(char(s[u]), EnCH);
     C := RuCH[k];
     s[u] := c;
    end;

  RichEdit2.Lines.Strings[i] := s;
 end;

RichEdit2.Lines.EndUpdate;
end;

Извините у меня вот не richedit а edit.text
как на ней вот это прокатывать? for i := 0 to RichEdit2.Lines.Count-1 do
:(


edit.text   (2006-01-19 02:58:00) [1]

Вот так:


procedure TForm1.Button3Click(Sender: TObject);
var
i, u, k: word;
C: Char;
s : String;
begin
s := '';
  k := 0;
  s := Edit1.Text;
  for u := 1 to Length(s) do
  if pos(char(s[u]), EnCH)<>0 then
   begin
    k := pos(char(s[u]), EnCH);
    C := RuCH[k];
    s[u] := c;
   end;
 Edit1.Text := s;
end;


Наверх

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