IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> Процесс компиляции,отключение проверки ошибок, Процедура вызывает процедуру.
klem4
сообщение 29.01.2005 17:51
Сообщение #1


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Возникла проблемма.

В программе несколько процедур, все немного запутано, одна процедура в последстыии должна вызвать другую, а та какую нибудть еще и обратно, и еще как нибудь smile.gif

Но компилятор ругается, если в процедуре B происходит вызов процедуры A
, которая описана выше. Вроде можно отключить процесс проверки ошибок на этапе компиляции, но в этом случае программа будет правильно работать ?

Можно ли как-то установить последовательность компиляции процедур ?


Спасибо.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 30.01.2005 17:08
Сообщение #2


Гость






Ну не знаю, как насчет ошибок, а вот условие (в процедуре Search):
Код
while (not(eof(file_s)))and(not(SearchPoint)) do

можно было бы переписать, как:
Код
while not(eof(file_s) or SearchPoint) do

;)

Но это не главное. Ошибка тоже присутствует (основная программа):
Код
assign(file_s,'Data.dat');
reset(file_s);
if not(IOResult<>0) then...

Этот фрагмент закончится аварийно при самом первом запуске (когда еще нет файла "Data.dat"). Исправляем - заключаем Reset в пару соответствующих директив компилятора (заодно исправил и условие, почему тебе так нравится NOT - не понимаю...):
Код
assign(file_s,'Data.dat');
{$I-} reset(file_s); {$I+}
if IOResult = 0 then ...

Вот теперь при отсутствии файла программа не "вылетит", и ты сможешь обработать результат ввода/вывода (IOResult)...

Еще замечу - допишу...

Сообщение отредактировано: volvo - 30.01.2005 17:09
 К началу страницы 
+ Ответить 

Сообщений в этой теме
klem4   Процесс компиляции,отключение проверки ошибок   29.01.2005 17:51
volvo   klem4 Вообще-то в Паскале принята последовательна...   29.01.2005 17:55
Altair   Он бы тогда не ругался!   29.01.2005 18:22
klem4   Процедура output вызывает процедуру menu, которая ...   29.01.2005 18:22
klem4   Я просто перепутал, которая находится ниже.   29.01.2005 18:25
Altair   тогда скомпилировать нельзя   29.01.2005 18:28
volvo   klem4 перед описанием Output поставь procedure me...   29.01.2005 18:29
klem4   Эхх, плохи мои дела :) Компилируется -> меню -...   29.01.2005 18:35
volvo   klem4 А знаешь почему? Ты обрабатываешь IOResult?...   29.01.2005 18:49
volvo   Плюс к этому, у тебя в процедуре Menu закрывается ...   29.01.2005 21:38
klem4   Ну вот. Не очень красиво конечно, но работает врод...   30.01.2005 16:48
volvo   Ну не знаю, как насчет ошибок, а вот условие (в пр...   30.01.2005 17:08
APAL   Кошмар, какое расточительство.... :) а может ка...   30.01.2005 17:29
klem4   2Apal, учту, исправлю. 2Volvo , учту, исправлю, н...   30.01.2005 17:42
volvo   klem4 Как видно, у тебя в меню Options -> Com...   30.01.2005 17:50
klem4   Я вот что-то не понял, то есть если я на другом ко...   30.01.2005 17:56
volvo   Я сейчас запустил EXE (скомпиленный из твоего исхо...   30.01.2005 18:10
klem4   Даа интересно, я исправил, как ты показал, все, по...   30.01.2005 18:15


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.06.2025 21:37
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"