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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2013, 06:48   #1
yzen
Пользователь
 
Регистрация: 02.10.2012
Сообщений: 37
По умолчанию Не считывает из файла.Disk read error

Код:
type 
           tablo=record
           name:string[10];
           tim:integer;
           coin:integer;
           end;
Код:
procedure records;
var key:char;
    y: integer;
    f: file of tablo;
    om:tablo;
    s:string;
begin
setcolor(blue);
setfillstyle(2,blue);
bar(200,100,450,400);
setcolor(red);
setfillstyle(1,red);
bar(220,120,430,380);
setcolor(black);
outtextxy(225,127,'Name');
outtextxy(300,127,'Coins');
outtextxy(360,127,'Time');
line(220,135,430,135);
line(290,100,290,380);
line(350,100,350,380);
y:=140;
assign(f,'records.ble');
reset(f);
while not eof(f) do begin
                    read(f,om);
                    outtextxy(225,y,om.name);
                    str(om.coin,s);
                    outtextxy(300,y,s);
                    str(om.tim,s);
                    outtextxy(360,y,s);
                    y:=y+20;
                    end;

repeat
key:=readkey;
until key=#13;
menu(name);
end;
Выдает ошибку на строчке read(f,om);

Вот так заполняю:
Код:
program dno;
uses crt;
type tablo = record
             name:string[10];
             tim:integer;
             coin:integer;
             end;
var f:file of tablo;

procedure prov(ff:file of tablo);
var omg:tablo; i,t:integer;
a:string;
begin
assign(ff,'records.ble');
rewrite(ff);
                  omg.name:='Andrey';
                  omg.tim:=245;
                  omg.coin:=21345;
                  write(ff,omg);
a:='abc';
t:=5;
for i:=2 to 10 do begin
                  omg.name:=a;
                  omg.tim:=t;
                  omg.coin:=t;
                  write(ff,omg);
                  end;
close(ff);
begin
prov(f);

end.
если в tablo=record перемнный tim и coin сделать string, то считывает все норм.
Но дальше мне нужно сравнить их с целым числом, пробовал так
t:integer;
......
Int(omg.tim,t);
но не как не работает

И как сделать хз уже
yzen вне форума Ответить с цитированием
Старый 11.06.2013, 09:57   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

на 99% проблема связана с тем, что в одной программе (которая создавала файл) тип tablo был описан НЕ так, как в той программе, которая этот файл пытается прочитать.

сделайте следующее.
1) удалите файл records.ble
2) убедитесь, что описания типов ПОЛНОСТЬЮ совпадают! (а лучше скопируйте copy-paste описание типа tablo)
3) убедитесь, что EXE-шники программ находятся в одном и том же каталоге - т.е. убедитесь, что обе программы работают с одним и тем же файлом records.ble
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.06.2013, 10:18   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

А так же желательно озвучить Ваш компилятор, т.к. у меня всё работает! (Free Pascal)
(код)
Poma][a вне форума Ответить с цитированием
Старый 11.06.2013, 15:31   #4
yzen
Пользователь
 
Регистрация: 02.10.2012
Сообщений: 37
По умолчанию

Все, спасибо)
Разобрался.
Я затупок))
Программу делаю в Turbo pascal , а файл заполнял в программе которую сделал в Pascal ABC.

Видимо кодировка не много разная. Т.к. в абц считывало все норм, а там не как.
yzen вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
error 100: disk read error 4итер Паскаль, Turbo Pascal, PascalABC.NET 4 22.05.2012 15:05
disk read error при чтении из типизированного файла Firstchar Паскаль, Turbo Pascal, PascalABC.NET 4 02.02.2012 12:24
Turbo Pascal - при чтении типизированного файла #100 Disk read error triple A Помощь студентам 9 16.05.2011 22:38
Ошибка: Disk read error freewix Паскаль, Turbo Pascal, PascalABC.NET 0 06.06.2010 09:23