![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 | |
Форумчанин
Регистрация: 24.05.2009
Сообщений: 119
|
![]()
всем приветик!!!
![]() Вот мое задание Цитата:
Что я не так сделала??? ![]() Подскажите пожалуста... Код:
|
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
![]()
Ошибки:
1. При записи в файл в процедуре Sohr. Команда write(tmpF, stat); записывает в файл весь массив, т.е. ты сохраняешь массив n раз. 2. При загрузке из файла в процедуре Zagr. Ты считываешь массив n раз, т.к. он был записан несколько раз. + если выключить, а затем снова запустить программу, то при загрузке переменная n будет иметь неопределенное значение (точнее 0) и загруженные данные не будут отображены. Лучше объявить тип файла не как массив, а как файл записей, т.е. Код:
Код:
Код:
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". Последний раз редактировалось Daramant; 21.07.2009 в 19:15. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 24.05.2009
Сообщений: 119
|
![]()
Daramant
спасибо! очень здорово получилось! Обьясните мне одну вещь - вот вы использовали счетчик, это обязательно нужно??? Код:
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
![]()
Мы не знаем сколько записей в файле. Поэтому используем цикл:
while not EOF (tmpF) do При чтении записи увеличиваем i на единицу. ( Inc(i); <=> i := i + 1;) Т.е. первую запись запишем в массив под индексом 1. Вторую под индексом 2. Для подсчета записей я и использую i; После завершения цикла i будет равно количеству записей, прочтенных из файла.
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 24.05.2009
Сообщений: 119
|
![]()
Daramant
спасибо Теперь ясно! Извините за занудство...но я хочу все знать. Вот я просто в качестве эксперимента попробывала без счетчика, но ведь все также считывается... Как это вы обьясните??? Код:
|
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Просто у Вас условие
Цитата:
|
|
![]() |
![]() |
![]() |
#7 | ||
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
![]() Цитата:
![]() Цитата:
Вызывается процедура. i локальная переменная, автоматически она не инициализируется. Т.е. она имеет какое-то случайное значение. Если это значение будет больше чем размерность массива (100), то будет исключение (ошибка) - выход индекса за пределы массива. У меня i было равно 23 (у тебя, возможно, другое значение). Далее: Считывается первая запись. Она записывается в массив по индексу state[23] (т.к. i = 23). Выводится на экран. Считывается вторая запись. Она записывается в массив по индексу state[23] (т.к. i = 23). Т.е. затерает предыдущую запись. Выводится на экран. И так все записи. Т.е. записи на экран выведутся верно, но в массиве в неизвестном месте (у меня это state[23]) будет находиться лишь последняя запись. Попробуй загрузить таким образом записи, замет сохранить их и опять загрузить. У меня они загрузились не корректно.
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". Последний раз редактировалось Daramant; 21.07.2009 в 20:22. |
||
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 24.05.2009
Сообщений: 119
|
![]() |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Я и говорю, что по условию у Вас создать массив записей вводом или чтением из существующего файла. Поэтому при чтении файла нужен счетчик. А просто ввести некоторое количество записей в файл, или вывести их из файла, массив не нужен.
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 24.05.2009
Сообщений: 119
|
![]()
Daramant
Все поняла теперь!!! ![]() СПАСИБО Большое за обьяснения (хотела поставить вам отзыв, только что-то не получается...окно какое-то вылезает) |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Загрузка данных из файла | JIK | Помощь студентам | 4 | 19.05.2013 12:17 |
Cортировка типизированного файла по 3м признакам | Dremgor | Помощь студентам | 3 | 05.06.2009 14:10 |
загрузка данных из тестового файла | gribog | БД в Delphi | 16 | 19.07.2007 15:06 |