Важная информация

User Tag List

Страница 2 из 55 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 544

Тема: DSDOS для ПРК "Орион-128"

  1. #11
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,214
    Спасибо Благодарностей отдано 
    471
    Спасибо Благодарностей получено 
    897
    Поблагодарили
    590 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Оболочка ОС DSDOS (продолжение)


    Удаление файлов

    Для удаления файла необходимо выбрать его на какой-либо панели и нажать клавишу «E» («8»). Далее откроется окно диалога подтверждения удаления [Y/N]. Если на текущей панели имеются выделенные файлы, то будет вызвано окно диалога подтверждения удаления именно этих файлов, где будет указано их количество:



    Команда позволяет удалять защищенные от удаления файлы с дополнительным подтверждением (для текущего файла, а также для всех последующих в группе):




    Постановка/снятие защиты файлов

    Для манипулирования атрибутом защиты файла в DC существует команда «P», которая работает по принципу триггера - один раз ставит, другой раз снимает защиту файла. Команда работает только с одним текущим файлом, т.е. игнорируется выделение файлов в группу. При выполнении данной команды производится обновление содержимого текущей панели, а, следовательно, снимается выделение файлов, если оно имело место быть. При попытке изменения атрибута защиты файла на диске, защищенном от записи, будет выведено соответствующее предупреждение и пользователю будет предложено либо повторить команду, либо отказаться:




    Переименование файла

    Для переименования текущего выбранного файла служит команда «R» («6»). При выборе этой опции пользователь попадает в окно диалога, где показывается имя исходного файла и пустая строка, куда необходимо ввести новое имя.



    Для удобства, DC автоматически подставляет в предысторию второй строки исходное имя файла, и при необходимости его можно "вспомнить", нажав клавишу «», а затем отредактировать. После ввода/редактирования нового имени файла необходимо нажать клавишу «ВК» (Enter). Переименование файла возможно только на текущем диске, данная опция не производит переноса файла на другой диск! При наличии защиты от записи на текущем диске - развитие событий аналогично команде «P».


    Просмотр содержимого файла

    При нажатии клавиши «T» формируется командная строка с соответствующей командой ОС DSDOS, а в качестве параметра подставляется имя текущего выбранного файла.



    Далее пользователь может либо нажать «ВК» (Enter), либо ввести ключ «/O», либо отменить команду нажатием «АР2» (Esc). Подробнее - см. описание команды «T» ОС DSDOS.

    Более "продвинутым" вариантом для просмотра содержимого файлов является вызов внешней утилиты DCVIEW$, который осуществляется из DC нажатием клавиши «F3» («3») на выбранном файле:



    DCVIEW позволяет корректно отображать текстовую информацию в различных кодировках (DSDOS / ORDOS / TRDOS / MSDOS / WINDOWS, выбирается нажатием соответствующей клавиши, по-умолчанию выбрана кодировка DSDOS), а также в виде шестнадцатиричного дампа (клавиша «H»):



    Если текст или дамп целиком не помещается на экране, то возможна навигация с помощью клавиш, указанных внизу в подсказке.

    В режиме просмотра шестнадцатиричного дампа информация выводится блоками по 256 байт, также отображаются контрольные суммы текущего блока и всего файла. Параметр «Offset» показывает адрес смещения текущего блока от начала файла, а параметр «Real address» - физический адрес блока с учётом адреса "посадки" файла.

    Выход из просмотрщика - «АР2» (Esc) или «F4».
    Последний раз редактировалось Denn; 17.12.2017 в 13:18. Причина: Изменение путей ссылок
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  2. #12
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,214
    Спасибо Благодарностей отдано 
    471
    Спасибо Благодарностей получено 
    897
    Поблагодарили
    590 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Post Форматирование дискет

    Форматирование гибких магнитных дисков

    Для форматирования дискет в ОС DSDOS используется внешняя системная утилита - FORMAT$.
    Вызов утилиты без параметров или с неверно заданными параметрами выводит справку о её использовании:



    В качестве параметров следует ввести имя форматируемого диска («C:» или «D:»), а также через пробел необязательный ключ-модификатор:

    «/F» - только форматирование (без проверки);
    «/V» - только проверка (без форматирования);
    «/Q» - быстрое форматирование (только очистка каталога файлов).

    Без ключей утилита производит полное форматирование указанного диска с проверкой.
    Разметка диска - в соответствии со стандартом принятым в ОС SPDOS: две стороны, 80 дорожек, по 5 секторов на дорожку, каждый объёмом 1024 байта.
    В процессе форматирования на экран выводится информация о номере текущей форматируемой дорожки, а также о возможных ошибках (с указанием сбойных секторов). После форматирования выводится информация об общем кол-ве успешно отформатированных секторов и кол-ве секторов с ошибками.
    В режиме "только проверка" возможна проверка дискет с другой разметкой, т.к. для успешного прохождения проверки достаточно ответа от контроллера FDD о успешном прочтении сектора.
    Последний раз редактировалось Denn; 17.12.2017 в 13:19. Причина: Изменение ссылки
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  3. #13
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,214
    Спасибо Благодарностей отдано 
    471
    Спасибо Благодарностей получено 
    897
    Поблагодарили
    590 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Arrow Информация по программированию в среде ОС DSDOS

    Информация по программированию в среде ОС DSDOS

    Операционная система DSDOS состоит из пяти основных модулей: BIOS, KERN, CCP, CONIO и BASE.FT, располагаемых в дополнительной странице ОЗУ №1, и одного необязательного модуля обеспечения работоспособности программ, написанных под ОС ORDOS v2.x, располагаемого в основной странице ОЗУ (занимает небольшую область пользователя BE00h…BFFFh). Таким образом, ОС DSDOS предоставляет для программ пользователя практически всё ОЗУ основной страницы, а также участки ОЗУ дополнительной страницы №1 (7000h…77FFh, 8000h…AFFFh, а при отказе от общего буфера обмена - и B000h…BFFFh), что позволяет программам эффективно использовать ресурсы ПРК "Орион-128". Распределение памяти дополнительной страницы ОЗУ №1 при работе ОС DSDOS приведено тут.

    Назначение модулей ОС DSDOS

    BIOS – базовой модуль файловой системы;
    KERN – содержит таблицу переходов и процедуры BIOS, работающие в непереключаемой области ОЗУ;
    CCP – модуль процессора команд ОС DSDOS и поддержки командной строки;
    CONIO – модуль процедур консольного ввода-вывода;
    BASE.FT – модуль набора образов символов расширенного знакогенератора ОС DSDOS;
    ORDOS – модуль поддержки программ, предназначенных для работы в ОС ORDOS v2.x.

    Модуль ORDOS не присутствует в виде файла в каталоге диска "A:", он находится в составе загрузчика ОС DSDOS, расположенного в первых 2 Кб ROM-диска.
    Для программиста представляют интерес модули BIOS, CCP и CONIO. Далее приводится подробное их описание.


    Модуль BIOS

    Основой ОС DSDOS является модуль BIOS, который содержит набор основных процедур поддержки файловой структуры, НГМД, ROM- и RAM-дисков, а также организацию общего буфера обмена между программами (ClipBoard) и некоторые другие системные функции. Для работы программ пользователя с файлами в среде ОС DSDOS необходимо использовать процедуры BIOS. Полный список процедур, доступных для пользователя приведён тут.
    Обращение к процедурам BIOS из программ пользователя, работающих в основной странице ОЗУ, производится через универсальную точку входа, расположенную в непереключаемой области системного ОЗУ (модуль KERN) по адресу 0F000h. Программы пользователя, работающие в дополнительной странице ОЗУ №1 (страница размещения ОС DSDOS), должны обращаться к процедурам BIOS по адресу 4000h. Вызов необходимой процедуры осуществляется занесением в аккумулятор кода процедуры (см. таблицы 1-3), а в остальные регистры МП необходимых данных, после чего производится CALL–вызов процедуры BIOS. Результаты работы процедур возвращаются в соответствующих регистрах МП. При вызове процедуры BIOS необходимо помнить, что содержимое регистров МП, не использующихся в данной процедуре, не изменяется, что позволяет обойтись без лишних команд PUSH, POP и таким образом делать более "экономичный" программный код.


    Модуль CCP

    Модуль процессора команд CCP осуществляет поддержку командной строки и диалога с пользователем на уровне однобуквенных команд, описанных тут. Программам пользователя предоставляется возможность обращения к средствам CCP. Для этого необходимо занести в буфер командной строки (адрес начала буфера 0F330h, максимальная длина - 80 байт) символьную строку требуемой команды (признаком конца строки должен быть байт с кодом < 20h) и произвести вызов процедуры по адресу 0F003h. Результат работы процессора команд считается успешным, если будет возвращён сброшенный признак переноса (флаг C микропроцессора), при этом значение аккумулятора будет равно 00h, в противном случае признак переноса будет установлен, а аккумулятор будет содержать код ошибки. Программа пользователя может осуществить вывод сообщения об ошибке, обратившись к процедуре обработки ошибок ОС DSDOS по адресу 0F006h с кодом ошибки в аккумуляторе.


    Модуль CONIO

    Операционная система DSDOS имеет собственные процедуры поддержки клавиатуры и вывода символов на экран, которые обладают более мощными возможностями, чем аналогичные стандартные процедуры ПЗУ "Монитор-2".
    Процедура ввода символа с клавиатуры (аналогичная процедура ПЗУ "Монитор-2" - 0F803h) позволяет осуществлять переключение регистра символов и язык (РУС/ЛАТ), а также позволяет в любой момент, когда на экране присутствует мигающий курсор, активизировать "Сервисное меню пользователя" и осуществлять немедленную перезагрузку компьютера. Также данная процедура, при её вызове осуществляет коррекцию текущего состояния индикатора "РУС/ЛАТ", которое могло быть изменено например вышеупомянутой подпрограммой ПЗУ "Монитор-2". Очень полезной для многих программ пользователя может оказаться процедура ввода строки символов в буфер, которая предоставляет мощные средства редактирования строки.
    Процедура вывода символа на экран (аналогичная процедура ПЗУ "Монитор-2" - 0F809h) позволяет осуществлять ускоренный вывод символов расширенной кодировки ASCII:



    Причём вывод символов может быть цветной, или монохромный, и осуществляться как в полноэкранном, так и в оконном режиме. Процедура также имеет расширенную систему управляющих кодов, которые позволяют осуществлять более гибкий вывод информации на экран простыми программными средствами, например, с помощью процедуры вывода сообщений. Расширенный набор символов предоставляет пользователю большие возможности по оформлению своих программ.
    Модуль CONIO имеет большой набор процедур по конфигурированию ввода-вывода информации.
    Полный список процедур, доступных для пользователя приведён тут.
    Обращение к процедурам CONIO из программ пользователя, работающих в основной странице ОЗУ, производится через универсальную точку входа, расположенную в непереключаемой области системного ОЗУ (модуль KERN) по адресу 0F000h. Программы пользователя, работающие в дополнительной странице ОЗУ №1 (страница размещения ОС DSDOS), должны обращаться к процедурам CONIO по адресу 6000h. Вызов необходимой процедуры осуществляется занесением в аккумулятор кода процедуры, а в остальные регистры МП необходимых данных, после чего производится CALL–вызов процедуры CONIO. Результаты работы процедур возвращаются в соответствующих регистрах МП.

    ↓↓↓
    Последний раз редактировалось Denn; 17.12.2017 в 13:20. Причина: Изменение путей ссылок
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  4. #14
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,214
    Спасибо Благодарностей отдано 
    471
    Спасибо Благодарностей получено 
    897
    Поблагодарили
    590 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Arrow Информация по программированию в среде ОС DSDOS

    Рассмотрим некоторые примеры программирования под DSDOS

    Обработка командной строки

    В некоторых случаях программе необходимо получить параметры, которые были введены в командную строку при её запуске. ОС DSDOS передаёт в регистровой паре [DE] адрес начала данных, которые следуют сразу после имени запускаемого файла в командной строке. В качестве примера приведу код, который распечатывает фрагмент командной строки с параметрами:



    Признаком конца данных в командной строке является код 0Dh, для универсальности сделана проверка на любой код меньше пробела (<32).

    Для проверки, при запуске нашего скомпилированного кода вводим некий тестовый набор параметров:



    В результате получаем распечатку хвоста командной строки с параметрами:



    Фактически программе передаётся адрес данных, следующих сразу за именем файла, включая пробел(ы), отделяющий первый параметр от имени запускаемого файла.
    Для универсальности, обработчик командной строки при поиске параметров должен уметь пропускать произвольное кол-во пробелов, разделяющих значения.


    Чтение файла

    Рассмотрим простой пример чтения текстового файла с текущего устройства в буфер с последующим выводом его содержимого на экран:


    ~


    Т.к. выводимый файл читается с того же устройства (B:), с которого запускается наша программа, то мы не выбираем устройство с помощью процедуры 083h. Сразу указываем ОС адрес буфера имени файла с помощью процедуры 085h и вызываем процедуру чтения файла 08Bh со следующими параметрами: чтение в основную страницу ОЗУ ([B]=0) принудительно по адресу в [HL] ([C]=1).
    После вызова процедуры чтения файла проверяем код возврата, и если этот код не равен нулю, то прерываем исполнение программы с выводом соответствующего сообщения об ошибке (процедура 0F006h). Нулевой код возврата означает успешное чтение файла и мы выводим посимвольно его содержимое на экран используя информацию о адресе начала считанного файла в [HL] и его длине в [DE].

    Результатом работы откомпилированного кода будет вывод на экран текста программы предыдущего примера:




    Запись файла

    В качестве примера записи рассмотрим сохранение программы ПЗУ "Монитор-2" в файл "MONITOR2" на диск B:



    В случае успеха, выполнение этого откомпилированного кода не выводит сообщение об ошибке:



    При этом на диске B: создаётся файл с копией программы ПЗУ "Монитор-2":



    Повторный запуск программы приведёт к выводу сообщения об ошибке, т.к. будет попытка создания на диске B: файла с таким же именем:





    +++ продолжение следует +++

    Последний раз редактировалось Denn; 17.12.2017 в 13:21.
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  5. #15
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,214
    Спасибо Благодарностей отдано 
    471
    Спасибо Благодарностей получено 
    897
    Поблагодарили
    590 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Post Текстовый редактор Gemini-EDIT v5.0

    Текстовый редактор «Gemini-EDIT» v5.0 (версия под ОС DSDOS v3.x)

    Для создания и редактирования текстовых файлов в среде ОС DSDOS есть достаточно мощный текстовый редактор «Gemini-EDIT». На ROM-диске ОС DSDOS «Gemini-EDIT» представлен в виде двух файлов: ED$ (редактор) и EDSETUP$ (конфигуратор интерфейса).
    Для оперативности, в оболочке ОС DSDOS есть возможность автоматического вызова редактора нажатием клавиши «F4» на текстовом файле, в результате чего файл будет открыт на редактирование в «Gemini-EDIT».

    Данный программный продукт является развитием текстового редактора «ASSISTANT v4.7», написанного для ОС ORDOS v2.4 ПРК «ОРИОН-128». Настоящая версия написана под ОС DSDOS (v3.3 и выше) и имеет целый ряд новых функций и улучшений:

    + Улучшенный интерфейс пользователя
    + Многооконный режим просмотра/редактирования (возможность работы с несколькими файлами одновременно)
    + Варианты расположения окон (до трёх на одном экране)
    + Гибкая система конфигурирования интерфейса
    + Поддержка длинных строк (до 255 символов)
    + Поддержка расширенного знакогенератора ОС DSDOS v3.x
    + Удобный доступ к символам псевдографики знакогенератора DSDOS v3.x
    + Ускоренная обработка процессов разделения/склеивания/скроллинга строк
    + Ускоренная обработка фрагментов (вставка/удаление/копирование)
    + Ускоренное обновление содержимого экрана (листание страниц)
    + Поддержка общего буфера обмена между программами (ClipBoard)
    + Расширенный режим поиска/замены
    + Расширенная система откатов по закладкам
    + Улучшенный сервис по редактированию строки
    + Улучшенный интерфейс загрузки/сохранения рабочих файлов
    + Ускорена и улучшена процедура тестирования текста при загрузке
    + Возможность быстрого запуска программ прямо из редактора с возможностью указания параметров в командной строке
    + Поддержка указания параметров из командной строки при загрузке редактора
    + Полное сохранение положения и настроек при выходе из редактора
    + Возможность использования всего доступного объёма памяти для текста
    + Возможность работы с любыми доступными в системе устройствами (дисками)
    + Небольшой занимаемый редактором объём памяти (около 8 Кб)


    Описание основных функций редактора

    Формат рабочих (текстовых) файлов

    Редактор «Gemini-EDIT» поддерживает следующий формат рабочих (текстовых) файлов. Текстовый файл представляет собой набор строк длиной от 0 до 63 (значение по-умолчанию, максимально - до 255) символов с ASCII-кодами от 20h до FEh включительно (расширенная кодировка ОС DSDOS), разделённых символом перевода строки (ASCII-код 0Dh). Признаком конца текстового файла является символ с кодом FFh.
    Символы с кодами от 00h до 0Ch и от 0Eh до 1Fh включительно не используются и считаются ошибочными для данного формата.


    Загрузка редактора Gemini-EDIT

    Запуск редактора может быть осуществлён как с параметрами, так и без них. Далее приведены варианты загрузок редактора:

    Загрузка без параметров

    A>L ED$

    При первом запуске редактора без параметров производится загрузка редактора в ОЗУ и открывается новый файл, которому по умолчанию присваивается автоматически формируемое имя FL00.TXT или если на данном устройстве уже существует файл с таким именем, то производится поиск свободного имени путём перебора индекса от 00 до 99. Таким образом, происходит начальная «холодная» загрузка редактора.



    Если до этого редактор уже загружался и на устройстве «В:» имеется файл конфигурации редактора ED.INI, то производится загрузка редактора с полным восстановлением всех настроек и положения в тексте, которые были на момент последнего выхода из редактора.

    Загрузка с ключом /N

    A>L ED$ /N

    При таком варианте запуска производится загрузка редактора с потерей всех настроек и списка рабочих файлов, т.е. происходит «холодная» загрузка редактора.

    Загрузка с ключом /B

    A>L ED$ /B

    При таком варианте запуска производится загрузка редактора с попыткой восстановления текста из ОЗУ компьютера, т.е. редактор проверяет память, отведённую для буфера текста (3000h..RamTop) на наличие полезной информации и, при успешном завершении тестирования, оформляет содержимое буфера в файл, после чего переходит в режим просмотра/редактирования. Полученному таким образом файлу присваивается имя вида FLxx.TXT по механизму, рассмотренному выше.
    Данный вариант загрузки полезен для восстановления файла в случае некорректного выхода из редактора или при сбое в системе.

    Загрузка нового рабочего файла

    A>L ED$ {PathName}

    Параметр {PathName} означает полное имя рабочего файла, т.е. либо просто имя файла, либо имя устройства и имя файла, разделённые двоеточием «:».
    При таком варианте производится загрузка редактора и поиск файла с указанным именем на указанном (или текущем) устройстве. Если файл найден, то производится его загрузка в редактор, и он становится текущим, т.е. редактор переходит в режим просмотра/редактирования данного файла. Если файл не найден, то производится открытие нового файла с указанным {PathName}.

    Возможны также следующие комбинации:

    A>L ED$ /NB (загрузка с ключами /N и /B)
    A>L ED$ /BN (аналогично предыдущему варианту)
    A>L ED$ {PathName} /N («холодная» загрузка нового рабочего файла)


    Возможные ошибки при загрузке редактора

    При загрузке редактора происходит выход в систему с ошибкой «09 OUT OF MEMORY». Это означает, что верхняя граница ОЗУ пользователя находится ниже адреса начала буфера текста редактора (3000h). Выход из данной ситуации - изменить значение RamTop командой «M {addr}» ОС DSDOS.

    При загрузке редактора с параметром {PathName} происходит ошибка чтения указанного файла, в результате чего редактор предлагает либо повторить попытку чтения («N»), либо игнорировать загрузку данного файла и создать новый с таким же именем («Y»), либо прервать загрузку редактора и выйти в систему (Esc):



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

    В процессе загрузки редактора с подгрузкой рабочего файла могут быть найдены ошибки в формате файла (несоответствие длины и положения признака конца текста, отсутствие признака конца текста, а также наличие запрещённых символов, описанных выше). Такая ситуация возможна в случае сбоя в системе и, как результат, нарушении данных в файле или при попытке загрузки нетекстового файла. В данном случае возможны либо загрузка файла с исправлением ошибок формата («N»), либо открытие нового (пустого) файла с таким же именем («Y»), либо выход из редактора (Esc):




    Загрузка файлов из редактора

    Редактор «Gemini-EDIT» позволяет одновременно загружать до восьми рабочих файлов. На самом деле это не означает, что все рабочие файлы в данный момент находятся в ОЗУ компьютера. В ОЗУ находится только один текущий файл, а остальные находятся в списке рабочих файлов и подгружаются в ОЗУ по мере их активизации. Выбор рабочего файла текущим осуществляется при помощи меню выбора рабочих файлов, которое вызывается нажатием клавиши «F1» из основного режима работы редактора (просмотр/редактирование).
    Загрузку рабочего (текстового) файла можно также производить не только из командной строки, но и непосредственно из редактора, т.е. когда редактор находится в режиме просмотра/редактирования, при помощи нажатия последовательности клавиш АР2 & «L» (Esc & «L»). При выборе данной опции пользователю предлагается выбрать устройство загрузки, после чего на экране появляется список файлов текущего устройства доступных для загрузки по текущему шаблону. Выбор шаблона «*.TXT» (по-умолчанию) или «*.*» осуществляется из основного режима редактора при помощи комбинации клавиш УСT» (Ctrl+«T»). После чего пользователю предлагается ввести имя файла (примечание: в варианте с шаблоном «*.TXT» расширение можно не вводить). Очередной загружаемый файл помещается в список рабочих файлов и становится текущим (активным). При загрузке файла в редактор производится его тестирование на признак конца файла (последним должен быть байт FFh), а также на наличие ошибочных символов. В случае обнаружения ошибок пользователю предлагается либо игнорировать загрузку данного файла и создать новый пустой файл с таким же именем и на том же устройстве, либо произвести устранение ошибок и загрузить файл в редактор, либо прервать загрузку и выйти из редактора в систему.


    Запись (сохранение) файлов из редактора

    Для сохранения изменений текущего файла необходимо нажать комбинацию клавиш УСS» (Ctrl+«S») в режиме просмотра/редактирования, а для сохранения текущего файла под другим именем необходимо нажать последовательность клавиш АР2 & «S» (Esc & «S»). Во втором случае откроется меню диалога записи файла и пользователю будет предложено выбрать устройство, куда необходимо записать файл. После чего необходимо ввести новое имя файла (примечание: в варианте с шаблоном «*.TXT» расширение можно не вводить). В результате записи/сохранения файла могут появляться сообщения об ошибках. В случае появления такого сообщения пользователю предлагается либо повторить попытку записи/сохранения, либо ввести новое имя файла, либо вернуться в режим просмотра/редактирования.

    ↓↓↓
    Последний раз редактировалось Denn; 17.12.2017 в 13:24. Причина: Изменение путей ссылок
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  6. #16
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,214
    Спасибо Благодарностей отдано 
    471
    Спасибо Благодарностей получено 
    897
    Поблагодарили
    590 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Post Текстовый редактор Gemini-EDIT v5.0

    Основные понятия в редакторе «Gemini-EDIT»

    Основными объектами, с которыми работает редактор «Gemini-EDIT» являются:

    - ТЕКСТ (файл, документ)
    - СТРОКА (часть текста от левого края экрана до маркера «»)
    - ФРАГМЕНТ (совокупность некоторого количества строк)
    - СЛОВО (часть строки, ограниченная символами разделения слов: «_», «.», «,» и т.п.)
    - СИМВОЛ (один элемент слова, строки, вводимый непосредственно с клавиатуры)
    - СИМВОЛ ПСЕВДОГРАФИКИ (псевдографический символ, вводимый с помощью соответствующего меню)

    В редакторе «Gemini-EDIT» существуют два понятия: редактирование строки и редактирование текста. Это означает, что когда пользователь делает изменения в пределах одной строки, то он как бы находится в редакторе строки и все изменения данной строки вносятся в основной текст только при выходе из данной строки (переход к следующей строке) или при любой операции, не связанной с редактированием строки. Это даёт возможность отмены изменений в случае ошибочных действий пользователя (комбинация клавиш УСU» или Ctrl+«U»). Т.е. на самом деле редактор всегда находится в режиме редактирования текущей строки, однако для пользователя это не заметно.
    Таким образом, для пользователя на экране в режиме просмотра/редактирования всегда предоставляется достоверная информация о наличии и расположении текста в файле.
    При редактировании строки возможен такой вариант, когда вся строка целиком не помещается на экране (в окне при оконном режиме отображения). В этом случае последним справа будет символ «». Это означает, что строка видна не целиком и для просмотра/редактирования её содержимого необходимо перейти на эту строку и путём операций перемещения курсора добиться отображения требуемого участка. Признаком конца строки является символ «», который при желании может быть изменён пользователем на любой другой с помощью конфигуратора интерфейса EDSETUP$.
    Если в процессе редактирования строки её левая часть не помещается на экране, то её крайний левый символ временно заменяется на символ «» и после выхода из данной строки она на экране принимает такой вид, что её крайний левый символ является первым символом в строке.

    Если при очередном переходе к следующей строке или при любой другой операции появится сообщение «OUT OF MEMORY!», то это означает, что текст слишком велик (превышен размер буфера текста) и дальнейшее добавление текста невозможно. Далее для возврата в режим редактирования необходимо нажать любую клавишу (если нажать клавишу «Esc», то произойдёт отмена всех последних изменений текущей строки).

    Т.к. в редакторе «Gemini-EDIT» нет отдельного режима просмотра (он совмещён с режимом редактирования), то может оказаться полезной функция отключения маркеров конца строк, которая работает по принципу триггера (т.е. один раз отключает, а другой раз включает маркеры) и выполняется нажатием последовательности клавиш АР2 & «@» (Esc & «@»).


    Интерфейс основного режима редактора «Gemini-EDIT»

    Интерфейс основного режима (просмотр/редактирование) редактора «Gemini-EDIT» представляет собой четыре основных поля:

    - поле состояния (самая верхняя строка)
    - верхнее информационное поле (вторая сверху строка экрана)
    - поле просмотра/редактирования текста (основное поле, может представлять собой одно или несколько окон)
    - нижнее информационное поле (самая нижняя строка экрана)



    Поле состояния в основном режиме отображает полное имя текущего файла (например: Edit file B:FL00.TXT), причём если файл вновь созданный и ещё не сохранялся на диск, то это будет отражено в заголовке: New/Edit file B:FL00.TXT. Поле состояния в режиме просмотра/редактирования/поиска отображает часть образца поиска и счётчик количества найденных фрагментов на данный момент (если был выбран режим поиска/замены).

    Верхнее информационное поле в основном режиме отображает (слева направо): номер текущей строки от начала текста, объём текста на данный момент (в байтах) и оставшийся свободный объём буфера текста на данный момент (в байтах). Данные в этом поле обновляются только в момент перехода между строками и при выполнении команд работы с текстом и его фрагментами.

    Поле просмотра/редактирования текста отображает страницу текста и текущее положение курсора редактора в нём (курсор при этом имеет вид «L», который установлен по умолчанию и может быть изменён на любой другой, доступный в ОС DSDOS при помощи конфигуратора интерфейса EDSETUP$).

    Просмотр/редактирование текста можно производить как в полноэкранном (выбирается нажатием комбинации клавиш УСF» или Ctrl+«F»), так и в оконном режиме (выбор одного из семи возможных оконных режимов осуществляется нажатиями комбинации клавиш УСW» или Ctrl+«W»). Примечание: одновременно на экране можно расположить до 3-х окон.

    Два файла, окна расположены вертикально:



    Два файла, окна расположены горизонтально:



    Три файла, окна расположены горизонтально:



    Нижнее информационное поле в основном режиме отображает (слева направо):
    - координаты положения курсора на экране относительно левого верхнего угла текущей страницы текста «X=00» и «Y=00»;
    - индикатор изменений в тексте: «Mod» - текст не изменён, «Mod*» - внесены изменения;
    - индикатор выделения начала фрагмента: «Sel» - начало фрагмента не указано, «Sel*» - указано;
    - индикатор наличия текстовой информации в буфере обмена: «ClBoard» - пусто, «ClBoard*» - в буфере текстовый фрагмент;
    - индикатор начала/конца текста «↓↑»: отображает возможность перемещения курсора вверх и вниз по тексту, в первой и в последней строке текста отображается только один соответствующий маркер.


    Команды редактирования строки

    Ввод текста в редакторе «Gemini-EDIT» осуществляется путём ввода/редактирования строк. По-умолчанию включен режим "вставка", т.е. вводимый символ будет вставлен между символом в позиции курсора и символом левее курсора, при этом содержимое строки правее курсора сдвигается вправо, т.о. кол-во символов строки увеличивается. С помощью клавиши «F3» (Ins) можно включить режим "замена", т.е. вводимый символ будет заменять символ в позиции курсора, при этом курсор сдвигается на одну позицию вправо, кол-во символов в строке не изменяется. Повторное нажатие клавиши «F3» (Ins) вновь переключает в режим "вставка". Определить текущий режим можно по виду курсора.
    Если при вводе достигнут правый конец экрана (окна), то происходит сдвиг строки влево и вместо исчезнувших слева символов появляется символ «». Если при вводе/редактировании строки достигнут предел максимальной длины строки (64 символа по-умолчанию, 255 максимально), то появляется длинный звуковой сигнал и дальнейший ввод символов блокируется (примечание: за три символа до достижения этого предела появляется короткий предупреждающий звуковой сигнал).

    При переходе к следующей строке и при любых других операциях не связанных с редактированием строки, производится вставка изменённой строки в основной текст. До этого момента существует возможность отмены изменений строки с помощью комбинации клавиш УСU» (Ctrl+«U»).

    Для перемещения курсора в пределах строки используются следующие клавиши:

    «», «» - перемещение по символам;
    TAB, УС+TAB, УС», УС» (Ctrl+«», Ctrl+«») - перемещение по словам;
    КД, ПС («Home», «End») - перемещение в начало/конец видимой части строки на экране (в окне);
    АР2 & «», АР2 & «» (Esc & «», Esc & «») - перемещение в реальные начало/конец строки.

    Для удаления символов используются следующие клавиши:

    «F2» (Del) - удаление символа в позиции курсора;
    УСF2» (Ctrl+«Del») - удаление строки справа от курсора;
    «ЗБ» (BS, Backspace) - удаление символа слева от курсора;
    УСЗБ» (Ctrl+«Backspace») - удаление строки слева от курсора.

    Для групповой смены регистра и кодировки символов используются следующие клавиши:

    УСK» (Ctrl+«K») - смена регистра символов от курсора и до конца слова;
    УС+НРK» (Ctrl+Shift+«K») - смена регистра символов от курсора и до конца строки;
    УСE» (Ctrl+«E») - смена кодировки символов (РУС/ЛАТ) от курсора и до конца слова;
    УС+НРE» (Ctrl+Shift+«E») - смена кодировки символов (РУС/ЛАТ) от курсора и до конца строки.

    Для вставки символов псевдографики ОС DSDOS используются следующие клавиши:

    АР2 & «P» (Esc & «P») - выбор текущего и вставка символа псевдографики;
    УСP» (Ctrl+«P») - вставка текущего символа псевдографики.

    При выборе текущего символа псевдографики в нижнем информационном поле открывается соответствующий диалог:



    Текущий выбранный символ выделяется мигающей инверсией. Выбор осуществляется клавишами «» и «», клавиши «↓↑» переключают отображаемые наборы символов, по нажатию клавиши «ВК» (Enter) выбранный символ вставляется в редактируемую строку в позицию курсора и становится текущим. Нажатие клавиши АР2 (Esc) отменяет вставку символа псевдографики (примечание: при этом текущим становится символ, выбранный на момент отмены).

    ↓↓↓
    Последний раз редактировалось Denn; 17.12.2017 в 13:28. Причина: Изменение путей ссылок
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  7. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #17
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,214
    Спасибо Благодарностей отдано 
    471
    Спасибо Благодарностей получено 
    897
    Поблагодарили
    590 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    Post Текстовый редактор Gemini-EDIT v5.0

    Команды редактирования строки (продолжение)

    Комбинация клавиш УСF3» (Ctrl+«Ins») вставляет пробел в позицию курсора, при этом курсор остаётся на прежнем месте, а пробел вставляется между символом левее курсора и символом в позиции курсора, независимо от текущего режима "вставка/замена".


    Команды редактирования текста

    ВК (Enter) - ввод/разделение/образование строки;
    АР2 & ВК (Esc & Enter) - объединение текущей и следующей строки в одну;
    УС+ВК (Ctrl+Enter) - создание новой пустой строки ниже текущей;
    АР2 & «X» (Esc & «X») - удаление строк от начала текста до текущей (включительно), с запросом подтверждения;
    АР2 & «Z» (Esc & «Z») - удаление строк от текущей (включительно) до конца текста, с запросом подтверждения;
    УСD» (Ctrl+«D») - удаление текущей строки, выполняется без запроса подтверждения;

    Команды навигации по тексту

    «» / «» - переход к следующей / предыдущей строке (позиция курсора по X по возможности сохраняется);
    АР2 & «B» (Esc & «B») - переход в начало текста;
    АР2 & «E» (Esc & «E») - переход в конец текста;
    АР2 & «» или СТР (Esc & «» или Cls, «PgUp») - переход на страницу вниз (текст перепечатывается таким образом, что последняя строка предыдущей страницы будет первой строкой новой страницы);
    АР2 & «» или УС+СТР (Esc & «» или Ctrl+Cls, Ctrl+«PgUp») - переход на страницу вверх (текст перепечатывается таким образом, что первая строка предыдущей страницы будет последней строкой новой страницы);
    УС» (Ctrl+«») - переход на полстраницы вниз;
    УС» (Ctrl+«») - переход на полстраницы вниз;
    УС+КД, УС+ПС (Ctrl+Home, Ctrl+End) - перемещение в первую/последнюю строку текущей страницы;
    УС\» (Ctrl+«\») - текущую строку в середину экрана (текст перепечатывается таким образом, что текущая строка оказывается в середине экрана);
    УС.» (Ctrl+«.») - установка закладки (запоминается номер строки и положение курсора);
    УСJ» (Ctrl+«J») - переход к закладке (осуществляется переход к номеру строки из закладки);

    Операции с фрагментами текста

    Фрагмент текста представляет из себя совокупность следующих друг за дружкой строк. Началом фрагмента всегда является первый символ первой строки фрагмента, а концом - последний символ последней строки фрагмента.
    Для отметки начала фрагмента необходимо нажать комбинаю клавиш: УСN» или АР2 & «[» (Ctrl+«N» или Esc & «[»). Концом фрагмента считается строка, при нахождении в которой подаётся команда операции с фрагментом. При этом не имеет значения дальше или ближе по тексту обозначается конец фрагмента относительно его начала. После выполнения команд связанных с модификацией текста, маркер начала фрагмента аннулируется, в остальных случаях сохраняется. Если начало фрагмента не отмечено, то попытка выполнить операцию с фрагментом приведёт к выводу в нижнее информационное поле предупреждения: "No text selected!", по нажатию любой клавиши редактор возращается в основной режим просмотра/редактирования. Доступны следующие операции:

    АР2 & «D» (Esc & «D») - удаление фрагмента (отметка начала фрагмента снимается);
    АР2 & «C» (Esc & «C») - копирование фрагмента в буфер обмена (отметка начала фрагмента не снимается);
    АР2 & «U» (Esc & «U») - удаление фрагмента в буфер обмена (отметка начала фрагмента снимается);
    АР2 & «V» (Esc & «V») - вставка фрагмента из буфера обмена перед текущей строкой;
    АР2 & «K» (Esc & «K») - просмотр содержимого буфера обмена.


    Операции поиска/замены

    Поиск

    Для поиска слова, нескольких слов или любой другой последовательности символов (далее - образца) необходимо нажать последовательность клавиш: АР2 & «F» (Esc & «F»). В нижнем информационном поле откроется диалог ввода образца для поиска:



    Ранее вводимый образец можно "вспомнить" нажатием клавиши «» и, при необходимости, отредактировать.

    Если искомая фраза "размазана" на две строки и более, то при вводе образца в качестве "разделителя строк"
    необходимо вводить символ «|» (вертикальная черта):



    Символ «?» используется для указания одного любого символа в данной позиции образца.

    Если при подаче команды поиска (в момент нажатия клавиши «F») удерживать клавишу «НР» (Shift), то в качестве образца поиска автоматически будет вставлено слово, которое было в тексте в позиции курсора:



    После ввода образца поиска (ВК, Enter) открывается диалог выбора направления поиска:



    Клавишами «» / «» выбирается направление вниз/вверх от текущего положения курсора,
    клавиша АР2 (Esc) отменяет поиск, а нажатие любой другой клавиши выполняет поиск с начала текста.

    В случае успеха, распечатывается новая страница текста т.о., что в середине экрана оказывается строка, содержащая первый найденный образец, курсор будет установлен на начале найденного образца в строке. В поле состояния редактора правее имени текущего файла будут отображены первые пять символов образца поиска и порядковый номер найденного в тексте:



    Для продолжения поиска необходимо нажать УСR» или АР2 & «R» (Ctrl+«R» или Esc & «R»), в результате будет найдено следующее вхождение образца, положение строки на экране и курсора в ней - аналогичные, а в поле состояния редактора будет соответственно увеличен номер вхождения:



    Продолжение поиска осуществляется в направлении, выбранном при подаче команды поиска.

    Если в выбранном направлении поиска достигнут конец (начало) текста, то выводится следующее предупреждение:



    По нажатию любой клавиши редактор возвращается в режим просмотра/редактирования, в то место текста, откуда была подана команда поиска.

    Замена

    Для замены образца необходимо нажать последовательность клавиш: АР2 & «W» (Esc & «W»). В нижнем информационном поле сначала откроется диалог ввода заменяемого (искомого) образца. Диалог полностью аналогичен команде поиска, отличается только формой курсора. Все особенности, включая вызов с удержанием клавиши «НР» (Shift), также аналогичны команде поиска.
    Затем открывается диалог ввода нового образца на замену. Здесь уже символы «?» и «|» используются по своему прямому назначению. Количество заменяющих символов может отличаться от количества заменяемых, в этом случае объём текстового файла после выполнения замены будет соответствующим образом уменьшен или увеличен, а процесс замены будет выполняться ощутимо дольше, чем замена образцом равной длины.
    Далее открывается вышеописанный в команде поиска диалог выбора направления, после которого запускается процесс поиска/замены. Заменяются все найденные образцы в соответствии с выбранным направлением до конца (начала) текста.
    По окончании процесса в нижнем информационном поле выводится информация о количестве заменённых образцов. Если также присутствует сообщение «Out of memory!», то это означает, что заменены не все образцы, а процесс был прерван из-за того, что размер текста достиг верхней границы текстового буфера.

    Редактор не производит анализ корректности заменяющего и заменяемого образцов, это должен контролировать пользователь. Например, поиск образца "АА" с заменой на "ААА" приведёт к зацикливанию процесса вплоть до заполнения всего текстового буфера редактора, т.к. заменяющий образец содержит искомый.


    Команды вызова внешних программ

    В редакторе есть возможность вызова программ для обработки редактируемого текста. Команда АР2 & «G» (Esc & «G») открывает диалог для ввода имени файла программы-обработчика:



    По-умолчанию подставлено имя "PROG$", а поиск производится на диске "B:". Можно задать имя диска, а также указать параметры вызова, например: "A:STORE$ -A B:ARHIV B:FL00.TXT". После нажатия ВК (Enter) производится вызов программы.
    Введённая строка вызова запоминается и в следующий раз её можно не вводить, а вызвать без диалога, подав команду УСG» (Ctrl+«G»).

    Компиляция на Ассемблере

    Для компиляции текущего текстового файла на Ассемблере необходимо выполнить команду АР2 & «A» (Esc & «A»).
    Если изменения текста не сохранены, то появится соответствующий диалог:



    После чего следующим образом выполняется вызов Ассемблера: "L A:ASSM$ B:FL00.TXT", где "B:FL00.TXT" - полное имя текущего файла. Имя файла Ассемблера можно изменить с помощью конфигуратора интерфейса EDSETUP$.

    ↓↓↓
    Последний раз редактировалось Denn; 17.12.2017 в 13:29. Причина: Изменение путей ссылок
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  9. #18
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,214
    Спасибо Благодарностей отдано 
    471
    Спасибо Благодарностей получено 
    897
    Поблагодарили
    590 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Конфигуратор интерфейса редактора «Gemini-EDIT»

    В процессе работы редактор «Gemini-EDIT» сохраняет в файле конфигурации ED.INI следующие параметры:
    - количество и имена рабочих файлов, открытых в редакторе;
    - расположения окон рабочих файлов и положения курсора в них;
    - образцы поиска и замены;
    - имя файла и параметры запуска внешней программы;
    - режим отображения каталога файлов в диалогах загрузки/сохранения файлов.

    Также есть параметры, которые использует редактор «Gemini-EDIT», но для их изменения есть отдельная утилита - EDSETUP$:



    Изменение параметров производятся нажатием соответствующих клавиш и немедленно визуально отображаются.


    Изменение цвета интерфейса

    Общее правило: для изменения цвета символов элемента интерфейса нажимается соответствующая символьная клавиша, для изменения цвета фона добавляется клавиша «НР» (Shift). Каждое нажатие циклически перебирает все 16 вариантов цветов.

    "M" - цвета следующих элементов: поле состояния (самая верхняя строка), верхнее информационное поле (вторая сверху строка экрана) и нижнее информационное поле (самая нижняя строка экрана).

    "E" - цвет сообщения об ошибке.

    "N" - цвет неактивного окна с текстом.

    "A" - цвет активного (текущего) окна с текстом.


    Изменение формы курсоров и маркеров конца строк

    Общее правило: нажатие соответствующей клавиши увеличивает параметр на единицу, а добавление клавиши «НР» (Shift) - уменьшает на единицу.

    F1 - маркер конца строки;
    F2 - форма курсора для режима "замена";
    F3 - форма курсора для режима "вставка";
    АР2 (Esc) - форма курсора режима "АР2 &...";


    Изменение параметров длины строки

    Общее правило: после нажатия соответствующей клавиши вводится числовое значение параметра в десятичной системе.

    "S" - максимальная длина строки (20..255);
    "B" - количество символов до максимума длины строки, подаётся предупреждающий звуковой сигнал (1..9);


    Изменение расширения текстовых файлов

    После нажатия клавиши "X" вводятся 1..3 символа расширения (без точки).


    Изменение имени файла программы Ассемблера

    После нажатия клавиши "F" вводится имя файла. Также можно указать имя устройства, например: "B:TASM$".


    Для отмены всех текущих изменений необходимо нажать "U", для сброса на установки по-умолчанию необходимо нажать "R". Для сохранения изменений необходимо нажать ВК (Enter), для выхода без сохранения - F4.


    ↓↓↓
    Последний раз редактировалось Denn; 17.12.2017 в 13:30. Причина: Изменение пути ссылки
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  10. #19
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,214
    Спасибо Благодарностей отдано 
    471
    Спасибо Благодарностей получено 
    897
    Поблагодарили
    590 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Утилита архивирования файлов «STORE»

    В ОС DSDOS файлы в RAM-диске и на ГМД хранятся в кластерах, размеры которых соответственно составляют 16 и 1024 байт. Это обеспечивает большую скорость чтения/записи, но накладывает ограничения на максимальное кол-во файлов на дисках: 255 для RAM-диска и 78 для ГМД. И если для RAM-диска с его небольшим объёмом цифра вполне адекватная, то для ГМД при хранении большого кол-ва файлов маленького объёма будет нерационально использоваться дисковое пространство - гораздо быстрее закончится место в каталоге, чем физический объём носителя.
    Также ввиду ограничений файловой системы (далее - ФС), а именно малого максимального кол-ва символов имени файла (восемь), невозможности хранения на одном диске файлов с одинаковыми именами и отсутствием подкаталогов, возникают трудности с хранением разных версий (архивированием) файлов.
    Для решения вышеобозначенных проблем создана утилита STORE$, которая позволяет хранить файлы в специальных файлах-контейнерах (архивах). Максимальный размер файла-контейнера составляет 44 Кб, при его превышении создаётся другой (следующий) файл-контейнер (том архива). Файлы в контейнерах располагаются непрерывно друг за другом, т.е. не происходит потерь пространства диска из-за кластеризации. Доступ к файлам производится не по имени, а по их порядковому номеру в архиве, т.о. можно в одном архиве хранить несколько файлов с одинаковыми именами, что может быть полезно для архивирования разных версий одной программы. Утилита позволяет хранить в одном архиве до 1508 файлов - это ограничение, накладываемое размером буфера каталога архива. Разумеется, размер архива также ограничен и объёмом свободного пространства на диске.
    Утилита STORE$ не производит сжатие информации, для этих целей следует пользоваться соответствующими специальными программами.

    Запуск утилиты без параметров (или при ошибках в них) выводит подсказку:




    Создание архива

    Для создания архива необходимо дать команду добавления первого файла в него "Add" (ключ "/A"):



    Первым параметром идёт имя архива (возможно явное указание диска), далее следует имя добавляемого файла и затем ключ-команда.
    В этом примере мы создали на диске B: архив с именем ARHIV, в который добавили файл BIOS с диска A:. Для утилиты считается текущим диск, с которого она была запущена, т.о. для указания файлов на текущем диске не требуется явного указания (в нашем примере исходный файл BIOS находится на том же диске A:, с которого запускается утилита STORE$). Это правило относится и к имени архива.
    Факт того, что создаётся новый архив отражён в информации о выполняемой операции: "Create archive...".
    Далее распечатываем каталог диска B: и видим, что на нём появилось два новых файла: ARHIV.ST и ARHIV.00. Первый файл ARHIV.ST - каталог, содержит информацию об архиве (заголовки файлов, их порядок), а второй ARHIV.00 - том, является контейнером, в котором располагаются тела файлов архива. Как было сказано ранее, при превышении размера тома в 44 Кб, создаётся следующий файл-том ARHIV.01 и т.д...
    Ввиду того, что к имени архива присоединяются соответствующие расширения, оно не может быть длинее пяти символов. Попытка создать архив с более длинным именем приведёт к потере символов после пятого:




    Вывод каталога архива

    Для вывода каталога архива необходимо дать команду "Dir" (ключ "/D"):



    Первым параметром идёт имя архива, далее следует ключ-команда. Ключ "/D" можно опустить, без него утилита также выдаст каталог архива.

    Выводится информация в следующем виде:
    <порядковый номер файла в архиве>, <имя файла>, <адрес посадки>, <длина Dec/Hex>, <рабочая страница ОЗУ>, <дата>
    Информация о порядковом номере файла в архиве используется для его извлечения и удаления из архива.
    В конце выводится информация об общем кол-ве файлов в архиве.


    Добавление файлов в архив

    Добавление других файлов в архив делается аналогично командой "Add", как и при создании архива. При обнаружении архива с указанным именем, утилита вместо создания нового архива добавит файл в существующий. При этом будет отображена информация о добавлении: "Update archive...".


    Извлечение файлов из архива

    Для извлечения файлов из архива необходимо дать команду "eXtract" (ключ "/X"):



    Первым параметром идёт имя архива (возможно явное указание диска), далее следует буква диска назначения и, через двоеточие, порядковый номер извлекаемого файла из каталога архива, затем идёт ключ-команда. Если во втором параметре не задан диск назначения, то извлечённый файл будет сохранён на текущем диске, с которого была запущена утилита. Если на диске назначения уже есть файл с таким же именем, то утилита выдаст ошибку, например: "08 Replace file: A:BIOS". Утилита не перезаписывает "поверх" имеющийся на диске файл.

    Добавим в наш тестовый архив ARHIV ещё два системных файла с диска A: и извлечём последний файл на диск B:



    Данный пример также демонстрирует следующее свойство утилиты: порядок расположения ключа-команды может быть произвольным, в т.ч. первым параметром сразу после команды запуска утилиты. Сам ключ может начинаться символом "/" или "-".
    Что касается остальных параметров, то тут главное чтобы не была нарушена последовательность - сначала идёт имя архива, а после него имя/номер обрабатываемого файла.


    Удаление файлов из архива

    Для удаления файла(ов) из архива необходимо дать команду "Erase" (ключ "/E"):



    Первым параметром идёт имя архива (возможно явное указание диска), далее следует порядковый номер удаляемого файла из каталога архива, затем идёт ключ-команда. В результате из архива удаляются все файлы начиная с указанного, включительно. Удаление одного файла внутри списка в текущей версии STORE$ не поддерживается в виду серьёзного увеличения размера кода программы, а также чрезмерно большого времени перепаковки информации внутри томов архива.

    P.S. в планах написание оболочки (интерфейс наподобие DC$) для более удобной работы с архивами...

    ↓↓↓
    Последний раз редактировалось Denn; 17.12.2017 в 13:31. Причина: Изменение путей ссылок
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

  11. #20
    Guru Аватар для Denn
    Регистрация
    04.05.2006
    Адрес
    St.-Petersburg
    Сообщений
    2,214
    Спасибо Благодарностей отдано 
    471
    Спасибо Благодарностей получено 
    897
    Поблагодарили
    590 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Утилита сравнения файлов «FC»

    Для сравнения содержимого файлов в ОС DSDOS имеется утилита FC$, которая позволяет сравнивать файлы в двух режимах: побайтово (бинарный) и построчно (текстовый).

    Запуск утилиты с ключом "/?" выводит подсказку:


    альт.ссылка на изображение


    Для пояснения работы утилиты создадим два тестовых текстовых файла FL00.TXT и FL01.TXT. Для начала их содержимое будет полностью одинаковое:


    альт.ссылка на изображение

    В левом окне редактора отображено содержимое файла FL00.TXT, а в правом - FL01.TXT.

    Далее делаем вызовы утилиты со следующими параметрами:


    альт.ссылка на изображение

    Первый раз сравниваем файлы FL00.TXT и FL01.TXT в побайтовом (бинарном), а второй раз в построчном (текстовом) режиме.
    Поскольку файлы одинаковые, то результаты сравнений в обоих режимах - "Ok!".

    Теперь вносим два изменения во второй файл FL01.TXT:


    альт.ссылка на изображение

    - в первой строке меняем цифру "1" на "2", а в конце добавляем пустую строку. Делаем сравнение файлов в обоих режимах:


    альт.ссылка на изображение

    Побайтовое (бинарное) сравнение показывает, что размеры файлов отличаются на один байт и выводит различающиеся байты в пределах кол-ва байт файла наименьшего размера.
    Построчное (текстовое) сравнение показывает различия в строках, находящихся в одинаковых позициях текста, а также отдельно показывает "новые" строки, которые есть только в одном из сравниваемых файлов.

    Добавим ещё одну строку во второй файл:


    альт.ссылка на изображение

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


    альт.ссылка на изображение


    Ещё пара примеров. Во втором файле изменим содержимое строк:


    альт.ссылка на изображение

    В обоих режимах сравнений получаем одинаковое кол-во различий:


    альт.ссылка на изображение

    Во втором файле, в середине текста две новые строки:


    альт.ссылка на изображение

    Результат построчного сравнения такой:


    альт.ссылка на изображение


    Некоторые особенности. Как видно из примеров, если опускается явное указание диска, то файл ищется на диске "B:", независимо от текущего диска, с которого запускается утилита.
    Для указания построчного (текстового) режима сравнения используется ключ "/T", отсутствие ключей указывает на побайтовый (бинарный) режим.
    Для успешного запуска утилиты необходимо, чтобы суммарно оба сравниваемых файла плюс часть кода самой утилиты помещались в размер ОЗУ пользователя (задаётся командой "M" ОС DSDOS), в противном случае работа утилиты будет прервана:


    альт.ссылка на изображение

    ↓↓↓
    Последний раз редактировалось Denn; 11.02.2024 в 12:30. Причина: Изменение путей ссылок
    Критиковать - значит объяснять автору, что он делает не так, как делал бы я, если бы умел

Страница 2 из 55 ПерваяПервая 123456 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 17
    Последнее: 26.12.2015, 23:22
  2. продам платы "Орион-128"
    от AHTuXPuCT в разделе Барахолка (архив)
    Ответов: 70
    Последнее: 19.06.2012, 20:39
  3. Платы ром-диска "Орион-128"
    от AL.EX в разделе Барахолка (архив)
    Ответов: 45
    Последнее: 10.06.2012, 12:54
  4. Куплю плату "Орион-ПРО"
    от АлександрПП в разделе Барахолка (архив)
    Ответов: 3
    Последнее: 15.05.2011, 20:48
  5. Ответов: 0
    Последнее: 15.08.2010, 14:38

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •