Начальный курс программирования на языке Форт

         

ОТКАЧКА ФАЙЛА


Итак, наш первый пример - простая файловая система1. Это серьезная и полезная программа, которая к тому же является неплохим пособием для изучения хорошего стиля программирования на Форте. Мы разделили этот раздел на три части:

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

Как пользоваться простой файловой системой. Рассматриваемая здесь файловая система позволяет быстро запоминать и восстанавливать информацию. Она мгновенно запоминает (для последующего применения) фамилии людей, их адреса и телефоны2. Вы можете не только вводить, изменять и удалять записи, но и находить файл с любой информацией. Например, по номеру телефона легко установить фамилию абонента, по известной фамилии определить место работы и т. д.

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

Поиск информации. Вы можете просматривать файл в поисках содержимого какого-либо поля, используя слово НАЙТИ, за которым должны следовать имя поля и его содержимое:найти работа диктор<return> Дан Рэйвер ok

Если в поле «работа» содержится строка «диктор», то система выведет фамилию диктора. При отсутствии файла с такими атрибутами система выдаст сообщение: «Сведений нет». В том случае, когда поле с искомыми атрибутами найдено, запись с соответствующей информацией становится текущей. Вы можете вывести содержимое любого поля текущей записи с помощью слова «дать». Например, если вы ввели упомянутую выше строку, то теперь можете написать:дать телефон<return> 555-9876 ок

1 Для пользователей файловой системы. Версии Форта, поставляемые профессиональным программистам, включают намного больше средств для работы с базами данных.

2 Для программистов. Вы легко можете изменить имена или увеличить число полей, обрабатываемых системой.

Команда «найти» применяется только для поиска первого поля с указанными атрибутами.
Для того чтобы добраться до следующего такого поля, воспользуйтесь командой «еще». В частности, чтобы найти еще одного диктора, нужно ввести еще<return> Конни Чанг ok

а затем еще<return> Франк Рейнольда ok

Если в данном файле больше нет сведений о дикторах, то при посылке команды «еще» вы получите сообщение: «Больше нет», т.е. полей с такими атрибутами в файле не осталось.

Для получения списка лиц, у которых в соответствующем поле информация совпадает с атрибутами, применявшимися при последнем поиске, введите команду «все»: все

Дэн Рэйэер Конни Чанг Фрэнк Рейнольда ok

Так как фамилия и имя хранятся порознь, вы можете организовать поиск с помощью команды «найти» по одному из этих атрибутов. Но если вам известны и имя, и фамилия человека, которого вы ищете, то для экономии времени можно осуществлять поиск сразу по двум полям, используя слово «фио». С этой целью вы должны задать слову «фио» имя и фамилию, причем фамилию нужно задать первым операндом и отделить его от второго операнда запятой, например:фио Уандэр,Стив<return> Стив Уандэр ok

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

С помощью слова «пара» вы можете осуществить поиск любой пары полей, для чего необходимо задать имена обоих полей и их содержимое, разделив операнды запятой. В частности, чтобы найти некоего комментатора по имени Дан, вы должны ввести: пара работа диктор,имя Дэн<return> Дэн Рэйвер ok



Сопровождение файлов
. Если вам требуется ввести новую запись, вы должны применить команду «внести», разместив за ней операнды: фамилия, имя, место работы, телефон, причем операнды отделяются только запятой, например:внести Нуреев,Рудольф,танцовщик балета,355-1234<return> ok

Изменить содержимое единственного поля внутри текущей записи вы можете с помощью команды «изменить», расположив за ней имя этого поля, а затем новое содержимое последнего:изменить работа хореограф<return> ok

Для удаления текущей записи вы должны ввести команду «удалить»:удалитъ<return> ок

После того как вы что-то добавляли к записям, модифицировали их либо удаляли, обязательно введите слово FLUSH, если собираетесь отключить компьютер или сменить диск: FLUSH ok


Содержание раздела