Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.05;
Скачать: CL | DM;

Вниз

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

 
Змей ©   (2006-01-19 01:43) [0]

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



Страницы: 1 вся ветка

Текущий архив: 2006.02.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
6-1130347888
Plastic Angel
2005-10-26 21:31
2006.02.05
Теоретический вопрос. Алгоритм.


3-1133964171
Boxer
2005-12-07 17:02
2006.02.05
подключение с помощью Opendialog


2-1137480059
Id
2006-01-17 09:40
2006.02.05
DateEdit


3-1133781837
AndreWD7
2005-12-05 14:23
2006.02.05
Как поймать FK constraint error для ADOTable MS SQL2000 D7?


8-1124766998
palgen
2005-08-23 07:16
2006.02.05
Microsoft Video for Windows SDK