Археологические новости
Apr. 29th, 2021 10:48 amЕсть язык Паскаль, в котором есть понятие о текстовых файлах - последовательностях символов (char). Эти текстовые файлы могут быть разбиты на строки, но не обязательно. Чтобы записать в файл разделитель строк, нужно сказать writeln.
И есть мониторная система "Дубна", в которой есть понятие о текстовых файлах - последовательностях 80-символьных строк. Каждая строка - это последовательность байтов, определяющая 80 символов (группы пробелов могут быть сжаты в виде байта с кодом 0200+число пробелов), после которых стоит символ 012, и если в результате получилось не целое число слов (т.е. символ 012 не является младшим байтом), то 012 дублируется в младшем байте, а промежуточные байты, если есть, заполняются пробелами. При нарушении выравнивания строк по границам слов МС "Дубна" считает файл нетекстовым.
Таким образом, чтобы из Паскаля создать текстовый файл, который можно будет прочитать базовыми средствами МС "Дубна", нужно озаботиться подсчетом символов в выводимых строках. Приписывание байта, добивающего число символов в строке до 80, возложено на пользователя, а для обеспечения выравнивания строк на границы слов, оказывается, есть специальная процедура PASENDED(var F:text).
До идеи установки специального режима (наподобие текстового режима в MS-DOS), чтобы writeln или, более общо, запись байта с кодом 012 автоматически делали выравнивание, почему-то не додумались.
И есть мониторная система "Дубна", в которой есть понятие о текстовых файлах - последовательностях 80-символьных строк. Каждая строка - это последовательность байтов, определяющая 80 символов (группы пробелов могут быть сжаты в виде байта с кодом 0200+число пробелов), после которых стоит символ 012, и если в результате получилось не целое число слов (т.е. символ 012 не является младшим байтом), то 012 дублируется в младшем байте, а промежуточные байты, если есть, заполняются пробелами. При нарушении выравнивания строк по границам слов МС "Дубна" считает файл нетекстовым.
Таким образом, чтобы из Паскаля создать текстовый файл, который можно будет прочитать базовыми средствами МС "Дубна", нужно озаботиться подсчетом символов в выводимых строках. Приписывание байта, добивающего число символов в строке до 80, возложено на пользователя, а для обеспечения выравнивания строк на границы слов, оказывается, есть специальная процедура PASENDED(var F:text).
До идеи установки специального режима (наподобие текстового режима в MS-DOS), чтобы writeln или, более общо, запись байта с кодом 012 автоматически делали выравнивание, почему-то не додумались.