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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2010, 19:04   #1
cyberandom
Пользователь
 
Регистрация: 21.01.2010
Сообщений: 35
Восклицание Проблемы с чтением данных в Delphi

В Delphi я хотел считать две переменных из файла, программа откомпилировалась без ошибок, но при запуске появляется сообщение "Project sum.exe raised exception class EInOutError with message 'invalid numeric input'.". Я попробовал ввести числа с клавиатуры, но изменений не было. Смена типа с int64 на integer не работает.
Код:
program sum;

uses
  SysUtils;

var
 a, b: int64;
begin
  try
    { TODO -oUser -cConsole Main : Insert code here }
  except
    on E:Exception do
      Writeln(E.Classname, ': ', E.Message);
  end;
  Assign(input, 'input.txt'); Reset(input);
  Assign(output, 'output.txt'); Rewrite(output);
  Read(a, b);
  Write(a+b);
end.


Заранее спасибо.
cyberandom вне форума Ответить с цитированием
Старый 04.02.2010, 20:05   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1) ошибка - вместо Assign надо использовать AssingFile
2) я бы в начале программы описал файловые переменные var input, output : TextFile;
3) если открываете файл (хоть на чтение, хоть на запись), то не забывайте закрывать его через CloseFile()
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.02.2010, 20:15   #3
cyberandom
Пользователь
 
Регистрация: 21.01.2010
Сообщений: 35
По умолчанию

Необязательно, во всех языках с синтаксисом Паскаля стандартно объявлены две файловые переменные: input и output, их не нужно объявлять, закрывать и подписывать Read(input, a); Да и я же сказал что дело не в файлах - я пробовал вводить через клавиатуру, то же самое выходит. Если бы ошибки были из-за неправильного описания файлов, он бы не откомпилировал прогу.
cyberandom вне форума Ответить с цитированием
Старый 04.02.2010, 21:59   #4
maxionans
Форумчанин
 
Аватар для maxionans
 
Регистрация: 02.01.2010
Сообщений: 254
По умолчанию

Зачем убрал директиву {$APPTYPE CONSOLE}? Либо её добавь, либо вызывай AllocConsole перед работой со стандартным вводом/выводом.
maxionans вне форума Ответить с цитированием
Старый 04.02.2010, 22:12   #5
cyberandom
Пользователь
 
Регистрация: 21.01.2010
Сообщений: 35
По умолчанию

Я добавил {$APPTYPE CONSOLE} и ничего не изменилось. А как вызывать AllocConsole? Никогда о нём не слышал просто.

Написал заново, ничего не удаляя, та же проблема.

Последний раз редактировалось cyberandom; 04.02.2010 в 22:22.
cyberandom вне форума Ответить с цитированием
Старый 05.02.2010, 09:23   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
cyberandom
У меня твой код сработал на ура
Файл Input выглядит так:
Цитата:
1 2 3
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.02.2010, 10:40   #7
cyberandom
Пользователь
 
Регистрация: 21.01.2010
Сообщений: 35
По умолчанию

У тебя какой компилятор? Наверное дело в нём.
cyberandom вне форума Ответить с цитированием
Старый 05.02.2010, 11:21   #8
maxionans
Форумчанин
 
Аватар для maxionans
 
Регистрация: 02.01.2010
Сообщений: 254
По умолчанию

Хе, я когда отвечал первый раз, код твой толком и не глянул. AllocConsole и {$APPTYPE} там ни при чем. Посмотри, что у тебя в файле input.txt - наверное, целыми числами там только пахнет
maxionans вне форума Ответить с цитированием
Старый 05.02.2010, 11:57   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от maxionans
Посмотри, что у тебя в файле input.txt - наверное, целыми числами там только пахнет
maxionans, +100
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.02.2010, 12:18   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Наверное дело в нём.
Нет. Однозначно не в нем )
Ты в input что впиндюрил?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с форматом данных maxic Microsoft Office Excel 9 17.09.2009 16:33
проблемы экспорта данных из DBGrid в Excel GhostBZ БД в Delphi 11 31.08.2009 07:20
Проблемы с записью данных в базу Serval БД в Delphi 4 24.06.2009 19:39
Проблемы с типами данных в Delphi Paul11j Помощь студентам 4 15.05.2009 22:59
Проблемы с динамической структурой данных Mailz Общие вопросы C/C++ 1 21.05.2008 00:18