Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 22.05.2012, 14:00   #1
4итер
Пользователь
 
Регистрация: 17.05.2012
Сообщений: 13
Репутация: 10
По умолчанию 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
Сообщений: 24,614
Репутация: 5352
По умолчанию

если вам реально нужно использовать текстовый файл (меня расширение .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
Репутация: 10
По умолчанию

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

Цитата:
в том то и дело, файл типизированный.
тогда это ошибка:
Цитата:
Код:

var
  FileCh: Text;

текстовый файл НЕ ЯВЛЯЕТСЯ типизированным!

описывайте файл, например, так:
Код:

var
  FileCh : file of Integer;

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
A disk read error ocured. Deniko Железо 0 16.02.2012 14:50
disk read error при чтении из типизированного файла Firstchar Паскаль 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 Паскаль 0 06.06.2010 09:23


15:04.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru