Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2011, 23:48   #1
Sergey Bi. старший
 
Регистрация: 03.04.2011
Сообщений: 9
По умолчанию работа с файлом

помогите пожалуйста решить проблему. есть файл, в который записываются данные.
но объём записываемых в него данных ограничен max_voc = 10000. если написать 10001, то выдаёт ошибку "Read Beyond end of file". никак не могу решить этот вопрос. ошибка в строчке

вот фрагмент кода
Код HTML:
const
  max_voc=10000;

  basewords=record
  _word: string[max_length];
  n1,n2,n3: byte;
  n4,n5: string[max_length];
  end;

  baword=array[1..max_voc] of basewords;

  cybertype=record
  _words: baword;
  _vcount: integer;
  end;

  cyberfile=file of cybertype;
  _set=set of 0..10;
Код HTML:
procedure Loadbase;
var
f: cyberfile;
begin
Assignfile(f,basefile);
{$I-}
Reset(f);
{$I+}
If IOResult<>0 then begin
MessageBox(0,'Невозможно открыть файл базы данных! База будет пересоздана.','Внимание',MB_OK);
base._vcount:=0;
end else begin
Read(f,base);    // здесь происходит остановка и вылезает ошибка
Closefile(f);
end;
end;
за любую подсказку буду безмерно благодарен!!

Последний раз редактировалось Sergey Bi. старший; 16.05.2011 в 00:33.
Sergey Bi. старший вне форума Ответить с цитированием
Старый 15.05.2011, 23:51   #2
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

У вас ответ на вопрос в нём же и содержится.

Цитата:
объём записываемых в него данных ограничен max_voc = 10000
Вот и всё. Не делай больше 10000.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 15.05.2011, 23:53   #3
Sergey Bi. старший
 
Регистрация: 03.04.2011
Сообщений: 9
По умолчанию

так задача-то в том, чтобы сделать эту цифру больше, в идеале намного больше.
Sergey Bi. старший вне форума Ответить с цитированием
Старый 16.05.2011, 00:26   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Константа она на то и константа что не изменна.
Человек_Борща вне форума Ответить с цитированием
Старый 16.05.2011, 00:35   #5
Sergey Bi. старший
 
Регистрация: 03.04.2011
Сообщений: 9
По умолчанию

константа здесь не причём. при значении константы больше 10000 программа выдаёт ошибку выхода за пределы конца файла.
Sergey Bi. старший вне форума Ответить с цитированием
Старый 16.05.2011, 10:27   #6
Lifefine
Пользователь
 
Регистрация: 03.10.2008
Сообщений: 93
По умолчанию

выложи проект, посмотрю и с возможностью исправлю.
Lifefine вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлом! Kami-sama Visual C++ 0 07.05.2011 20:48
Работа с файлом.. dimorik Win Api 2 23.03.2010 21:26
Работа с файлом на Си Darh Помощь студентам 2 15.12.2009 23:44
работа с файлом scudo Общие вопросы Delphi 4 12.11.2009 22:52
Работа с файлом ! PPikaso Помощь студентам 3 29.10.2009 14:21