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

Вниз

Перекодировка текста   Найти похожие ветки 

 
Holy ©   (2003-05-19 12:57) [0]

В MSDN предложен следующий способ перевода из Unicode в ANSI

#include <windows.h>
#include <lm.h>
#include <stdio.h>

BOOL GetFullName( char *UserName, char *Domain, char *dest )
{
WCHAR wszUserName[256]; // Unicode user name
WCHAR wszDomain[256];
LPBYTE ComputerName;

struct _SERVER_INFO_100 *si100; // Server structure
struct _USER_INFO_2 *ui; // User structure

// Convert ANSI user name and domain to Unicode

MultiByteToWideChar( CP_ACP, 0, UserName,
strlen(UserName)+1, wszUserName,
sizeof(wszUserName)/sizeof(wszUserName[0]) );

MultiByteTOWideChar( CP_ACP, 0, Domain,
strlen(Domain)+1, wszDomain, sizeof(wszDomain)/sizeof(wszDomain[0]) );

// Get the computer name of a DC for the domain.

NetGetDCName( NULL, wszDomain, &ComputerName );

// Look up the user on the DC.

if( NetUserGetInfo( (LPWSTR) ComputerName,
(LPWSTR) &wszUserName, 2, (LPBYTE *) &ui ) )
{
printf( "Error getting user information.\n" );
return( FALSE );
}

// Convert the Unicode full name to ANSI.

WideCharToMultiByte( CP_ACP, 0, ui->usri2_full_name, -1,
dest, 256, NULL, NULL );

return (TRUE);
}

У меня в D5 W2k Prof SP3 корректно заработала следующая конструкция

var ins1 : array [1..255] of Char;
outs1 : array [1..255] of WideChar;

WideCharToMultiByte(cp_UTF7,0,@outs1,Length(outs1)+1,@ins1,Length(ins1),nil,nil); // ANSI -> Unicode

MultiByteToWideChar(cp_UTF7,0,PChar(UString),Length(UString)+1,@outs1,256); // Unicode -> ANSI

Все с точность до наоборот.
Что я неправильно делал ? Или в MSDN какая-то неточность.


 
Holy ©   (2003-05-19 13:47) [1]

Удалено модератором
Примечание: Еще раз и утонешь


 
VMcL ©   (2003-05-19 13:53) [2]

AS - AnsiString
WS - WideString

AS := WS; // без проблем
WS := AS; // тоже без проблем


Вопрос: зачем извращаться?



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
1-94927
Skalp
2003-05-17 16:47
2003.05.29
Почему выдает ошибку при попытке загрузки из ресурса


1-94963
andrey_pst
2003-05-18 13:27
2003.05.29
PopUp-меню в стиле XP


1-94804
Shadowofman
2003-05-18 13:01
2003.05.29
Как осуществить поворот объекта на определенный угол?


14-95013
Dmitriy O.
2003-05-08 14:41
2003.05.29
ИМХО :) =)) и прочее


1-94799
Мыш
2003-05-14 19:05
2003.05.29
Abstract error