Автор: Mekan Gara

 

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

 

Все системы с Интернет Explorer 4 и новее есть библиотека mlang.dll в\system32 каталог. Обычно вы можете сказать, Дельфы, чтобы просто импортировать эти библиотеки com. Этот, однако, не Делфи. Я начал преобразования "самых разыскиваемых интерфейс" для себя. Результаты я представляю вам здесь.

Сначала я дам вам код для блока преобразования, который позволяет Вам просто преобразовать любой текст из страницы кодекса перевод на другую. Далее мы вскоре будем обсуждать код и дать вам пример того, как использовать его.

Функция IsWindowUnicode  определяет, является ли указанное окно собственным окном Юникода

Набор символов окна определяется с помощью функции RegisterClass.  Если класс окна зарегистрирован в АНСИ версии непредвиденное registerclass (RegisterClassA),

набор символов окна является ANSI. Если класс окна был зарегистрирован в Юникоде  версия непредвиденное registerclass (RegisterClassW), набор символов окно в Юникоде.

Система автоматического двустороннего перевода (Юникода в ANSI) для окна Сообщений. Например, если сообщение окна ANSI отправляется в окно, использующее набор символов Юникода,

перед вызовом процедуры окна система преобразует это сообщение в сообщение Юникода.  Система вызывает IsWindowUnicode, чтобы определить, следует ли переводить сообщение.

Delphi имеет функцию GetLocaleInfo, которая позволяет получать различную информацию о локальных настройках, таких как системный язык, символ валюты, количество десятичных знаков и т.д.

 Далее приведена функция, которая возвращает значение в зависимости от параметра "flag":

 

Code:

//На русский

procedure TForm1.Button1Click(Sender: TObject);

var

Layout: array[0.. KL_NAMELENGTH] of char;

begin

LoadKeyboardLayout( StrCopy(Layout,'00000419'),KLF_ACTIVATE);

end;

 

Этот алгоритм позволяет перекодировать текст.

Реализованы кодировки Windows-1251, KOI8-R, ISO-8859-5 и DOS.

Кодировка это таблица, в которой указано, например, что символ под номером 160 - это русская буква "а", а под номером 150 "Ц" и т. д.

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

Разные компьютеры в Интернете используют разные кодировки.  И поэтому, когда русский текст идет по Интернету, его многократно перекодируют.

 Этот алгоритм обеспечивает высокую скорость перекодирования больших объемов данных.

 

Для перекодировки из Win(1251) кодовой страницы в Dos(866) кодовую страницу и обратно используются функции:

 

CharToOEM

OEMToChar

CharToOEMBuff

OEMToCharBuff

OemToAnsi

AnsiToOem:

 

Пример чтения текста dos из файла в memo

 

Алгоритм распознавания кодировки нужен для автоматического декодирования текста. Этот алгоритм основан на том, что некоторые буквы русского алфавита встречается очень часто, а некоторые редко. Поскольку этот способ статистический, то лучше всего он работает с большими текстами.