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

Вниз

Unicode ---> ANSI   Найти похожие ветки 

 
valery_f   (2002-05-13 15:00) [0]

Добрый день!

Не подскажет ли кто как Unicode строку превратить в ANSI? WideCharToMultiByte работает только с ANSI и ??? страницами, стоящими по умолчанию в системе, на попытку подставить другую codepage говорит ERROR_INVALID_PARAMETER...


 
Дмитрий Баранов   (2002-05-13 15:44) [1]

А в какой кодировке исходная строка?


 
valery_f   (2002-05-13 16:47) [2]

Пардон, спутал codepage и charset... WideCharToMultiByte заработала.

Теперь другая проблема - как определить текущий codepage?


 
Дмитрий Баранов   (2002-05-13 17:26) [3]

int GetTextCharset(
HDC hdc, // handle to DC
);

If the function succeeds, the return value identifies the character set of the font that is currently selected into the specified device context. The following character-set identifiers are defined (ну и список констант дальше...)


 
valery_f   (2002-05-14 11:56) [4]

В том то и дело (на чем я поначалу и лопухнулся) - GetTextCharset дает текущий Charset (для русского - 204), а для WideCharToMultiByte нужон codepage !! (кириллица - 1251).
Теоретически (судя по хелпам) по charset"у можно получить codepage через GetTextCharsetInfo, но глядя на то, что она возвращает, я ничего не понимаю...
Утопаю в MSDN"е... F1! F1! F1!


 
Акуличев Дмитрий   (2002-05-18 15:06) [5]

Не понял, какие проблемы?


function Convert( const wStr : WideString): string;
begin
Result := wStr;
end;


Delphi все сделает за вас


 
valery_f   (2002-05-20 14:42) [6]

Акуличев Дмитрий (18.05.02 15:06)

Данное преобразование, насколько я понимаю, использует текущий codepage системы (у меня, к примеру, кириллица - 1251). А если текст набран по гречески (cp 1253) ?


 
TheSight   (2002-07-04 04:22) [7]

По данному сабжу советую посмотреть:
http://www.delphi3000.com/articles/article_3203.asp


 
Игорь Шевченко   (2002-07-04 09:57) [8]

В WideCharToMultiByte указывается кодовая страница первым параметром. Если текст набран по-гречески, то соответственно и кодовую страницу надо указывать аналогичную...Для определения доступных страниц очевидно служит функция EnumSystemCodePages


 
valery_f   (2002-07-04 13:30) [9]

У-у-ух! Не прошло и пол года... :) Всем спасибо, я уже разобрался. У меня все упиралось в выяснение отношения charset - codepage - язык - раскладка клавиатуры. Еще не все понял, но необходимый минимум уже работает. Еще раз спасибо.



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

Форум: "WinAPI";
Текущий архив: 2002.09.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
1-14098
ErmSergey
2002-08-23 15:33
2002.09.05
Помогите с ошибкой


1-14031
zam
2002-08-26 13:55
2002.09.05
Как узнать статус нажатых кнопок мыши и позицию курсора?


14-14248
ZORRO
2002-08-09 06:03
2002.09.05
Новый сайт


14-14235
alex_white
2002-08-10 13:13
2002.09.05
Ищу и не могу найти


8-14183
BJValentine
2002-04-25 20:03
2002.09.05
Вывод графики на экран





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский