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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2012, 14:00   #1
4итер
Пользователь
 
Регистрация: 17.05.2012
Сообщений: 13
По умолчанию error 100: disk read error

Здравствуйте, мне нужно изменить данную процедуру.
Код:
procedure ReadFromTxt(var Matr: TMatr);
const
  Direction = 'C:\File.dat';
var
  FileCh: Text;
  i, j: Byte;
begin
  Assign(FileCh, Direction);
  Reset(FileCh);
  for i:=1 to Max_Value do
    for j:=1 to Max_Value do
      read(FileCh, Matr[i, j]);
  Close(FileCh);
end;
Нужно чтобы программа сама генерировала значения, создавала файл и записывала их в него.
наброски есть, но почему то вылазиет ошибка. помогите пожалуйста

Код:
procedure ReadFromTxt(var Matr: TMatr);
const
  Direction = 'С:\File.dat';
var
 
  i, j: Byte;
  a,a1:integer;
begin
randomize;
  Assign(FileCh, 'С:\File.dat');
  rewrite(FileCh);
 
  for i:=1 to sqr(Max_Value) do begin
  a:=random(65535)-32767;
  write (FileCh,a);
  end;
  close(FileCh);
  reset(FileCh);
  for i:=1 to Max_Value do
    for j:=1 to Max_Value do  begin
      read(FileCh,a1);
      Matr[i, j]:=a1; end;
  Close(FileCh);
end;


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 22.05.2012 в 14:23.
4итер вне форума Ответить с цитированием
Старый 22.05.2012, 14:26   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

если вам реально нужно использовать текстовый файл (меня расширение .dat немножко настораживает - не идёт ли здесь речь о типизированном файле), то рекомендую Вам заменить все write( FileCh, xxx) на WriteLn(FileCh, xxx)
ну и, соответственно, все Read( FileCh, xxx) на ReadLn( FileCh, xxx)

в этом случае каждое число будет располагаться в отдельной строке текстового файла.


p.s. ну и неплохо бы подумать о том, как защить свою программу от отстуствия нужных данных (например, если конец файла встретится раньше, чем будут прочитаны все Max_Value * Max_Value значения!
можно, например, в цикле проверять if Eof( FileCh) then begin ВыдатьОШибку; ПрерватьПрограмму; end;

Последний раз редактировалось Serge_Bliznykov; 22.05.2012 в 14:29.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.05.2012, 14:43   #3
4итер
Пользователь
 
Регистрация: 17.05.2012
Сообщений: 13
По умолчанию

в том то и дело, файл типизированный.
при изменении read и write, получилась еще одна ошибка: invalid file type.
Цитата:
p.s. ну и неплохо бы подумать о том, как защить свою программу от отстуствия нужных данных (например, если конец файла встретится раньше, чем будут прочитаны все Max_Value * Max_Value значения!
А вот про это можно поподробнее, не совсем понял..
4итер вне форума Ответить с цитированием
Старый 22.05.2012, 14:57   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
в том то и дело, файл типизированный.
тогда это ошибка:
Цитата:
Код:
var
  FileCh: Text;
текстовый файл НЕ ЯВЛЯЕТСЯ типизированным!

описывайте файл, например, так:
Код:
var
  FileCh : file of Integer;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.05.2012, 15:05   #5
4итер
Пользователь
 
Регистрация: 17.05.2012
Сообщений: 13
По умолчанию

да, у меня в начале программы это было уже, ну да ладно. ошибка 100 не как не убирается
4итер вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
A disk read error ocured. Deniko Компьютерное железо 0 16.02.2012 14:50
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
CreateBlobStream - error read stream ANsy БД в Delphi 3 04.10.2010 09:23
Ошибка: Disk read error freewix Паскаль, Turbo Pascal, PascalABC.NET 0 06.06.2010 09:23