Ошибка записи данных в файл - Pascal
Формулировка задачи:
Программа работает только для 2. а если пытаться записать больше 2, то выдает ошибку (84) : Ошибка времени выполнения: Измерения массива превысили поддерживаемый диапазон. Помогите, пожалуйста, исправить.
Решение задачи: «Ошибка записи данных в файл»
textual
Листинг программы
const fName = 'D:\sciense.okt'; type otkryt = record fam: string[20]; im,str: string[40]; work,otk: string[255]; gr,gs,go: 1..9999; end; procedure CreateFile; var h : otkryt; f : file of otkryt; begin Assign(f, fName); Rewrite(f); h.fam:='Декарт'; h.im:='Рене'; h.str:='Франция'; h.work:='математика'; h.gr:=1596; h.gs:=1650; h.go:=1637; h.otk:='декартовa системa координат'; Write(f, h); h.fam:='Галилей'; h.im:='Галилео'; h.str:='Италия'; h.work:='физика'; h.gr:=1564; h.gs:=1642; h.go:=1600; h.otk:='принцип инерции'; Write(f, h); h.fam:='Лобачевский'; h.im:='Николай'; h.str:='Россия'; h.work:='математика'; h.gr:=1564; h.gs:=1642; h.go:=1829; h.otk:='геометрия Лобачевского'; Write(f, h); Close(f); end; procedure ReadFile; var h : otkryt; f : file of otkryt; begin writeln('Содержание файла ', fName); Assign(f, fName); Reset(f); while Not EOF(f) do begin Read(f, h); writeln(h.fam); end; Close(f); end; begin CreateFile; ReadFile; end.
Объяснение кода листинга программы
- Объявлены константы и переменные:
- const fName = 'D:\sciense.okt';
- type otkryt = record ... end;
- var h: otkryt;
- var f: file of otkryt;
- Создание файла:
- procedure CreateFile;
- var h: otkryt;
- var f: file of otkryt;
- Assign(f, fName);
- Rewrite(f);
- Запись данных в файл (пока не проверялось, правильно ли записываются данные)
- h.fam := 'Декарт'; ...
- h.otk := 'декартовa системa координат';
- Write(f, h);
- ...
- Close(f);
- Чтение файла:
- procedure ReadFile;
- var h: otkryt;
- var f: file of otkryt;
- Assign(f, fName);
- Reset(f);
- while Not EOF(f) do
- begin
- Read(f, h);
- writeln(h.fam);
- end;
- Close(f);
- Запуск программы:
- begin CreateFile;
- ReadFile; end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д