Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как прочитать русский текст MS-DOS

Delphi , ОС и Железо , DOS и Консоль

Как прочитать русский текст MS-DOS

- Почему не было Windows 96?
- Очень похоже на 69.

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

  • CharToOEM
  • OEMToChar
  • CharToOEMBuff
  • OEMToCharBuff
  • OemToAnsi
  • AnsiToOem:

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


procedure TForm1.FormCreate(Sender: TObject);
var
  N: PChar;
begin
  memo1.Lines.LoadFromFile('c:\file.txt');
  N := Memo1.Lines.GetText;
  OemToAnsi(N, N);
  Memo1.Lines.Text := StrPas(N);
end;

Here's the translation of the text into Russian:

Ностальгия по MS-DOS и кодировке русского текста!

Код, который вы предоставили, написан на Delphi (Pascal) и предназначен для чтения файла с русским текстом, закодированным в Windows-1251 (Win-1251), в контроле memo, конвертации его в кодовую страницу OEM (866) и последующего отображения результата.

Давайте разбить код:

  1. Процедура FormCreate вызывается при создании формы.
  2. Она загружает содержимое файла c:\file.txt в контроле memo1 с помощью метода Lines.LoadFromFile.
  3. Она получает текст из строк memo как PChar (указатель на нулевую-terminated строку) с помощью метода GetText.
  4. Она конвертирует PChar в кодовую страницу OEM 866 с помощью функции OemToAnsi. Это необходимо потому, что MS-DOS использует кодовые страницы OEM, а Windows-1251 используется в современных системах Windows.
  5. Наконец, она устанавливает текст контрола memo на конвертированную строку с помощью функции StrPas (которая конвертирует PChar в Delphi-строку).

Функции OemToAnsi и AnsiToOem являются частью runtime-библиотеки Delphi и используются для конвертации между кодовыми страницами OEM и ANSI.

В отношении вашей вопроса о том, почему не было Windows 96, вероятно, потому что Microsoft пропустила это число, чтобы избежать путаницы с годом 1995. Следующая версия после Windows 95 была Windows 98.

Относительно вашего шутка о "69", я просто скажу, что это... интересное.

Статья описывает способ чтения русского текста из файла в приложении на языке Delphi для MS-DOS, используя функции CharToOEM и OemToAnsi для конвертации кодировок.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: DOS и Консоль ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-17 08:08:48/0.0059020519256592/0