Все системы с Интернет Explorer 4 и новее есть библиотека mlang.dll в\system32 каталог. Обычно вы можете сказать, Дельфы, чтобы просто импортировать эти библиотеки com. Этот, однако, не Делфи. Я начал преобразования "самых разыскиваемых интерфейс" для себя. Результаты я представляю вам здесь.
Сначала я дам вам код для блока преобразования, который позволяет Вам просто преобразовать любой текст из страницы кодекса перевод на другую. Далее мы вскоре будем обсуждать код и дать вам пример того, как использовать его.
uCodePageConverter
Code: |
{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Unit Name : uCodePageConverter * Autor : Daniel Wischnewski * Copyright : Copyright © by gate(n)etwork. All Right Reserved. * Urheber : Daniel Wischnewski * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
unit uCodePageConverter;
interface
uses Windows;
const IID_MLangConvertCharset: TGUID = '{D66D6F98-CDAA-11D0-B822-00C04FC9B31F}'; CLASS_MLangConvertCharset: TGUID = '{D66D6F99-CDAA-11D0-B822-00C04FC9B31F}';
type tagMLCONVCHARF = DWORD;
const MLCONVCHARF_AUTODETECT: tagMLCONVCHARF = 1; MLCONVCHARF_ENTITIZE: tagMLCONVCHARF = 2;
type tagCODEPAGE = UINT;
const CODEPAGE_Thai: tagCODEPAGE = 0874; CODEPAGE_Japanese: tagCODEPAGE = 0932; CODEPAGE_Chinese_PRC: tagCODEPAGE = 0936; CODEPAGE_Korean: tagCODEPAGE = 0949; CODEPAGE_Chinese_Taiwan: tagCODEPAGE = 0950; CODEPAGE_UniCode: tagCODEPAGE = 1200; CODEPAGE_Windows_31_EastEurope: tagCODEPAGE = 1250; CODEPAGE_Windows_31_Cyrillic: tagCODEPAGE = 1251; CODEPAGE_Windows_31_Latin1: tagCODEPAGE = 1252; CODEPAGE_Windows_31_Greek: tagCODEPAGE = 1253; CODEPAGE_Windows_31_Turkish: tagCODEPAGE = 1254; CODEPAGE_Hebrew: tagCODEPAGE = 1255; CODEPAGE_Arabic: tagCODEPAGE = 1256; CODEPAGE_Baltic: tagCODEPAGE = 1257;
type IMLangConvertCharset = interface ['{D66D6F98-CDAA-11D0-B822-00C04FC9B31F}'] function Initialize( uiSrcCodePage: tagCODEPAGE; uiDstCodePage: tagCODEPAGE; dwProperty: tagMLCONVCHARF ): HResult; stdcall; function GetSourceCodePage( out puiSrcCodePage: tagCODEPAGE ): HResult; stdcall; function GetDestinationCodePage( out puiDstCodePage: tagCODEPAGE ): HResult; stdcall; function GetProperty(out pdwProperty: tagMLCONVCHARF): HResult; stdcall; function DoConversion( pSrcStr: PChar; pcSrcSize: PUINT; pDstStr: PChar; pcDstSize: PUINT ): HResult; stdcall; function DoConversionToUnicode( pSrcStr: PChar; pcSrcSize: PUINT; pDstStr: PWChar; pcDstSize: PUINT ): HResult; stdcall; function DoConversionFromUnicode( pSrcStr: PWChar; pcSrcSize: PUINT; pDstStr: PChar; pcDstSize: PUINT ): HResult; stdcall; end;
CoMLangConvertCharset = class class function Create: IMLangConvertCharset; class function CreateRemote(const MachineName: string): IMLangConvertCharset; end;
implementation
uses ComObj;
{ CoMLangConvertCharset }
class function CoMLangConvertCharset.Create: IMLangConvertCharset; begin Result := CreateComObject(CLASS_MLangConvertCharset) as IMLangConvertCharset; end;
class function CoMLangConvertCharset.CreateRemote( const MachineName: string ): IMLangConvertCharset; begin Result := CreateRemoteComObject( MachineName, CLASS_MLangConvertCharset ) as IMLangConvertCharset; end;
end.
|
- Назад
- Вперёд >>
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!