На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual Basic: Общие вопросы
Здесь обсуждаются вопросы по языку Visual Basic 1-6 (а так же по схожим языкам, как, например, PowerBASIC).
Вопросы по Visual Basic .NET (это который входит в состав Visual Studio 2002/2003/2005/2008+, для тех, кто не в курсе) обсуждаются в разделе .NET.

Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что Вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются. Студенты, вам сюда: ПОМОЩЬ СТУДЕНТАМ!
4. Используйте теги [ code=vba ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Формулируйте свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной (и более) давности, без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта user posted image FAQ Раздела user posted image Кладовка user posted image Наши Исходники user posted image API-Guide user posted image Поиск по Разделу user posted image MSDN Library Online user posted image Google

Ваше мнение о модераторах: user posted image SCINER, user posted image B.V.
Модераторы: SCINER, B.V.
  
> Сообщения об ошибках в MsgBox
    В каком случае принято показывать тип vbCritical, в каком vbExclamation? Если юзер неверно ввёл вход. данные и операция отменяется, какой тип правильно показывать?
      vbCritical показывается в случае, когда сложившаяся ситуация препятствует дальнейшей работе. vbExclamation - когда дальнейшая нормальная работа возможна после исправления.

      Например, идёт ввод реквизитов для совершения платежа. Если указанный платёж не может быть совершён по введённой карте - это vbExclamation, а если указанный платёж не может быть совершён по карте вообще - это vbCritical.
      Есть претензии ко мне как к модератору? читайте Правила, разделы 5 и 6, и действуйте соответственно.
      Есть претензии ко мне как к участнику? да ради бога.
      Не нравятся мои ответы? не читайте их.
      В общем, берегите себя. Нервные клетки не восстанавливаются.
        т.е. vbCritical - это всё, приплыли! сушите вёсла, сэр?... Дело в том, что лично я воспринимаю воскл. знак как некоторое предупреждение, что я мол сделаю работу (программа), но возможны какие-то проблемы (предупреждение)... А vbCritical визуально воспринимается как крах, и где-то в одной книжке читал, что нормальная работа программы далее невозможна (что автор имел ввиду, так и не понял до конца). В целом, у меня всегда возникал этот вопрос, воскл. знак не уместен в некоторых ситуациях, vbCritical воспринимается как что-то страшное пользователем, чуть ли не нарушение работы компа/программы... Хоть бери и делай свой MsgBox со своими нестандартными(!) картинками. Т.е. до сих пор у меня нет чёткого понимания и восприятия этих знаков предупреждения. vbCritical ещё бывает вылетает с диким визгом в некоторых прогах, стоит ли его ещё озвучивать? )

        Добавлено
        Цитата Akina @
        а если указанный платёж не может быть совершён по карте вообще - это vbCritical.
        Значит, платёж м.б. совершён другим способом, а это просто исправление, т.е. vbExclamation?
        Сообщение отредактировано: BlackSun -
          А какие знаки надо показывать, например, при ошибке чтения файла/записи в файл?
            Цитата BlackSun @
            какие знаки надо показывать, например, при ошибке чтения файла/записи в файл?

            Смотря какая ошибка опять же. Если файл нельзя записать, потому что он уже существует - vbExclamation, а если потому, что в указанном каталоге нет прав на создание файла - чистый vbCritica.
            Есть претензии ко мне как к модератору? читайте Правила, разделы 5 и 6, и действуйте соответственно.
            Есть претензии ко мне как к участнику? да ради бога.
            Не нравятся мои ответы? не читайте их.
            В общем, берегите себя. Нервные клетки не восстанавливаются.
              Не соглашусь с тобой, Akina. vbCritical, он же MB_ICONSTOP, что, по-моему, красноречиво намекает, всё-таки для тех случаев, когда ошибка не совместима с продолжением исполнения текущей задачи. Проверка доступа это первый шаг, вполне возвратный и не приводящий к полной отмене сохранения.
              const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
              for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

              Чат Исходников в SkypeЧат Исходников в DiscordЧат Исходников в Telegram
                Цитата B.V. @
                vbCritical, он же MB_ICONSTOP, что, по-моему, красноречиво намекает, всё-таки для тех случаев, когда ошибка не совместима с продолжением исполнения текущей задачи. Проверка доступа это первый шаг, вполне возвратный и не приводящий к полной отмене сохранения.

                То есть это зависит от среды исполнения? Если можно изменить права доступа или каталог сохранения - то оно по смыслу vbExclamation, а если нет, то vbCritical, так? ну я ж об этом и говорю...

                Цитата B.V. @
                Проверка доступа это первый шаг, вполне возвратный и не приводящий к полной отмене сохранения.

                А если для такой проверки (и корректировки) надо выгрузить приложение? и после корректировки запустить его заново? вот нет другого пути...

                В любом случае - выбор основывается на ощущениях. Нет жёсткого правила...
                Есть претензии ко мне как к модератору? читайте Правила, разделы 5 и 6, и действуйте соответственно.
                Есть претензии ко мне как к участнику? да ради бога.
                Не нравятся мои ответы? не читайте их.
                В общем, берегите себя. Нервные клетки не восстанавливаются.
                  Цитата Akina @
                  Если можно изменить права доступа или каталог сохранения - то оно по смыслу vbExclamation, а если нет, то vbCritical, так? ну я ж об этом и говорю...

                  В целом, так. STOP это уже когда всё, приплыли.. в рамках одной конкретной задачи. По крайней мере, так я всегда видел логику этой иконки :)

                  Цитата Akina @
                  А если для такой проверки (и корректировки) надо выгрузить приложение? и после корректировки запустить его заново? вот нет другого пути...

                  Ну если при перезагрузке не будут теряться данные, то это не остановка задачи, а необходимый этап, и тут уже уместней не пугать юзера vbCritical-ом, а умеренно-напрячь vbExclamation-ом
                  const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
                  for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

                  Чат Исходников в SkypeЧат Исходников в DiscordЧат Исходников в Telegram
                    Так тут же зависит от юзера, сможет ли он изменить права доступа или нет. Программа же не может знать, кто ею пользуется. Т.е. для кого-то это vbCritical, а для кого-то нет? Вообще, если прога пишет данные в каталог(и его подкаталоги) где сама находится, могут возникнуть какие-то проблемы с правами?

                    Вы действительно разбираете ошибку по кодам, чтобы только показать более подходящую иконку? Я пишу "Ошибка записи в файл" и добавляю в сообщение Err.Description. Поэтому мне нужен более общий показ иконки.
                    Сообщение отредактировано: BlackSun -
                      Цитата BlackSun @
                      Вообще, если прога пишет данные в каталог(и его подкаталоги) где сама находится, могут возникнуть какие-то проблемы с правами?

                      Могут.

                      Цитата BlackSun @
                      Вы действительно разбираете ошибку по кодам, чтобы только показать более подходящую иконку?

                      Детализация ошибок вообще хороший тон, и разработчику проще и юзеру понятнее
                      const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
                      for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

                      Чат Исходников в SkypeЧат Исходников в DiscordЧат Исходников в Telegram
                        При удалении записи лучше пугать vbExclamation или таки vbQuestion ("Желаете удалить запись?")?
                        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                        0 пользователей:


                        Рейтинг@Mail.ru
                        [ Script Execution time: 0,1246 ]   [ 15 queries used ]   [ Generated: 10.07.20, 13:30 GMT ]