Перехват ошибки открытия файла и диалог открытия файла

Работа с файлами и базами данных
tumanovalex

Activity
assistant
assistant
Сообщения: 132
Зарегистрирован: 23 ноя 2007, 16:44
Награды: 1
Версия LabVIEW: 7.1;8.5.1
Откуда: Москва
Благодарил (а): 2 раза

Перехват ошибки открытия файла и диалог открытия файла

Сообщение tumanovalex »

Подскажите, пожалуйста, как вместо системного сообщения об ошибке открытия файла при использовании файловой функции чтения символов (интересует эта задача и для других файловых функций) перехватить ошибку открытия файла (в случае жестко заданного пути) и сделать диалог с собственным заголовком (в случае пустого пути). Прикрепляю свой проект.
Вложения
File Open Error.zip
(435.85 КБ) 167 скачиваний
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Перехват ошибки открытия файла и диалог открытия файла

Сообщение Eugen Graf »

Simple Error Handler тебе в помощь.
Eugene

Activity Bronze
leader
leader
Сообщения: 548
Зарегистрирован: 20 авг 2009, 17:58
Награды: 2
Версия LabVIEW: 2011
Контактная информация:

Re: Перехват ошибки открытия файла и диалог открытия файла

Сообщение Eugene »

достаточно сложно перехватить ошибку например при использовании Read Characters From file function в ней Simple Error Handler зашит внутри. Поэтому мне кажется что корректней проверять наличие файла с помощью Check If File or Folder Exists.
We live in a graphical world.
Why not program in one?
tumanovalex

Activity
assistant
assistant
Сообщения: 132
Зарегистрирован: 23 ноя 2007, 16:44
Награды: 1
Версия LabVIEW: 7.1;8.5.1
Откуда: Москва
Благодарил (а): 2 раза

Re: Перехват ошибки открытия файла и диалог открытия файла

Сообщение tumanovalex »

В версии 7.1 Check If File or Folder Exists я не нашел. Я так и не смог перехватить сообщение для Read Characters From file. Решил попробовать перехватить ошибку с помощью Open File (путем изменения имени файла), тоже не получилось. Причем функцию Read Characters я убирал. Наверное, я обработку ошибок в принципе делаю неправильно. Посмотрите, пожалуйста, мой пример. Может быть есть статья или подробные материалы вообще об обработке ошибок в LabView и в частности об обработке ошибок файловых операций?
Вложения
Перехват ошибки открытия файла.vi
(2.03 МБ) 164 скачивания
Eugene

Activity Bronze
leader
leader
Сообщения: 548
Зарегистрирован: 20 авг 2009, 17:58
Награды: 2
Версия LabVIEW: 2011
Контактная информация:

Re: Перехват ошибки открытия файла и диалог открытия файла

Сообщение Eugene »

в 7.1 ее и не было....можешь открыть Read Characters From file и там перехватывать (только желательно пересохранить ) например поставить case и в случае ошибки что то делать, в зависимости от требовании проги
We live in a graphical world.
Why not program in one?
tumanovalex

Activity
assistant
assistant
Сообщения: 132
Зарегистрирован: 23 ноя 2007, 16:44
Награды: 1
Версия LabVIEW: 7.1;8.5.1
Откуда: Москва
Благодарил (а): 2 раза

Re: Перехват ошибки открытия файла и диалог открытия файла

Сообщение tumanovalex »

К сожалению, мне не удалось перехватить ошибку и для фунции Open, которая имее вывод ошибки. Все равно выскакивает системная ошибка, а не мое сообщение. Подскажите, пожалуйста, что я делаю неправильно.
Вложения
Перехват ошибки.zip
(29.45 КБ) 163 скачивания
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: Перехват ошибки открытия файла и диалог открытия файла

Сообщение mzu2006 »

tumanovalex писал(а): сожалению, мне не удалось перехватить ошибку и для фунции Open
Убери обработчик ошибок. Или измени тип диалога. Или свой поставь, например, так:
Вложения
1.png
1.png (18.48 КБ) 6610 просмотров
Последний раз редактировалось mzu2006 25 авг 2009, 14:08, всего редактировалось 1 раз.
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Перехват ошибки открытия файла и диалог открытия файла

Сообщение FireFly »

mzu2006 писал(а):А что хочется-то?
tumanovalex писал(а):Подскажите, пожалуйста, как вместо системного сообщения об ошибке открытия файла... сделать диалог с собственным заголовком
Единственное что не не понятно так это что именно хочет tumanovalex вывести пользователю. Вроде как не просто информацию об ошибке со своим текстом, а, например, вопрос о дальнейшем действии. Или я не прав? Если прав то наверное лучше всего воспользоваться Two Button Dialog Function в Case структуре, на селекторе которой распотрошённая (Unbundle) ошибка.
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Eugene

Activity Bronze
leader
leader
Сообщения: 548
Зарегистрирован: 20 авг 2009, 17:58
Награды: 2
Версия LabVIEW: 2011
Контактная информация:

Re: Перехват ошибки открытия файла и диалог открытия файла

Сообщение Eugene »

и соедени error cluster к case и там решай что делать
We live in a graphical world.
Why not program in one?
Eugene

Activity Bronze
leader
leader
Сообщения: 548
Зарегистрирован: 20 авг 2009, 17:58
Награды: 2
Версия LabVIEW: 2011
Контактная информация:

Re: Перехват ошибки открытия файла и диалог открытия файла

Сообщение Eugene »

а, я почему то не всегда вижу все ответы...поэтому собственные не к месту :)
mzu2006 и FireFly уже ответили
We live in a graphical world.
Why not program in one?
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Перехват ошибки открытия файла и диалог открытия файла

Сообщение FireFly »

Мы просто шустрые :)

И "вообще лучше перебдеть чем недобдеть" :haha: в том смысле что лучше три ответа, чем ни одного. Да и обычно если есть несколько ответов с одной сутью, но разными словами, то это понятнее и полезнее.
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
tumanovalex

Activity
assistant
assistant
Сообщения: 132
Зарегистрирован: 23 ноя 2007, 16:44
Награды: 1
Версия LabVIEW: 7.1;8.5.1
Откуда: Москва
Благодарил (а): 2 раза

Re: Перехват ошибки открытия файла и диалог открытия файла

Сообщение tumanovalex »

Наконец то что-то получилось. Теперь хотелось бы, чтобы в появившемся окне с сообщением об ошибке был заголовок и восклицательный знак. Можно такое сделать? Хотел бы также попросить пример использования функций Error Handler. А то получилось, что и без них в моем случае можно обойтись. А хотелось бы узнать, в каких случаях нужно использовать функцию и как.
Вложения
Перехват ошибки.jpg
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Перехват ошибки открытия файла и диалог открытия файла

Сообщение FireFly »

tumanovalex писал(а):Теперь хотелось бы, чтобы в появившемся окне с сообщением об ошибке был заголовок и восклицательный знак. Можно такое сделать?
Кажется в LabVIEW для такой задачи нет готовой функции. Нужно будет вместо Two Button Dialog Function делать новую SubVI открывающуюся в отдельном окне и настраивать её FP нужным вам образом (заголовок, кнопки, восклицательный знак, наличие toolbar, menu, scrolls).

В принципе если вы сделаете это в виде SubVI с параметрами, то можете даже выложить её на форуме, может оказаться полезной штукой и для других. Или можете приберечь её для конкурса на самую полезную SubVI который начнется осенью (насколько я знаю).
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
crashwork

Activity Silver
adviser
adviser
Сообщения: 205
Зарегистрирован: 17 фев 2009, 19:57
Награды: 2
Версия LabVIEW: 8.5, 9.0
Откуда: Украина. Кременчуг
Контактная информация:

Re: Перехват ошибки открытия файла и диалог открытия файла

Сообщение crashwork »

FireFly писал(а): Кажется в LabVIEW для такой задачи нет готовой функции. Нужно будет вместо Two Button Dialog Function делать новую SubVI открывающуюся в отдельном окне и настраивать её FP нужным вам образом (заголовок, кнопки, восклицательный знак, наличие toolbar, menu, scrolls).
Я когда только знакомился с С++ builder не знал что у него есть готовые функции по созданию окон предупрежления и ошибок потому создавал свои.
Отсюда предложение попробовать окна генерировать средствами win api. Знаю точно что для создания окон функции есть, ну а более подробно это уже надо поискать. Правда если создавать свой SubVI, то можно будет без труда вставить свои иконки, подстроить цветовую гамму под общий вид программы и тому подобное, поэтому с этой позиции - создания собственного окна предпочтительней.
Eugene

Activity Bronze
leader
leader
Сообщения: 548
Зарегистрирован: 20 авг 2009, 17:58
Награды: 2
Версия LabVIEW: 2011
Контактная информация:

Re: Перехват ошибки открытия файла и диалог открытия файла

Сообщение Eugene »

можно использовать Prompt user for input function не 100% удобно , но все же
We live in a graphical world.
Why not program in one?
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Сохранение данных»