обработка отмены в CommonDialog

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
uk8amk
Обычный пользователь
Обычный пользователь
 
Сообщения: 67
Зарегистрирован: 26.07.2007 (Чт) 16:52
Откуда: Tashkent

обработка отмены в CommonDialog

Сообщение uk8amk » 21.01.2008 (Пн) 14:36

при указании пути к файлу использую Commondialog1.ShowOpen. в книжке рекомендуется для обработки нажатия на отмену использовать следующий код:

if CommonDialog1.Filename="" Then Exit Sub

Однако если ранее уже был открыт файл, то этот же файл будет открыт повторно при нажатии на кнопку отмены.
Можно было бы использовать перед каждым вызовом Comondailog1 код

Commondialog1.Filename=""

Но это может изменить открывающийся каталог. Как быть в этом случае?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.01.2008 (Пн) 14:51

Вообще-то правильнее включать CancelError и обрабатывать ошибку.
Также можно проверять StrPtr=0.
Lasciate ogni speranza, voi ch'entrate.

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 21.01.2008 (Пн) 14:53

Код: Выделить всё

sub ShowDlg

with CommonDialog1
    . CancelError=True
   
     on error resume next
     .show open
      if err.number=cdlcancel then
            err.clear
            exit sub
      endif
     
      err.clear
      on error goto 0
 
      msgbox .filename



end with


end sub

uk8amk
Обычный пользователь
Обычный пользователь
 
Сообщения: 67
Зарегистрирован: 26.07.2007 (Чт) 16:52
Откуда: Tashkent

Сообщение uk8amk » 22.01.2008 (Вт) 12:11

спасибо


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 108

    TopList