Pie Commander

Материал из свободной русской энциклопедии «Традиция»
Перейти к навигации Перейти к поиску
PIE Commander
Pie Commander.png


Операционная система:
DOS



Разработчик:
Валентин Черняк



Текущая версия:
1.7
Дата выхода текущей версии:
1990



Лицензия:
Freeware, Shareware

PIE Commanderфайловый менеджер для операционной системы DOS, разработанный в 1990, клон Norton Commander. Автор — Валентин Ефимович Черняк (Valentin Chernyak) из Москвы, затем Нью-Йорка. Имел русский и английский пользовательский интерфейс.

Оказался разработан в результате спора автора с владельцем компании PIE Systems (отсюда название), заявившим про Norton Commander, что «советские программисты так не могут». Был написан в рекордно короткие сроки (около месяца).

Использовался как замена таких программ как Volkov Commander и Norton Commander 3.0. Более поздние версии выходили под названием Chernyak Commander как Shareware (1991, 1993).

Некоторые преимущества перед аналогичными программами своего времени:

  • возможность включать до четырёх панелей;
  • возможность настраивать цвета, размер и расположение панелей;
  • показ более подробной информации при копировании файлов и каталогов;
  • рекурсивный расчет размеров каталогов;
  • возможность поместить список выбранных файлов в файл.

Первая версия была написана целиком на ассемблере. Впоследствии переведен на Borland C 3.1.

Основные файлы программы:

CC.EXE
CC.EXT
CC.HLP
CC.INI
CC.MNU
CCMAIN.EXE

Известные ошибки[править | править код]

В связи с тем, что PIE Commander был написан в чрезвычайно короткие сроки, он содержал большое количество ошибок. Наиболее опасные из них:

  1. Не проверялся результат копирования. Так PIE Commander мог «записывать» файлы на защищённую от записи дискету. После копирования на неё он отображал файлы на ней так, как будто, копирование завершилось удачно. Однако, на самом деле, на дискету ничего записано не было.
  2. Модуль перемещения файлов (F6) представлял собой последовательный вызов модулей копирования (F5) и удаления (F8). В результате, при перемещении файлов, в случае если копирование по каким-то причинам не осуществлялось (защищённая от записи дискета, недостаток места на диске и пр.), то модуль удаления всё равно вызывался и удалял исходные файлы.
  3. Нажатие клавиши F8, в случае если курсор стоял на [..] (переход в родительский каталог), приводило к удалению всего родительского каталога, включая каталог, где находился пользователь. В случае, если родительским оказывался корневой каталог, то происходило удаление вообще всех файлов на диске.

См. также[править | править код]

Ссылки[править | править код]