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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2012, 16:18   #1
4итер
Пользователь
 
Регистрация: 17.05.2012
Сообщений: 13
По умолчанию Создание файла и запись в него

Вопрос в следующем, появляется ошибка, а убрать ее ни как не могу, помогите справиться с ней. Ошибка Error 106: Invalid numeric format

Код:
uses crt;

const
  Line = '-----------------------------------';
  Max_Value = 25;
type
  TMatr = Array[1..Max_Value, 1..Max_Value] of Integer;
var
  Matr: TMatr;
  Res: Real;
  Chr: Char;
procedure ReadFromTxt(var Matr: TMatr);
var
  filech:text;
  i, j: Byte;
  a,a1:integer;
begin
randomize;
  Assign(FileCh, 'C:\File.txt');
  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;

procedure PrintMatrix(Matr: TMatr);
var
  i, j: Byte;
begin
  writeln('Ìàòðèöà: ');
  for i:=1 to Max_Value do
  begin
    for j:=1 to Max_Value do
      write(Matr[i, j]:4);
    writeln;
  end;
end;
4итер вне форума Ответить с цитированием
Старый 24.05.2012, 18:59   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

А что в файле - смотрел?
s-andriano вне форума Ответить с цитированием
Старый 24.05.2012, 20:00   #3
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Код:
for i:=1 to sqr(Max_Value) do begin
  a:=random(65535)-32767;
  write (FileCh,a);
  end;
А если посмотреть на этот код повнимательнее?
Как правильно отмечено s-andriano, см. файл C:\File.txt.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 24.05.2012, 22:29   #4
4итер
Пользователь
 
Регистрация: 17.05.2012
Сообщений: 13
По умолчанию

там нет ничего,
Код:
read(FileCh,a1);
на этой строчке ошибку выдает
4итер вне форума Ответить с цитированием
Старый 24.05.2012, 23:42   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

4итер, я разве не вам отвечал?!
что либо пишите разделители в текстовый файл (проще всего - каждое число в ОТДЕЛЬНОЙ СТРОКЕ. для этого вместо
write (FileCh,a);
напишите writeln (FileCh,a);
ну и чтение - readln(FileCh, a)

либо сделайте файл ТИПИЗИРОВАННЫМ:
Код:
var
  filech: file of integer;

p.s. как вам правильно сказали - посмотрите внутрь своего файла - там же числа все подряд неразделённые записаны,
чтото вроде 123443322323125856722723232782
(а числа были, наприме, 12, 34, 433, 22 и т.д.)
вот прочитать и не получается!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
агрегатор и встройка в него xml-файла ArtBilly Помощь студентам 0 23.03.2012 10:29
чтение из файла и запись в него Dycek Общие вопросы C/C++ 3 25.12.2010 21:02
Поиск файла по фразе из него Sawoq12 Общие вопросы Delphi 2 17.04.2010 03:21
создание выпадающего списка с добавлением в него новых строчек reznik Microsoft Office Excel 3 26.02.2010 22:34
Запись в файл и чтение из него. Swool Общие вопросы C/C++ 8 26.08.2008 16:39