|
Вопрос # 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): Ответ не нужен больше.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|