![]() |
Добро пожаловать, гость ( Вход | Регистрация )
![]() |
Siberian GRemlin |
![]() ![]()
Сообщение
#1
|
![]() Advanced Member ![]() ![]() ![]() Группа: CTPAX-X Сообщений: 537 Регистрация: 4-February 08 Пользователь №: 2 Спасибо сказали: 222 раз(а) ![]() |
Сталкнулся с одной проблемкой. Есть типизированный файл, в котором помимо всего прочего хранятся строчки в юникоде. Как с такими работать я не знаю, пока сделал изврат полнейший:
CODE for j:=1 to Header.NameArr[i].StringLenght do begin Mstr.ReadBuffer(c,1); Mstr.ReadBuffer(x,1); if x=4 then begin if c=01 then begin c:=$A8; Header.StringsArr[i][j]:=chr(c); end else if c=$51 then begin c:=$B8; Header.StringsArr[i][j]:=chr(c); end else Header.StringsArr[i][j]:=chr(c+$B0); end else Header.StringsArr[i][j]:=chr(c); end; StringGrid1.Cols[1].Strings[i]:=Header.StringsArr[i]; Тут у меня обрабатываются только латиница и кириллица, а юникод понятно дело только им не ограничивается. Если с первого взгляда непонятно, то поясняю, два байта на один символ, если первый четвёрка, то это кириллица, иначе работаем как с латиницей. В кириллице там еще два случая, с 'Ё' и 'ё'. Может, кто подскажет как правильно считать строку в string (естественно, который расширенный, не стандартный ANSII) за один присест. Насколько мне известно, это реально... просто я с этим не сталкивался и ламачёк ![]() ![]() |
![]() ![]() |
jTommy |
![]()
Сообщение
#2
|
Наблюдающий ![]() ![]() ![]() Группа: CTPAX-X Сообщений: 197 Регистрация: 4-February 08 Из: деревня Москва Пользователь №: 6 Спасибо сказали: 19 раз(а) ![]() |
Siberian GRemlin:
QUOTE 1. Прикол в том, что я никогда не пользуюсь манифестом, а стиль меняется. При отсутствии манифеста (внутри exe или в каталоге с прогой) меняется только заголовок и еще что-то, а при наличии манифеста изменяются все контролы: например, кнопки и GroupBox'ы станут с закругленными углами. QUOTE получается, что высота заголовка окна(полоска) увеличивается и элементы интерфейса уезжают в небытие У меня тоже была такая проблема в дельфи. Причем при смене темы во время работы программы все нормально. Попробовал поискать в своих программах - не нашел. Если я правильно помню, я в обработчике OnCreate формы запрашивал с помощью WinAPI функции высоту заголовка, вычислял разницу между полученным значением и высотой стандартного заголовка(при котором компилилась программа) и эту разницу (или чуть больше) прибавлял к высоте формы. |
Siberian GRemlin |
![]()
Сообщение
#3
|
![]() Advanced Member ![]() ![]() ![]() Группа: CTPAX-X Сообщений: 537 Регистрация: 4-February 08 Пользователь №: 2 Спасибо сказали: 222 раз(а) ![]() |
Если я правильно помню, я в обработчике OnCreate формы запрашивал с помощью WinAPI функции высоту заголовка, вычислял разницу между полученным значением и высотой стандартного заголовка(при котором компилилась программа) и эту разницу (или чуть больше) прибавлял к высоте формы. Если бы ты вспомнил название этой функции, я был бы очень признателен ![]() |
![]() ![]() |
Упрощённая версия | Сейчас: 30th April 2025 - 20:40 |