![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Unicode ---> ANSI [D6, WinME]
valery_f © (2002-05-13 15:00:00)Добрый день!
Не подскажет ли кто как Unicode строку превратить в ANSI? WideCharToMultiByte работает только с ANSI и ??? страницами, стоящими по умолчанию в системе, на попытку подставить другую codepage говорит ERROR_INVALID_PARAMETER...
valery_f (2002-07-04 13:30:00) [1]У-у-ух! Не прошло и пол года... :) Всем спасибо, я уже разобрался. У меня все упиралось в выяснение отношения charset - codepage - язык - раскладка клавиатуры. Еще не все понял, но необходимый минимум уже работает. Еще раз спасибо.
Игорь Шевченко (2002-07-04 09:57:00) [2]В WideCharToMultiByte указывается кодовая страница первым параметром. Если текст набран по-гречески, то соответственно и кодовую страницу надо указывать аналогичную...Для определения доступных страниц очевидно служит функция EnumSystemCodePages
TheSight (2002-07-04 04:22:00) [3]По данному сабжу советую посмотреть:
http://www.delphi3000.com/articles/article_3203.asp
valery_f (2002-05-20 14:42:00) [4]Акуличев Дмитрий (18.05.02 15:06)
Данное преобразование, насколько я понимаю, использует текущий codepage системы (у меня, к примеру, кириллица - 1251). А если текст набран по гречески (cp 1253) ?
Акуличев Дмитрий (2002-05-18 15:06:00) [5]Не понял, какие проблемы?
functionConvert( constwStr : WideString): string;
begin
Result := wStr;
end;
Delphi все сделает за вас
valery_f (2002-05-14 11:56:00) [6]В том то и дело (на чем я поначалу и лопухнулся) - GetTextCharset дает текущий Charset (для русского - 204), а для WideCharToMultiByte нужон codepage !! (кириллица - 1251).
Теоретически (судя по хелпам) по charset"у можно получить codepage через GetTextCharsetInfo, но глядя на то, что она возвращает, я ничего не понимаю...
Утопаю в MSDN"е... F1! F1! F1!
Дмитрий Баранов (2002-05-13 17:26:00) [7]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-13 16:47:00) [8]Пардон, спутал codepage и charset... WideCharToMultiByte заработала.
Теперь другая проблема - как определить текущий codepage?
Дмитрий Баранов (2002-05-13 15:44:00) [9]А в какой кодировке исходная строка?