|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.03.2008, 14:22 | #11 | |
Форумчанин
Регистрация: 26.11.2007
Сообщений: 235
|
Цитата:
Тоже не получается, там остановка не в одном месте, при пошаговой компиляции сразу появляются молули этих компонентов. Может прикрепить мне эту прогу ,может поможет мне) |
|
04.03.2008, 14:25 | #12 | ||
Форумчанин
Регистрация: 26.11.2007
Сообщений: 235
|
Цитата:
Цитата:
|
||
04.03.2008, 14:28 | #13 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Цитата:
После компиляции ставишь курсор на case и нажимаешь F4 (выполнить до строки курсора). Появится форма. На ней нажимаешь button. Как только будет вызвана функ-я SR программа остановится. Дальше используешь F7 / F8 как обычно. Второй вариант - поставить точку прерывания. |
|
04.03.2008, 14:33 | #14 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Цитата:
temp := memo1.text, то скорее всего в temp будет что-то вроде #0142#0243#0243 .... то-есть два байта на символ. Какие придется выяснять отдельно. Если не получается с пошаговым прохождением, можно даже так: после temp := memo1.text пишем ShowMessage( intToStr(ORD(temp[1]) ); ShowMessage( intToStr(ORD(temp[2]) ); Потом набираем в memo1 один символ и смотрим какой будет код и так для всех символов. |
|
04.03.2008, 14:41 | #15 |
Форумчанин
Регистрация: 26.11.2007
Сообщений: 235
|
ShowMessage( intToStr(ORD(temp[1]) );
ShowMessage( intToStr(ORD(temp[2]) ); Спасибо, эти сделал, код выдает другой, например пишу в мемо1 буквы "q" для него дает 113 "ь" для него дает 117 То есть не соответствует тем что я написал, значит мне поменять коды клавиш в case нужно, под эти? |
04.03.2008, 14:44 | #16 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Да, пройтись по всему алфавиту и поставить нужные коды.
|
04.03.2008, 14:48 | #17 |
Форумчанин
Регистрация: 26.11.2007
Сообщений: 235
|
Огромное спасибо alexBlack ! Очень признателен, я неделю мучался над этой проблемой. Теперь хоть знаю уже в чем проблема, буду заменять в Case коды символов на те, которые мне показывают
ShowMessage( intToStr(ORD(temp[1]) ); ... Очень благодарен! |
04.03.2008, 15:24 | #18 |
Форумчанин
Регистрация: 26.11.2007
Сообщений: 235
|
А нельзя устранить такую проблему, которая вышла только что
Для двух разных азерб-их симолов выходят два одинаковых кода, например код 117 встретился дважды, потом 103, 63 и некторые другие. А в Case повторяющиеся коды не получается же. |
04.03.2008, 15:31 | #19 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Может все-таки все сложнее и символ задается двумя байтами ?
Самый простой способ определить: пишем: ShowMessage( intToStr( length(temp) )); ShowMessage( intToStr( ord(temp[1]) )); if length(temp) > 1 then ShowMessage( intToStr( ord(temp[2]) )); В memo1 вводим только 1 символ и смотрим сколько символов получилось и какие коды. Если есть двухбайтовые символы, функ-ю sr() придется переделать. |
04.03.2008, 15:46 | #20 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Нашел в инете описание TTNTMemo.
Код:
Код:
Код:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите исправить ошибку в задаче | Vladislav_87 | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 04.07.2008 12:27 |
Помогите исправить ошибку в задаче | VANOLORD | Паскаль, Turbo Pascal, PascalABC.NET | 9 | 19.05.2008 22:16 |
Помогите исправить ошибку в коде... | prizrak1390 | Общие вопросы Delphi | 4 | 26.04.2008 13:19 |
Помогите исправить ошибку | Булат | Общие вопросы Delphi | 3 | 25.04.2008 10:01 |
помогите исправить ошибку. | alen666 | Паскаль, Turbo Pascal, PascalABC.NET | 11 | 08.03.2008 16:43 |