Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.11.14;
Скачать: [xml.tar.bz2];

Вниз

Использвание CharSet   Найти похожие ветки 

 
Мефодий   (2002-11-05 09:58) [0]

Каким образом можно в RunTime загрузить перечень CharSet в ListBox и потом выбирать из него и присваивать свойству Font.CharSet ? Читал в хелпе про GetCharSetValues, но не смог использовать.
Спасибо.


 
Skier   (2002-11-05 10:03) [1]

>Мефодий
посмотри реализацию редактора св-ва TFontCharsetProperty


 
Рыжик   (2002-11-05 11:59) [2]


> Читал в хелпе про GetCharSetValues, но не смог использовать

А там даже пример есть, между прочим!

procedure TForm1.AddCharacterSet(const S: string);
begin
ListBox1.Items.Add(S);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
GetCharsetValues(AddCharacterSet);
end;


 
Marcus   (2002-11-05 12:46) [3]

На самом деле в windows.pas описаны константы от ANSI_CHARSET до RUSSIAN_CHARSET. Собственно они же есть и в массиве FontCharsets в Graphics.pas и GetCharsetValues именно их и перебирает. Но поскольку он спрятан в implementation, можно его просто выдрать оттуда в свой юнит и засунуть в ListBox в цикле.


 
Мефодий   (2002-11-05 14:57) [4]

С помощью кода от <Рыжик ©> благополучно загрузил CharSet в ListBox. Но как же сделать обратное ?
Label1.Font.Charset := ListBox1.Items[ListBox1.ItemIndex],
естественно, не срабатывает, так как тут разные типы: TFontCharset и String. Брать в качестве значения константы ItemIndex тоже нельзя так как в Graphics.pas они идут не подряд (0,1,2,77,128...).
Пришлось создать свой массив констант (используя данные из Graphics.pas)
const aConst: array[0..17] of integer = (0,1,2,77,128,129,130,134,136,161,162,177,178,186,204,222,238,255);
и изменить предыдущий код на
Label1.Font.Charset := aConst[ListBox1.ItemIndex];

В общем, нормально работает, но как то некрасиво все это. Может есть код попроще ?


 
Skier   (2002-11-05 15:02) [5]

>Мефодий
см. CharsetToIdent(...) и IdentToCharset(...)


 
Мефодий   (2002-11-05 16:48) [6]

Все сработало !
Спасибо всем.



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

Форум: "Основная";
Текущий архив: 2002.11.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.009 c
14-46113
Asteroid
2002-10-26 20:47
2002.11.14
А что там с переписью населения форума?


3-45680
ССМП
2002-10-25 10:03
2002.11.14
простой вопрос SQL-запроса


7-46172
Tony'c
2002-09-13 16:47
2002.11.14
Как считывать трафик с сетевой карты ?


6-46016
Artemkin
2002-09-15 14:20
2002.11.14
Как получить файл через локальную сеть ?


1-45945
maximus1986
2002-11-04 12:02
2002.11.14
открыть файл не получается!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский