Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.05;
Скачать: CL | DM;

Вниз

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 вся ветка

Текущий архив: 2002.09.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
7-14301
Андрей111
2002-06-24 13:05
2002.09.05
Сканер


1-14039
AFROLOV
2002-08-26 16:04
2002.09.05
Можно ли из Delphi использовать VB-скрипты ?


14-14226
angelcom
2002-08-08 19:27
2002.09.05
Help my! Где найти LMD for Delphi 6


7-14300
Timon
2002-06-25 13:27
2002.09.05
WM_KEYDOWN


1-14075
c0pyc@t
2002-08-27 08:36
2002.09.05
Как узнать номер винта??