Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

latlex

My old project that I wrote on Pascal 6 in school

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

Lation Lexicon (LatLex)

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

Оригинал написан Николаем Бочкарёвым в 1993-1994 году на Turbo Pascal 6.0 с использованием коммерческой DOS-библиотеки Turbo Professional (TPro) - окна, меню, help, поддержка мыши. Исходники TPro недоступны, поэтому для запуска на современных системах эти вызовы заменены собственной совместимой библиотекой (tpcompat/), написанной поверх модуля Crt из Free Pascal. Игровая логика (src/DataLex.pas, src/MenuLex.pas, src/LanLex.pas) при этом не переписывалась - только минимально адаптирована под современный компилятор.

Оригинальные исходники 1994 года (в кодировке CP866) сохранены в old-pascal-sources/ как референс.

Сборка

Нужен Free Pascal (FPC) версии 3.2 или новее.

macOS

bash
brew install fpc
./build.sh

Linux

bash
sudo apt install fpc      # или fp-compiler в вашем дистрибутиве
./build.sh

Windows

Установите FPC (https://www.freepascal.org/download.html)) затем запустите build.bat. Рекомендуется Windows Terminal - классический cmd.exe/conhost может не поддерживать ANSI-цвета без дополнительной настройки (сборка сама пытается включить нужный режим консоли).

Собранный LatLex (LatLex.exe на Windows) и данные (LATLEX.HLP, BOBR.VOC) окажутся в run/.

bash
cd run
./LatLex

Структура проекта

  • src/ - исходники игры (LatLex.pas, DataLex.pas, MenuLex.pas, LanLex.pas), перекодированы в UTF-8, минимально адаптированы под FPC
  • src/data/ - LATLEX.HLP (пересобран из текстового LATLEX.TXT, т.к. оригинальный бинарный help-компилятор недоступен) и пример словаря BOBR.VOC
  • tpcompat/ - замена TurboPower Turbo Professional поверх FPC Crt
  • old-pascal-sources/ - нетронутый оригинал 1994 года
  • build.sh / build.bat - сборка одной командой

Свой словарь

Формат .VOC-файла - обычный текст, построчно: английское слово, дополненное пробелами до 24 символов, затем русский перевод (до 50 символов), например:

pascal
access                  ?????????????????? ????????????
account                 ????????????

Старые файлы в кодировке CP866 (как в оригинале) распознаются и конвертируются автоматически; можно использовать и обычный UTF-8. Перед первым использованием словарь нужно скомпилировать в .TBL через пункт меню «Environment → Compile» (или «Окружение → Компиляция» в русском интерфейсе).

Известные ограничения

  • Мышь не поддерживается - в терминале это не имеет смысла, вся игра полностью управляется с клавиатуры (как и в оригинале при отсутствии мыши: F1 помощь, F2 сортировка, Esc выход, Tab смена стороны, Enter/стрелки - выбор и перемещение).
  • Поддержка Windows не тестировалась на реальной машине (в среде сборки доступен только компилятор под macOS) - код кросс-платформенный (используется {$IFDEF WINDOWS}), но собрать и проверить его на Windows должен будет сам пользователь.