* Данный текст распознан в автоматическом режиме, поэтому может содержать ошибки
Глава X. Ф а й л ы д а н н ы х 93 день недели: — пн кол-во часов: — 13 Преподаватель: — Иванов И.И. будете еще читать(д н)? д Введите номер записи 2 Число: — 20 день недели: — вт кол-во часов: — 11 Преподаватель: — Петров П.П. будете еще читать(д н)? д Введите номер записи 3 Число: — 2 1 день недели: — ср кол-во часов: — 6 Преподаватель: — Сидоров С.С. будете еще читать(д н)? н Р а б о т а я с файлом прямого доступа, необходимо иметь ввиду, ч т о п о п ы т к а п р о ч и т а т ь несуществующую запись не приводит к ошибке, то есть з а б о т ы о подсчете количества записей в файле программист должен брать на себя. А ч т о б ы д о й т и до конца файла, нужно файл читать как последовательный, про¬ веряя, достигнут ли конец файла, как показано в примере 10.14.3. Т о л ь к о учти¬ те, ч т о в ы получите на одну запись больше. Поэтому лучше самому в програм¬ ме высчитывать число записей и следить, ч т о б ы не п р о ч и т а т ь лишнее, как по¬ казано в примере 10.14.4. Пример 10.14.3: Последовательное чтение файла п р я м о г о доступа CLS TYPE T e s t R e c o r d 'Определяем переменную пользователя c h i s l o AS STRING * 2 'так ж е , как и в программе, которая создавала d e n n e d AS STRING * 2 'этот файл c o l t i m e AS INTEGER f i o AS STRING * 20 END TYPE DIM u c h e t AS T e s t R e c o r d 'определяем тип переменной 'открываем файл OPEN "FINAL.DAT" FOR RANDOM AS # 1 LEN = L E N ( u c h e t ) DO UNTIL EOF(1) 'организуем цикл до конца файла GET # 1 , , u c h e t 'читаем очередную запись 'Печатаем прочитанную запись PRINT "Число:-"; u c h e t . c h i s l o PRINT "день недели:-"; u c h e t . d e n n e d PRINT "кол-во часов:-"; u c h e t . c o l t i m e PRINT "Преподаватель:-"; u c h e t . f i o PRINT " " LOOP 'конец цикла CLOSE 'закрытие файла Пример 10.14.4: