![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
priboltik |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Реальное имя: Константин Репутация: ![]() ![]() ![]() |
доброго времени суток!
Хотелось бы узнать, почему у меня проверка, котторая стоит в модуле не работает в основной программе.. в частности проверка на наличие файла на диске.. модуль: ![]() прога: ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Что значит "не работает"? Все прекрасно работает, запусти программу пошагово и убедись... Другое дело - что ты здесь:
{$I-}закрываешь файл, который в принципе никогда не может быть открытым, причем делаешь это при {$I-}, и при попытке распечатать результат в Case эта ошибка и выходит наружу... |
priboltik |
![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Реальное имя: Константин Репутация: ![]() ![]() ![]() |
Что значит "не работает"? Все прекрасно работает, запусти программу пошагово и убедись... Другое дело - что ты здесь: {$I-}закрываешь файл, который в принципе никогда не может быть открытым, причем делаешь это при {$I-}, и при попытке распечатать результат в Case эта ошибка и выходит наружу... т.е. в принципе загвоздка в том что нужно в модуле файл закрывать. так??? Добавлено через 3 мин. кстати, если при контроль ошибок не выключать, а проверку на IOResult <>0 ставить, то в принципе работать будет??? |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата принципе загвоздка в том что нужно в модуле файл закрывать. Да... Дело-то все в том, что в модуле ты работаешь с локально описанным файлом, который никак не связан с тем, который описан глобально в основной программе...Цитата если при контроль ошибок не выключать, а проверку на IOResult <>0 ставить, то в принципе работать будет??? Нет... Тогда сразу при возникновении ошибки программа прервется. {$I-} маскирует ошибку, чтобы ее можно было проанализировать... |
priboltik |
![]()
Сообщение
#5
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Реальное имя: Константин Репутация: ![]() ![]() ![]() |
Да... Дело-то все в том, что в модуле ты работаешь с локально описанным файлом, который никак не связан с тем, который описан глобально в основной программе... это понятно. спасибо.. Нет... Тогда сразу при возникновении ошибки программа прервется. {$I-} маскирует ошибку, чтобы ее можно было проанализировать... тогда еще вот вопрос: вот текст..
здесь вроде должо все работать.. а ошибка все равно вылетает.... Сообщение отредактировано: priboltik - 4.03.2007 10:20 |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Ты не учитываешь одну очень незначительную деталь:
Цитата(TP Help - IOResult) I/O-checking must be off--{$I-}--to trap I/O errors using IOResult. If an I/O error occurs and I/O-checking is off, all subsequent I/O operations are ignored until a call is made to IOResult. A call to IOResult clears the internal error flag. То есть здесь:until ioresult=0; { <--- } IOResult уже как раз = 0 (ты уже обращался один раз к IOResult, и его значение после обращения было очищено - сброшено в 0), и ты пытаешься читать из файла, которого нет... Решение: repeat |
priboltik |
![]()
Сообщение
#7
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Реальное имя: Константин Репутация: ![]() ![]() ![]() |
Все понятно.. спасибо
![]() |
priboltik |
![]()
Сообщение
#8
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Реальное имя: Константин Репутация: ![]() ![]() ![]() |
так задача вроде работает..вот толко при выводе тех строк, кот. входят в строку, выводится нули.. не могу понять где ошибка..
прога: ![]() Модуль: ![]() |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Нет, так не пойдет... Ты укажи строки, в которых программа работает неверно, а то там у тебя черт ногу сломит - ничего не разберешь...
|
priboltik |
![]()
Сообщение
#10
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Реальное имя: Константин Репутация: ![]() ![]() ![]() |
Нет, так не пойдет... Ты укажи строки, в которых программа работает неверно, а то там у тебя черт ногу сломит - ничего не разберешь... скорее всего где-то здесь Cifr[i] := Cifr[i] + 1; и наверное здесь:
если честно, не очень понимаю, как это здесь делается.. и для чего вообще нужен массив Cifr ....препод написал, а доступно объяснить ему было не судьба... |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Цитата вот толко при выводе тех строк, кот. входят в строку, выводится нули.. В приведенных тобой строках НИЧЕГО не выводится... |
priboltik |
![]()
Сообщение
#12
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Реальное имя: Константин Репутация: ![]() ![]() ![]() |
|
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
Да блин!!! ПОКАЖИ, ГДЕ?????
Твою программу же ЧИТАТЬ невозможно, неужели же ты этого не видишь??? ![]() |
priboltik |
![]()
Сообщение
#14
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Реальное имя: Константин Репутация: ![]() ![]() ![]() |
кстати.. а если мы берем переменную прямо из модуля,ее не нужно ведь описывать в главной программе..????
|
volvo |
![]()
Сообщение
#15
|
Гость ![]() |
Смотря где она описана в модуле...
|
priboltik |
![]()
Сообщение
#16
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Реальное имя: Константин Репутация: ![]() ![]() ![]() |
описана она в модуле как параметр в функции
|
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 18:39 |