Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.08.2012, 21:49   #1
Putin-mode
Пользователь
 
Регистрация: 04.06.2010
Сообщений: 82
По умолчанию определить кодировку

Добрый вечер! Пишу программу для распаковки дров при текстовом этапе установки Windows XP. (хоть такая уже и есть но я чисто для себя)
Появилась проблема с отображение русского языка. Текст который вписан в кнопку и в чекбокс отображается нормально а вот лейблы никак не хотят.



первый лейбл я обработал этой функцией

Код:
function StrAnsiToOem(const aStr : String) : String;
var
  Len : Integer;
begin
  Result := '';
  Len := Length(aStr);
  if Len = 0 then Exit;
  SetLength(Result, Len);
  CharToOemBuff(PChar(aStr), PChar(Result), Len);
end;

Label5.Caption :=  StrAnsiToOem('Откуда');
а второй просто

Код:
Label6.Caption :=  'Откуда';
ничего не помогло.

Не подскажете в чем может быть загвоздка?

P.S. программа работает на 40 минуте установки винды. По идее там должна быть одна из 2 кодировок. или win1251 или dos 866. Но на деле почему то ни то ни другое не срабатывает.

Последний раз редактировалось Putin-mode; 23.08.2012 в 21:51.
Putin-mode вне форума Ответить с цитированием
Старый 23.08.2012, 21:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Шрифт по ходу не подтянулся...
Попробуй что-ли принудительно загрузить шрифт, который программа использует.
Я когда-то в сети видел похожие проблемы, но это было давно, сейчас не помню чем решилось. По-моему авторы просто переходили на лейбы на Аглицком...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.08.2012, 22:41   #3
opel431
Новичок
Джуниор
 
Регистрация: 03.10.2009
Сообщений: 1
По умолчанию

Смотря в чем работаем и какая кодировка нужна.
Для русского:
D7 - Font.Charset в RUSSIAN_CHARSET;
D2009+ - лучше Font.Charset := DEFAULT_CHARSET;
opel431 вне форума Ответить с цитированием
Старый 23.08.2012, 22:41   #4
Putin-mode
Пользователь
 
Регистрация: 04.06.2010
Сообщений: 82
По умолчанию

Проблему решил. В самой дельфе в свойствах шрифта лейбла поставил Russian_charset.
Putin-mode вне форума Ответить с цитированием
Старый 23.08.2012, 22:44   #5
Putin-mode
Пользователь
 
Регистрация: 04.06.2010
Сообщений: 82
По умолчанию

Ваш ответ не успел увидеть, так как писал ))) сам щас тоже до этого способа дошел. Правда если запускать на живой системе то шрифт нормальный, а если уже на 40 минуте то именно этот шрифт в лейблах увеличивается с 8 до 10 где то. Но это уже мелочи.

Всем спасибо!
Putin-mode вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить кодировку 4айник Помощь студентам 1 17.06.2014 08:55
ie не меняет кодировку CodeNOT PHP 3 10.02.2012 03:22
изменить кодировку Dimarik C# (си шарп) 8 14.09.2011 09:29
как определить кодировку данных в потоке delphi ? Alar Общие вопросы Delphi 1 14.04.2011 21:16
Определить кодировку Shouldercannon PHP 1 31.07.2010 18:39