![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перевод строки из русской в английскую и наоборот.
Змей © (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;