| 
| 
 | Вопрос # 5 183/ вопрос закрыт / | 
 |  Приветствую, уважаемые эксперты!Можно ли на делфи написать прогу ну скажем когда я ввожу в memo такое слово "ghbdtn" , а в memo2 переводила "привет".
 
|  |   Вопрос задал: Kazi (статус: Посетитель)Вопрос отправлен: 12 апреля 2011, 18:25
 Состояние вопроса: закрыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, Kazi!легко:)
 
 const trans:array[char] of char = (' ',..... ' '); // как заполнить этот массив - будет сказано ниже 
var s:string;
i,j:integer;
begin
  for i:= 0 to memo1.lines.count-1 do begin
    s := memo1.lines[i];
    for i:= 1 to length(s) do
      s[i] := trans(s[i]);
    memo2.lines.add(s);
  end;
end;в этом не хватает только одного массива trans. В нем должно быть 256 элементов (я сознательно поставил там точки!). Нужно просто в нужных местах расставить нужные символы замены. Могу сразу сказать, что первые 32 элемента - будут пробелы, тут у нас просто непечатные символы.Но можно часть этой таблицы сгенерировать программно.
 
 var s:string;
i:integer;
begin
 s := '';
 for i:= 0 to 256 do
 if i < 32 then s := s + ''' '', '
 else s := s + ''''+chr(i)+''', ';
 
 s := copy(s, 1, 5*256 - 2);
 memo1.lines.add('trans:array[char] of char = ('+s+');';
end;Теперь останется только заменить нужные символы латиницы на нужные кириллические:)
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 12 апреля 2011, 18:42
 Оценка за ответ: 5
 Комментарий к оценке: Брат спасибо, но может чуток по подробней! Чтобы я конкретно понял что я вообще написал!!! |  
 Мини-форум вопросаВсего сообщений: 15; последнее сообщение — 15 апреля 2011, 17:26; участников в обсуждении: 6. 
|   | IlluminatI (статус: 2-ой класс), 12 апреля 2011, 18:27 [#1]:Можно. |  
|   | Егор (статус: 10-ый класс), 12 апреля 2011, 18:49 [#2]:скачиваем punto switcher и не маемся ерундой. программка даже умеет переключать раскладки "на лету", во время печатания текстов
 Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  
|   | Вадим К (статус: Академик), 12 апреля 2011, 18:58 [#3]:Удалять эту штуку нужно, причем со страшной силой. У программиста не место ей на машине. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Kazi (статус: Посетитель), 12 апреля 2011, 19:23 [#4]:Егор скачать punto switcher вот это уже ерунда Cr@G!N |{GZ |  
|   | Kazi (статус: Посетитель), 12 апреля 2011, 19:26 [#5]:Можете через e-mail (xkg@namba.kg) отправить исходник или пример, очень надо!!! Cr@G!N |{GZ |  
|   | Егор (статус: 10-ый класс), 12 апреля 2011, 19:55 [#6]: Цитата (Вадим К): Удалять эту штуку нужно, причем со страшной силой. У программиста не место ей на машине. почему?
 я программист и пользуюсь им постоянно. даже на линукса поставил.
 Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  
|   | min@y™ (статус: Доктор наук), 12 апреля 2011, 20:40 [#7]:Я - программист, юзаю эту прогу с первых версий и жить без неё не могу. Когда ставлю своим клиентам винду, первая прога, установленная в новую систему - это PS. Её создателям надо памятник поставить при жизни. И какой-нить город назвать типа Пунтосвитчерск! Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Kazi (статус: Посетитель), 12 апреля 2011, 22:14 [#8]:дааааааа любители PS жди от вас ответа, а вдруг мне прога типа PS нужна внутри моей проги которую я создаю и что тогда таскать прогу PS всгде собой. Не вариант братцы есть исходник давайте нет, так нет!!! Cr@G!N |{GZ |  
|   | Вадим К (статус: Академик), 12 апреля 2011, 23:01 [#9]:Мне лично PS только мешал. Мне сказали - настрой. Настроил - оказалось, что для всех программ, даже для броузера, он отключен. С другой стороны я практически не смотрю на клавиатуру, так что если и ошибся, то на одну-две буквы и мне проще нажать BackSpace. Конечно, для тех, кто печатает одним пальцем смотря только на клавиатуру - эта программа нужна. Kazi: Что конкретно непонятно?
 Галочка "подтверждения прочтения" - вселенское зло. |  
|   | min@y™ (статус: Доктор наук), 13 апреля 2011, 08:09 [#10]: Цитата (Вадим К): Что конкретно непонятно?  Ему, наверно, непонятно, как его прога будет узнавать, что юзер ввёл слово в неверной раскладке.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | bugmenot (статус: 3-ий класс), 13 апреля 2011, 16:46 [#11]:этот ваш puto switcher содержит паразита yandex.bar виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  
|   | min@y™ (статус: Доктор наук), 13 апреля 2011, 17:10 [#12]: Цитата (bugmenot): этот ваш puto switcher содержит паразита yandex.bar  Ну если при установке тупо тыкать "ДАЛЕЕ", не читая, что там написано, то конечно нахватаешься всяких трипперов.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | bugmenot (статус: 3-ий класс), 15 апреля 2011, 09:10 [#13]: Цитата: если при установке тупо тыкать "ДАЛЕЕ", не читая, что там написано Это конечно верно, но не оправдывает.
 
 А так, нужно таблицу частот символов держать.
 виконання програми розпочинається з того самого мiсця, де призупинилося.
 
 |  
|   | min@y™ (статус: Доктор наук), 15 апреля 2011, 10:30 [#14]: Цитата (bugmenot): Это конечно верно, но не оправдывает.  Это не оправдывает только тупого юзера.
 
 Цитата (bugmenot): А так, нужно таблицу частот символов держать.  Таблица частот тут не поможет, нужен именно анализ комбинаций символов с выявлением невозможных в той или иной раскладке.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Егор (статус: 10-ый класс), 15 апреля 2011, 17:26 [#15]:а я вообще этими таблицами-настройками не парюсь. просто выключил автоматическое переключение и всё. а переключаю вручную - по Pause/Break. мне так удобно. 
 а в линуксе вообще песня была. я привык переключать раскладку по Ctrl+Shift. когда настроил такое в линуксе, то оказалось, что в линуксе баг (уже года два висит) - переключение происходит не по отпусканию этих клавиш (как в винде), а по нажатию. т.е. все хоткеи на Ctrl+Shift перестали работать (в том числе Ctrl+Shift+влево и Ctrl+Shift+вправо). отключил переключение системой, настроил переключение xNeur'ом (аналог пунто, только в линуксе). и всё зашибись.
  
 Kazi: закрывай вопрос, если решён. а то мы тут флем-то разведём
   Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  31 января 2013, 16:13: Вопрос закрыт (решение принял автор вопроса — Kazi): Ответ не нужен больше. Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |