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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2011, 20:03   #1
Max1548
Пользователь
 
Регистрация: 28.05.2011
Сообщений: 99
Восклицание Ошибка чтения из файла в переменную типа integer

program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
inp, out: file of integer;
A, B, C, i, count: integer;
passed: boolean;
begin
Assign(inp, 'C:\input.in');
Assign(out, 'C:\output.out');
Reset(inp);
Read(inp, A, B, C);
// Read(inp
Close(inp);
Rewrite(out);
count := 1;
Writeln(A, ' ', B, ' ', C);
Readln;
passed := false;
for i:=1 to C do
begin
if passed = true then
begin
count := count + B;
passed := false;
Writeln(count);
end
else
begin
count := count + A;
passed := true;
Writeln(count);
end
end;
Write(count);
Write(out, count);
Readln
end.
На read(inp, a, b, c) выпадает ошибка read beyon of file
OS - [||-----------------------------------------------] забил, дойдя до драйвера памяти
Max1548 вне форума Ответить с цитированием
Старый 11.10.2011, 20:21   #2
Silver_S
Форумчанин
 
Регистрация: 14.03.2011
Сообщений: 104
По умолчанию

Read(inp, A, B, C) - пытается считать из файла 12 байт (SizeOf(integer) * 3).
Если размер файла меньше, то выпадает приведенная вами ошибка.

В общем копайте в сторону содержимого своего файла.
Silver_S вне форума Ответить с цитированием
Старый 12.10.2011, 12:34   #3
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Файл в студию. Более чем уверен , что там вы ручками вписали цифры в виде текста. Если я прав, то вам достаточно создать файл с числом 000011112222 в одну строку и после двоек зажать недолго delete (чтобы удалить возможные переводы строк) и сохранить фаил, при этом получите числа 30h30h30h30h = 808464432 , аналогично 825307441 и 842150450. Если хотите нормальные числа а не по 800 миллионов, то используйте либо шестнадцатеричный редактор , либо записывайте файл программно (напишите простенькую прогу на паскале)
А вот насчет чтения файла (предыдущий пост) я сомневаюсь - файл объявлен как file of integer и читать он будет как раз блоками по 4 байта и в переменные соответствующие, файл же типизированный

Последний раз редактировалось phomm; 12.10.2011 в 12:40.
phomm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка чтения файла Umnik1 Общие вопросы Delphi 12 25.06.2013 22:57
Ошибка чтения сохранённого файла(картинки) alex77755 Microsoft Office Excel 10 28.10.2010 14:46
Как умножить переменную типа byte на integer или extended (Delphi 7) IronFire Помощь студентам 2 23.10.2010 18:04
как переменную типа TFont перевести в тип integer? делфи_6 Общие вопросы Delphi 8 26.05.2010 06:02
к переменной типа integer присвоить переменную string Kigmatig Помощь студентам 7 29.01.2010 21:55