Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Чтение строки из фаила выдаёт страшную ошибку


ALEKCEY ©   (2004-10-22 16:08:00) 

Люди может я жутко торможу, но почему не работает процедура LoadBase? При попытке чтения из фаила она выдаёт ошибку и закрывается?

в фаиле ludi.txt названия txt'ек с параметрами людей.

const
max_ludi = 5000;

type Tedit = record
a: array [1..20] of string;
end;

var
 ludi: array [1..max_ludi] of Tedit;
 list: array [1..max_ludi] of string;

procedure LoadList;
var f:textfile;
   i: integer;
begin
i:=0;
assignfile(f,'ludi.txt');
reset(f);
 repeat inc(i);
   readln(f, list[i]);
 until list[i]=';';
closefile(f);
end;

procedure LoadBase;
var f:textfile;
   s:string;
   i, i1: integer;
begin
i:=0;
repeat inc(i);
 assignfile(f,list[i]);
  readln(f, ludi[i].a[1]);
  readln(f, ludi[i].a[2]);
  readln(f, ludi[i].a[3]);
  readln(f, ludi[i].a[4]);
  readln(f, ludi[i].a[5]);
  readln(f, ludi[i].a[6]);
  readln(f, ludi[i].a[7]);
  readln(f, ludi[i].a[8]);
  readln(f, ludi[i].a[9]);
  readln(f, ludi[i].a[10]);
  readln(f, ludi[i].a[11]);
  readln(f, ludi[i].a[12]);
  readln(f, ludi[i].a[13]);
  readln(f, ludi[i].a[14]);
  readln(f, ludi[i].a[15]);
  readln(f, ludi[i].a[16]);
  readln(f, ludi[i].a[17]);
  readln(f, ludi[i].a[18]);
  readln(f, ludi[i].a[19]);
  read(f, ludi[i].a[20]);
  {i1:=0;
  repeat inc(i1);
   readln(f, ludi[i].a[i1]);
  until i1=20;  }
 closefile(f); //закрываем фаил
until list[i+1]=';';
end;


wnew   (2004-10-22 20:37:00) [1]

Чёрт! Фиг знает что:)
while (not Eof) and (not List[i]=';') and (i <= max_ludi)


wnew   (2004-10-22 20:35:00) [2]

wnew ©   (22.10.04 20:33) [7]

> while (not Eof) and (not List[i]=';') and (i <=
> max_ludi)

while (not Eof(f)) and (not List[i]=';') and (i <=
> max_ludi)


begin...end   (2004-10-22 20:34:00) [3]

Может, у тебя файл пустой?


wnew   (2004-10-22 20:33:00) [4]

ALEKCEY   (22.10.04 20:22) [4]
:)
procedure LoadList;
var f:textfile;
  i: integer;
begin
i:=0;
assignfile(f,'ludi.txt');
reset(f);
while (not Eof) and (not List[i]=';') and (i <= max_ludi)
begin
  inc(i);
  readln(f, list[i]);
end;
closefile(f);
end;


begin...end   (2004-10-22 20:25:00) [5]


> [4] ALEKCEY   (22.10.04 20:22)

Текст ошибки?


jack128   (2004-10-22 20:24:00) [6]

страшна не ошибка.. Страшен этот код..

>readln(f, ludi[i].a[1]);
>  readln(f, ludi[i].a[2]);
>  readln(f, ludi[i].a[3]);
>  readln(f, ludi[i].a[4]);
>  readln(f, ludi[i].a[5]);
>  readln(f, ludi[i].a[6]);
>  readln(f, ludi[i].a[7]);
>  readln(f, ludi[i].a[8]);
>  readln(f, ludi[i].a[9]);
>  readln(f, ludi[i].a[10]);
>  readln(f, ludi[i].a[11]);
>  readln(f, ludi[i].a[12]);
>  readln(f, ludi[i].a[13]);
>  readln(f, ludi[i].a[14]);
>  readln(f, ludi[i].a[15]);
>  readln(f, ludi[i].a[16]);
>  readln(f, ludi[i].a[17]);
>  readln(f, ludi[i].a[18]);
>  readln(f, ludi[i].a[19]);
>  


ALEKCEY   (2004-10-22 20:22:00) [7]

продлемма в первом readln. reset(f) не помогает.

А ошибка страшная, за 4 года такого со мной ещё ни разу не случалось :(


Anatoly Podgoretsky   (2004-10-22 16:32:00) [8]

Алексей Петухов   (22.10.04 16:11) [1]
Где СТРАШНАЯ ошибка?


MacroDenS   (2004-10-22 16:13:00) [9]

А где reset(f)?????
поставька его после assignfile


Алексей Петухов   (2004-10-22 16:11:00) [10]

Где ошибка?
В первом readln?


Наверх

Титульная страница Поиск, карта сайта Написать письмо