ФАЙЛИ В СИСТЕМІ ICL 2904

У цій системі передбачені файли двох типів: у термінальному і внутрішньому форматах З останнім можна працювати в режимі прямого доступу (див підрозд 861)

Послідовні файли в термінальному форматі можна створювати командою OPEN, на відміну від багатьох інших систем не є оператором Читання з файлу і запис у файл здійснюються програмами звичайним чином У наведеному нижче переліку вказані надаються системою кошти

Тільки команда:

OPEN імя файлу, розмір в записах (резервується на диску місце для файлу) Оператори:

10 FILE # N: імя файлу (Привязує файл до логічного номеру)

10   INPUT #N:

10   LINPUT#N:

10   PRINT #N:

10 FILE # N: * (Закриває файл)

Довжина імені файлу в цій системі обмежена шістьма символами Для перевірки досягнення кінця файлу передбачені два оператора IF:

IF END #N THEN 100

IF MORE #N GOTO 10

Дуже важливим і корисним властивістю є можливість повернення до початку файлу (за аналогією з RESTORE в операторах DATA) за допомогою оператора RESET # N Його функції цим не обмежуються якщо в ньому другий параметром зазначений номер запису, то він перемістить поточну позицію читання або запису у файлі на запис з вказаним номером, забезпечивши тим самим можливість прямого доступу до інформації:

100   RESET #3 100   RESET #3,45

Файлова функція LOC (# N) повертає номер поточного запису, а корисна функція TYP (# N) аналізує наступний за поточним елемент даних файлу для визначення його типу (1 – числове значення, 2 – рядок символів, 3 – кінець запису і 4 – кінець файлу)

Файли можна використовувати і по-іншому, маніпулюючи ними безпосередньо з клавіатури У описуваної системі маніпулювання програмами та файлами здійснюється єдиним чином, так що звичайні команди GET, LIST і команди редагування рядка застосовні і до файлових даними На додаток до них передбачена спеціальна команда, TEXT, що створює нові файли

даних У наведеному нижче прикладі те, що набирається на клавіатурі, підкреслено система як запрошення до вводу використовує знак>, але при введенні даних в файл міняє його на <:

&gtTEXT INFO(Треба створити новий файл з імям INFO)

&ltПЕРША СТРОКА,23 &lt4678, ДРУГА,78 &lt 1 2 3

&ltОСТАННЯ, 67

&lt////(Чотири / завершують введення) INFO SAVED

> LIST (Зображення вмісту поточного Файлу) INFO

1 ПЕРША РЯДОК, 23

2 4678, ДРУГА, 78

3&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 1,2,3

4 ОСТАННЯ, 67>

Можна користуватися наступними командами:

LIST зображення на ВТУ поточного програмного файлу або файлу даних

KILL INFO видалення пойменованого файлу (INFO) з архівної памяті

SCRATCH видалення поточного файлу з робочої області памяті ЕОМ

GET INFO копіювання файлу з архівної памяті в робочу область памяті

Програмні файли або файли даних, що знаходяться в робочій області, можна змінювати, задаючи номер рядка, за яким слід її нове значення Вказівка ​​одного тільки номера рядка викликає видалення рядка, а в результаті виконання оператора

DELETE 10,50

будуть видалені рядки з 10-ї по 50-ту включно Щоб повернути змінену копію файлу в архівну память, треба видалити вихідний файл по команді KILL, після чого поточний файл можна скопіювати з робочої області по команді SAVE Імя знаходиться в робочій області файлу можна змінити за командою NAME

Наступна проста програма використовує створений вище файл INFO Так як він містить суміш рядків символів і чисел, то всі його елементи читаються як рядки символів Кома в операторі INPUT після А $ означає, що оператор повинен продовжити читання наступного елемента даних з 263

поточного запису без цієї коми програма читала б тільки перші елементи кожного запису

10 REM ДЕМОНСТРАЦІЯ РОБОТИ З ФАЙЛАМИ ЕОМ ICL 2904

20   FILE#l: &quotINFO&quot

30 INPUT # 1: А $,

40 PRINT ЧЕРГОВИЙ ЕЛЕМЕНТ ДАНИХ:; А $

50   IF MORE#1 THEN 30

60   FILE#l: &quot*&quot

70   END RUN

ЧЕРГОВИЙ ЕЛЕМЕНТ ДАНИХ: перший рядок ЧЕРГОВИЙ ЕЛЕМЕНТ ДАНИХ: 23

ЧЕРГОВИЙ ЕЛЕМЕНТ ДАНИХ: 4678

ЧЕРГОВИЙ ЕЛЕМЕНТ ДАНИХ: ДРУГА ЧЕРГОВИЙ ЕЛЕМЕНТ ДАНИХ: 78

ЧЕРГОВИЙ ЕЛЕМЕНТ ДАНИХ: 1

ЧЕРГОВИЙ ЕЛЕМЕНТ ДАНИХ: 2

ЧЕРГОВИЙ ЕЛЕМЕНТ ДАНИХ: 3

ЧЕРГОВИЙ ЕЛЕМЕНТ ДАНИХ: ОСТАННЯ ЧЕРГОВИЙ ЕЛЕМЕНТ ДАНИХ: 67 LINE 70 DONE

834 ФАЙЛИ В операційній системі СР / М

В операційній системі СР / М фізичні дисководи мають мітки А, В, С і т д За угодою мітку А має дисковод, вбудований в корпус ВТУ Системний диск, що містить СР / М, повинен бути вставлений в дисковод А Після того як СР / М буде завантажена в память за допомогою описаної в підрозділ 212 процедури, запрошення до вводу буде містити вказівку на поточний дисковод:

А>

Набравши В: або С:, можна змінити поточний дисковод на В або С відповідно

Врахуйте, що при завантаженні Бейсика командою MBASIC за замовчуванням дозволяється працювати не більше ніж з трьома файлами даних, які повинні мати логічні номери від 1 до 3 При необхідності в роботі з великим числом файлів треба вказати в команді параметр / F: число файлів. Наприклад, команда

A&gtMBASIC/F:6

дозволить Бейсік використовувати до шести файлів даних Усі безпосередні маніпуляції файлами, включаючи їх створення, виконуються поза Бейсика Нижче будуть використані посилання на команди СР / М і її редактор

При роботі з файлами часто буває необхідно вказувати, якою дисководі (А, В, С) розташовується файл Деякі команди СР / М здатні маніпулювати групами файлів і можуть використовувати зірочку (*) для позначення будь-якого рядка символів в імені файлу, наприклад: A: FIRSTPRG означає файл FIRSTPRG на дисководі А

SAMPLETXT означає файл SAMPLETXT на поточному дисководі 264

У: * ТХТ означає всі файли на дисководі В, що мають розширення імені ТХТ B: * * Означає всі файли на дисководі В

врахуйте, що команди повинні викликатися з того диска, на якому вони знаходяться (зазвичай з диска А)

Якщо це не поточний диск, то перед командою треба набрати А:

Послідовні файли можна створювати звичайним чином з програми, як описано в підрозділ 848, або ж безпосередньо з клавіатури В останньому випадку використовуйте команду редагування ED операційної системи СР / М, вказуючи в ній імя нового файлу Дані можна ввести в файл за допомогою команди редактора I ознакою кінця введення даних служить натискання клавіші Z при клавіші керуючого регістра CONTROL Нижче наведено приклад повного сеансу редагування (набирається на клавіатурі інформація підкреслено):

У>А: ED INFODAT(Викликати команду ED з дисковода А для створення пойменованого файлу на поточному дисководі, тобто У) NEW FILE (на диску В немає файлу з вказаним вище імям,

тому система створює новий файл)

: * I (редактор видає зірочку як запрошення до вводу для переходу в режим вставки тексту наберіть I)

1:10

2:40

3:75(Вводите значення даних, натискаючи клавішу воз4:бврата каретки після кожної набраної рядка) 5:21

6: (наберіть CONTROL Z для завершення виконання команди I)

:*Е(Знову видано запрошення до вводу (*) введіть Е для завершення редагування)

У> (Відбулося повернення до СР / М можна вводити нову команду операційної системи)

Створений таким чином файл INFO DAT можна зобразити на ВТУ командою У> A: TYPE INFODAT або, якщо поточним є диск А,

A&gtTYPE B:INFODAT

Тепер можна увійти в Бейсік і забезпечити доступ програми до файлу за допомогою оператора OPEN

так, як це було описано вище У Бейсика немає

команди для роздрукування або редагування файлу даних вбудований в нього редактор розрахований тільки на програми (див табл 86) і ніяк не повязаний з описаним вище редактором операційної системи СР / М, В табл 86 наведено список додаткових команд, які можна давати i в Бейсике, що працює під управлінням операційної системи СР / М,

Таблиця 86 Додаткові команди в Бейсике, що працює під управлінням операційної системи СР / М

Приклад команди

Бейсика

Дія

FILES В: * *

LOAD B: MYPROG SAVE В: MYPROG SYSTEM

EDIT 35

Зображує список файлів диска У

Завантажує програму MYPROG BAS з диска У Зберігає програму MYPROG ВAS на диску В Завершує роботу Бейсика і повертає керування операційній системі СР / М Якщо поточна програма не була збережена на диску, то вона буде втрачена Дозволяє почати редагування рядка 35 поточної програми Деякі з команд редагування такі:

L друк поточного рядка

пробіл переміщення курсору до наступного сім-

волові

D – видалення символу

С – заміна поточного символу рядка на наступний набирається символ

I вставка символів (завершується натисканням на клавішу ESC)

повернення – натискання цієї клавіші завершує Редакт-

каретки рование і викликає запамятовування зміненої рядка

Вийдіть з Бейсика в СР / М за допомогою команди SYSTEM і увійдіть в нього знову за допомогою

команди MBASIC Отже, для роботи з файлами операційної системи СР / М можна використовувати будь-яку з наступних двох процедур:

Завантажте ОС СР / М і Бейсік Створіть файли і працюйте з ними програмними засобами так, як це описано в підрозділ 841 та 848 Вийдіть з Бейсика, якщо треба було змінити або роздрукувати ці файли, або

Завантажте СР / М і створіть або роздрукуйте необхідні файли Потім увійдіть в Бейсік і завантажте в його память програми, що використовують ці файли Вийдіть з Бейсика, якщо буде потрібно змінити або роздрукувати ці файли безпосередньо з клавіатури

На закінчення підрозділу коротко опишемо загальні операції для маніпулювання файлами в операційній системі СР / М Почнемо з огляду можливостей редактора

Команда редагування ED має формат

ED имя_файла

Як запрошення до вводу редактор видає зірочку (*) Після її появи можна дати одну з наведених нижче команд редагування Далі через ↑ Z позначений набір Z при клавіші CONTROL, a + або-позначає переміщення до початку або кінця файлу Для завершення редагування вводиться або команда Е, що забезпечує нормальний кінець роботи і збереження редакції в новому файлі, або Q, що забезпечує вихід з редактора без збереження редакції у файлі При внесенні змін до вже існуючого файл після виходу з редактора початкова версія файлу зберігається на диску під імям імя_файлаВАК. Нижче наводиться перелік команд редактора:

nA Додати n рядків

± В Перейти до кінця (+) або початку (-) буфера

± ПС Пересунути поточну позицію редагування на ± n символів

± nD Видалити n символів

Е Завершити редагування і закрити файли

nF Знайти n-е входження зразка: F зразок ↑ Z

Н Завершити

редагування і залишити файли

відкритими

I Вставити символи: I строка_сімволов ↑ Z

nJ Знайти зразок 1 із заміною на зразок 2 всіх наступних символів аж до зразка 3

± пК Видалити (знищити) n рядків

± nL Переміститися вниз (+) або вгору (-) на n

рядків

М Макровизначення

N Знайти зразок з автоматичною підкачкою рядків з вхідного файлу

0 Повернутися до вихідного файлу

± nP Переміститися на n сторінок з печаткою

Q Вийти з редактора без зміни файлу

nS Замінити зразок 1 на зразок 2: S зразок 1

↑ Z зразок 2 ↑ Z

± nT Надрукувати (зобразити) n рядків

± U Оголосити заміну малих літер на прописні (+) або скасувати оголошення

заміни (-)

nW Записати у вихідний файл n рядків

nZ Пропустити n рядків

± n (повернення каретки) переміститися на n рядків і надрукувати нову поточний рядок (еквівалентно ± n L Т)

У СР / М є наступні команди маніпулювання файлами: команда друку довідника файлів DIR, наприклад:

DIR DIR B:

DIR PROG* DIR*PRG

Команда зображення змісту файлу на ВТУ TYPE, наприклад: TYPE SAMPLETXT

TYPE В: FREDAPG

Команда STAT, що видає паспортні дані файлу і відомості про вільну памяті, наприклад: STAT DSK: (інформація про всіх активних дисках)

STAT STAT В:

STAT SAMPLETXT STAT*TXT

Команда видалення файлу ERA, наприклад: ERA SAMPLETXT

ERA*TXT ERA B:*PRG

Команда перейменування файлу REN (змінює імя файлу, вказаного другий, на перше імя),

наприклад:

REN NEWFLTXT =OLDFLPRG RENAB=XY

REN В: FREDAPG = B: JIMВАК

Команда копіювання файлів PIP, наприклад:

PIP A: NEWTXT = B: OLDPRG (скопіювати з OLD в NEW)

За допомогою команди PIP можна скопіювати файл на пристрої: CON:-на консоль (ВТУ), LST:-на принтер, наприклад: PIP CON: = SAMPLETXT PIP LST: = APRG

За допомогою PIP можна копіювати цілком диски, наприклад: Р1Р С: = А: * * 268

табл 87 описані дії, що виконуються операційною системою CP / М при наборі на клавіатурі деяких керуючих символів Врахуйте, Таблиця 87Дія керуючих символів в операційній системі СР / М

керуючий символ

Загального призначення

Дія

RUBOUT / DELETE Видаляє символ, зображуючи його на екрані

CTRL U або CTRL X

Видаляє рядок

CTRL L Використовується після видалення для зображення чистої рядка

CTRL E Дозволяє продовжити набір команди на наступному рядку

CTRL З Перевизов операційної системи СР / М

Інші

CTRL H Повернення на одну позицію

CTRL J (перехід до нового рядка) CTRL M (повернення каретки)

Завершує введення

Завершує набір команди

CTRL P Включає / виключає друк на принтері зявляється на екрані ВТУ зображення

CTRL S Зупиняє / відновлює видачу зображення на екран ВТУ

що при роботі з Бейсиком ці керуючі символи можуть викликати зовсім інші дії

Джерело: Уолш Б Програмування на Бейсике: Пер з англ М: Радіо і звязок, 1988 336 с: ил

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*