Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.006 c
15-1369600202
Юрий
2013-05-27 00:30
2013.11.10
С днем рождения ! 27 мая 2013 понедельник


15-1369703482
Сергей
2013-05-28 05:11
2013.11.10
Нормализованое число


15-1369116738
vajo
2013-05-21 10:12
2013.11.10
Батарея для бесперебойника.


2-1360264863
alumium
2013-02-07 23:21
2013.11.10
Надежное удаление с последующим форматированием


15-1368820513
Knight
2013-05-17 23:55
2013.11.10
Usb-флоповод - убивец данных




   Наверх