Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему некоторые контролы не понимают букву "я", "я" #255 
:(
    Опции темы
Matematik
Дата 20.7.2006, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

Репутация: 17
Всего: 50



Почему некоторые контролы не понимают букву "я"
TCheckBox TStaticText
если буква "я" первая в caption, то слово не отображается 
PM MAIL WWW ICQ   Вверх
Alexeis
Дата 20.7.2006, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



это глюк object inspector
вот так появляется
Код

procedure TForm1.btn1Click(Sender: TObject);
begin
  chk1.Caption := 'я-тра-та-та';
end;


Добавлено @ 12:25 
Интересно что так тоже присваивается
Код

procedure TForm1.FormCreate(Sender: TObject);
begin
  chk1.Caption := 'я-тра-та-та';
  ShowMessage(chk1.Caption);
end;

но потом
Код

procedure TForm1.btn1Click(Sender: TObject);
begin
  ShowMessage(chk1.Caption);
end;


показывает пустую строку.

Добавлено @ 12:32 
Более того - Это проблема всех наследников TWinControl ! smile  

Это сообщение отредактировал(а) alexeis1 - 20.7.2006, 12:26


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Alexeis
Дата 20.7.2006, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Более того это проблема TControl
В kol - проектах такого бага нет! 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Snowy
Дата 20.7.2006, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Это проблема не контролов, а TReader.
Проблема возникает при чтении из dfm ресурса.
Но вот смоделировать это мне не удалось.
Просто TWriter не умеет сохранять UTF-16 - сохраняет только в UTF-8.
А dfm хранять строки в UTF-16.
Вот при чтении UTF-16 и возникает проблема с буквой 'я'.
Причину так и не выяснил.
Все смоделированные мной примеры отработали корректно.

Добавлено @ 13:16 
Цитата(alexeis1 @  20.7.2006,  12:54 Найти цитируемый пост)
В kol - проектах такого бага нет! 
В kol не используется Classes и соответственно TReader.
KOL вообще не хранит формы в ресурсах.
Всё прописывается в коде. (см. inc файлы)

Добавлено @ 13:17 
решение - не использовать первой букву "я" smile
Использовать большую "Я" или ставить перед "я" пробел 
PM MAIL   Вверх
Alexeis
Дата 20.7.2006, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



ха это скорее даже глюк метода perform

вот так работает
Код

procedure TForm1.FormCreate(Sender: TObject);
begin
  SendMessage(btn1.Handle, WM_SETTEXT, 0, Cardinal(PChar('яаа')));
 end;


, а так нет

Код

procedure TForm1.FormCreate(Sender: TObject);
begin
   btn1.Perform(WM_SETTEXT, 0, Cardinal(PChar('яаа')));
end;


Добавлено @ 13:26 
Snowy, дело не в ресурсах - даже в обработчике onCreate формы это не работает!

Добавлено @ 13:27 
P.s. метод Perform - вызывается tcontrol - для установки caption 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0885 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.