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

Вниз

TEdit, Win32 EDIT control и Alt+13   Найти похожие ветки 

 
ProgRAMmer Dimonych ©   (2013-05-27 23:50) [0]

Наверное, глупый и уже когда-нибудь кем-нибудь озвученный вопрос, но…

Тестил лабораторку на Delphi у коллеги и наткнулся на поведение, о котором даже не догадывался: если в TEdit попытаться ввести символ с кодом 13, используя сочетание клавиш Alt+13 (не отпуская Alt), в Edit окажется символ "d" (код 100). Аналогично для остальных кодов меньше 32.

Набросал минимальную программку на ассемблере — та же история. Проверка других программ показала, что такое поведение, похоже, проявляется для программ, использующих неЮникодные версии контролов.

Хочу понять физику процесса, не хочу сидеть с отладчиком, ибо некогда. Кто-нибудь может рассказать или поделиться ссылкой с разъяснениями? На «The Old New Thing» пока ничего найти конкретно по этой теме не удалось.


 
Rouse_ ©   (2013-05-27 23:53) [1]

Та это стандарт :)
Набери "Alt + 0169" и получишь вот такой символ =  ©


 
Rouse_ ©   (2013-05-27 23:55) [2]


> Хочу понять физику процесса,

Клавиатура переключается в режим альтернативного ввода, оть и вся физика :)


 
ProgRAMmer Dimonych ©   (2013-05-28 00:24) [3]

> [1] Rouse_ ©   (27.05.13 23:53)

Для этих понятно. У меня многоточие в нулевом посте так набрано :)

Просто для кодов непечатаемых символов в Unicode-программах визуально вставляется специальный знак (charmap) или вообще те самые старые добрые «нотки-смайлики» (notepad). А в ANSI-версиях контролов вот почему-то символы, коды которых никак не коррелируют вроде бы с тем же 13-м символом.

Что, собственно и интересует: как получается, что 13-му символу вдруг соответствует "d" (100 dec), а, например, 10-му — "0" (48 dec).



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

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

Наверх




Память: 0.47 MB
Время: 0.008 c
15-1369684251
ProgRAMmer Dimonych
2013-05-27 23:50
2013.11.10
TEdit, Win32 EDIT control и Alt+13


6-1269926058
alekseyi
2010-03-30 09:14
2013.11.10
TClientSocket 10022 Error


2-1360436617
Wadimka
2013-02-09 23:03
2013.11.10
Подскажите как получить список всех компонетов


2-1360233890
vlad
2013-02-07 14:44
2013.11.10
Открытие файла своей программой.


6-1269002967
Domkrat
2010-03-19 15:49
2013.11.10
Login на Google