Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 183

/ вопрос закрыт /

Приветствую, уважаемые эксперты!
Можно ли на делфи написать прогу ну скажем когда я ввожу в memo такое слово "ghbdtn" , а в memo2 переводила "привет".

Kazi Вопрос закрыт (ответы не принимаются, мини-форум закрыт)

Вопрос задал: 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

IlluminatI (статус: 2-ой класс), 12 апреля 2011, 18:27 [#1]:

Можно.
Егор

Егор (статус: 10-ый класс), 12 апреля 2011, 18:49 [#2]:

скачиваем punto switcher и не маемся ерундой.
программка даже умеет переключать раскладки "на лету", во время печатания текстов
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
Вадим К

Вадим К (статус: Академик), 12 апреля 2011, 18:58 [#3]:

Удалять эту штуку нужно, причем со страшной силой. У программиста не место ей на машине.
Галочка "подтверждения прочтения" - вселенское зло.
Kazi

Kazi (статус: Посетитель), 12 апреля 2011, 19:23 [#4]:

Егор скачать punto switcher вот это уже ерунда
Cr@G!N |{GZ
Kazi

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™

min@y™ (статус: Доктор наук), 12 апреля 2011, 20:40 [#7]:

Я - программист, юзаю эту прогу с первых версий и жить без неё не могу. Когда ставлю своим клиентам винду, первая прога, установленная в новую систему - это PS. Её создателям надо памятник поставить при жизни. И какой-нить город назвать типа Пунтосвитчерск!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Kazi

Kazi (статус: Посетитель), 12 апреля 2011, 22:14 [#8]:

дааааааа любители PS жди от вас ответа, а вдруг мне прога типа PS нужна внутри моей проги которую я создаю и что тогда таскать прогу PS всгде собой. Не вариант братцы есть исходник давайте нет, так нет!!!
Cr@G!N |{GZ
Вадим К

Вадим К (статус: Академик), 12 апреля 2011, 23:01 [#9]:

Мне лично PS только мешал. Мне сказали - настрой. Настроил - оказалось, что для всех программ, даже для броузера, он отключен. С другой стороны я практически не смотрю на клавиатуру, так что если и ошибся, то на одну-две буквы и мне проще нажать BackSpace. Конечно, для тех, кто печатает одним пальцем смотря только на клавиатуру - эта программа нужна.
Kazi: Что конкретно непонятно?
Галочка "подтверждения прочтения" - вселенское зло.
min@y™

min@y™ (статус: Доктор наук), 13 апреля 2011, 08:09 [#10]:

Цитата (Вадим К):

Что конкретно непонятно?

Ему, наверно, непонятно, как его прога будет узнавать, что юзер ввёл слово в неверной раскладке.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
bugmenot

bugmenot (статус: 3-ий класс), 13 апреля 2011, 16:46 [#11]:

этот ваш puto switcher содержит паразита yandex.bar
виконання програми розпочинається з того самого мiсця, де призупинилося.

min@y™

min@y™ (статус: Доктор наук), 13 апреля 2011, 17:10 [#12]:

Цитата (bugmenot):

этот ваш puto switcher содержит паразита yandex.bar

Ну если при установке тупо тыкать "ДАЛЕЕ", не читая, что там написано, то конечно нахватаешься всяких трипперов.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
bugmenot

bugmenot (статус: 3-ий класс), 15 апреля 2011, 09:10 [#13]:

Цитата:

если при установке тупо тыкать "ДАЛЕЕ", не читая, что там написано

Это конечно верно, но не оправдывает.

А так, нужно таблицу частот символов держать.
виконання програми розпочинається з того самого мiсця, де призупинилося.

min@y™

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): Ответ не нужен больше.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:49
Выполнено за 0.03 сек.