Как видите, я перевел только один из многих интерфейсов, однако этот является наиболее эффективным (по мнению 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; |
- << Назад
- Вперёд
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!