Помощь - Поиск - Пользователи - Календарь
Полная версия: error 100: disk read error
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
4итер
Здравствуйте, мне нужно изменить данную процедуру.

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 = 'W:\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;
Krjuger
А где у вас во втором куске кода FileCh: Text; ?????)
И разберитесь с переменными,я вот не вижу откуда у вас взялись значения Max_Value
IUnknown
Цитата
я вот не вижу откуда у вас взялись значения Max_Value
не столько важно, откуда они взялись, где-то переменная описана, иначе бы программа не откомпилировалась, а она работает. Гораздо важнее - какого типа эта переменная. Очень легко получить Error 100, скажем, вот так:

Var max_value : Byte;

// ...
max_value := 100;

, а потом вызвать вот эту процедуру ReadFromTxt. Почему - догадаешься?
4итер
uses
  Crt, Dos;
const
  Line = '-----------------------------------';
  Max_Value = 25;
type
  filechT=file  of integer;
  TMatr = Array[1..Max_Value, 1..Max_Value] of Integer;
var
  Matr: TMatr;
  Res: Real;
  Chr: Char;
  Filech:FileChT;


вот у меня начало программы какое, вроде не должно быть ошибки, или нет?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.