Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Использование mlang.dll


Автор: Angel_19 7.4.2005, 08:13
Нашел на форуме пример использования функции ConvertINetString, может у кого есть пример как использовать другие функции. Интересуют функции ConvertINetMultiByteToUnicode и СonvertINetUnicodeToMultiByte.

Автор: _hunter 7.4.2005, 15:18
не совсем понятно что нужно... в мсдн все понятно написанно да и гугл поможет...

Автор: Angel_19 7.4.2005, 15:40
Гугл не всегда помогает... А в МДСН не каждый разберется... Потому и спрашиваю.

Автор: Girder 7.4.2005, 19:52
Вот тебе пример для ConvertINetMultiByteToUnicode:
Код
procedure TForm1.Button1Click(Sender: TObject);
type TConvertFunction = function(Mode:PDWORD;
                                 SrcEncoding:DWORD; SrcStr:PChar; var MultiCharCount:integer;
                                 DstStr:PWideChar; var WideCharCount:integer):HRESULT; stdcall;
var MLangHandle:DWord;
    MultiByteToUnicode:TConvertFunction;
    DstStr:WideString;
    s:string;
    i,j:integer;   
begin
 MLangHandle:=LoadLibrary('mlang.dll');
 if MLangHandle<>0 then
  begin
   MultiByteToUnicode:=GetProcAddress(MLangHandle,'ConvertINetMultiByteToUnicode');
   if Assigned(MultiByteToUnicode) then
    begin
     s:='Какой-то текст. Monitor';
     i:=Length(s);
     j:=i+2;
     SetLength(DstStr,j);
     MultiByteToUnicode(nil,1251,PChar(s),i,PWideChar(DstStr),j);
     DstStr:=Copy(DstStr,1,j); //Результат
     Caption:=DstStr;
     SetLength(DstStr,0);
    end;
   FreeLibrary(MLangHandle);
  end;
end;

PS: Для второй функции сам можеш набить по аналогии... smile а мне лень smile

Автор: Angel_19 8.4.2005, 09:59

Girder - спасибо.

А вот можно ли с помощью mlang.dll определить кодировку текста?

Автор: Girder 8.4.2005, 10:06
нет smile

PS: А вообще... почитай: http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html

Автор: Angel_19 8.4.2005, 10:11
Поделитесь опытом, как можно определить кодировку...

Автор: _hunter 8.4.2005, 15:39
статистически smile
т.е. поиском в словаре слова

Автор: Angel_19 8.4.2005, 15:43
А поподробнее о "Статистическом методе" можно ...?

Автор: _hunter 8.4.2005, 15:56
http://www.google.com.ua/search?as_q=%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5+%D0%BA%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8+%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0&num=10&hl=uk&btnG=%D0%9F%D0%BE%D1%88%D1%83%D0%BA+%D1%83+Google&as_epq=&as_oq=&as_eq=&lr=&as_ft=i&as_filetype=&as_qdr=all&as_occt=any&as_dt=i&as_sitesearch=
Добавлено @ 16:03
и в догонку:
неблагодарное это занятие... (потому никто на авто-определение не заморачивается)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)