Содержание материала

Как видите, я перевел только один из многих интерфейсов, однако этот является наиболее эффективным (по мнению Microsoft) и будет выполнять эту работу. Далее я добавил некоторые константы, чтобы упростить задачу поиска наиболее важных значений.

 

При использовании данного устройства для выполнения любых конерций кодовой страницы не следует забывать, что обе кодовые страницы (исходные и целевые) должны быть установлены и поддержаны на компьютере, выполняющем перевод. "На компьютере, который покажет результат, должна быть установлена и поддержана только целевая кодовая страница.

 

Для проверки устройства просто создайте форму с памяткой и кнопкой. Добавьте следующий код для кнопки событие onclick. (Не забудьте добавить единицу преобразования в предложение uses!)

 

SAMPLE

Code:

procedure TForm1.Button1Click(Sender: TObject);

var

Conv: IMLangConvertCharset;

Source: PWChar;

Dest: PChar;

SourceSize, DestSize: UINT;

begin

// connect to MS multi-language lib

Conv := CoMLangConvertCharset.Create;

// initialize UniCode Translation to Japanese

Conv.Initialize(CODEPAGE_UniCode, CODEPAGE_Japanese, MLCONVCHARF_ENTITIZE);

// load source (from memo)

Source := PWChar(WideString(Memo1.Text));

SourceSize := Succ(Length(Memo1.Text));

// prepare destination

DestSize := 0;

// lets calculate size needed

Conv.DoConversionFromUnicode(Source, @SourceSize, nil, @DestSize);

// reserve memory

GetMem(Dest, DestSize);

try

   // convert

   Conv.DoConversionFromUnicode(Source, @SourceSize, Dest, @DestSize);

   // show

   Memo1.Text := Dest;

finally

   // free memory

   FreeMem(Dest);

end;

end;

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить