Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Liss, Вложенные ветвления в VB 
:(
    Опции темы
Liss
Дата 14.6.2004, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 14.6.2004

Репутация: нет
Всего: нет



Подскажите, как создать структуру вложенного ветвления в VB?
Кажется, это легко, но как бы не так! В Паскале все кристально ясно. Заключаешь в операторные скобки begin/end и готово. В VB постоянно возникают ошибки, то ожидается end, то еще что-нибудь.
Пишу прогу вручную, в блокноте для ASP страниц
PM MAIL   Вверх
boevik
Дата 14.6.2004, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



1)
Код
IF <условие> THEN <оператор 1>

2)
Код
IF <условие> THEN
             <оператор 1>
END IF

3)
Код
IF <условие> THEN
          <оператор 1>
          <оператор 2>
ELSE
          <оператор 3>
END IF

4)
Код
IF <условие> THEN
          <оператор 1>
ELSEIF <условие>
          <оператор 2>
ELSE
          <оператор 3>
END IF




--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Liss
Дата 14.6.2004, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 14.6.2004

Репутация: нет
Всего: нет



Возможна ли такая сложная развилка?
Код

IF <условие 1> THEN
  <оператор 1>
  IF <условие 2> THEN
      <оператор 2>
      IF <условие 3> THEN
          <оператор 4>
      ELSE <оператор 5>
           <оператор 6>
      END IF
  ELSE <оператор 7>
       <оператор 8>
  END IF
  IF <условие 4> THEN
     <оператор 9>
  ELSE <оператор 10>
  END IF
ELSE <оператор 11>
END IF



Это сообщение отредактировал(а) Liss - 14.6.2004, 14:42
PM MAIL   Вверх
boevik
Дата 14.6.2004, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



В полне нормальная развилка
Код
IF <условие 1> THEN
  <оператор 1>
  IF <условие 2> THEN
     <оператор 2>
     IF <условие 3> THEN
         <оператор 4>
     ELSE
        <оператор 5>
        <оператор 6>
     END IF
  ELSE
     <оператор 7>
     <оператор 8>
  END IF
  IF <условие 4> THEN
     <оператор 9>
  ELSE
     <оператор 10>
  END IF
ELSE
  <оператор 11>
END IF



--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Naghual
Дата 14.6.2004, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 26
Всего: 49



Код

IF <условие 1> THEN
 <оператор 1>
 IF <условие 2> THEN
   <оператор 2>
   IF <условие 3> THEN
     <оператор 4>
   ELSE
     <оператор 5>
     <оператор 6>
   END IF
 ELSE
   <оператор 7>
   <оператор 8>
 END IF
 IF <условие 4> THEN
   <оператор 9>
 ELSE
   <оператор 10>
 END IF
ELSE
 <оператор 11>
END IF

Добавлено @ 14:47
Привет boevik
Шустро сработал!
wink.gif


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
cardinal
Дата 14.6.2004, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



А где 3-ий оператор? smile.gif
Цитата
В полне нормальная развилка

Но возможно можно что-то улучшить - зависит от кода...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
boevik
Дата 14.6.2004, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



Цитата
Привет boevik
Шустро сработал!

Принимаю как комплимент wink.gif


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Akina
Дата 15.6.2004, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Liss
Цитата
В Паскале все кристально ясно. Заключаешь в операторные скобки begin/end и готово. В VB постоянно возникают ошибки, то ожидается end, то еще что-нибудь.

А это потому что в Паскале ты пишешь аккуратно, а в Барсике - левой пяткой. Сам виноват.
В паскале ты как делаешь? сразу пишешь:
Код
if тра-та-та
begin
end;

и только потом начинаешь набивать это кодом. так? это правильно.
Однако что тебе мешает перенести ЭТУ идеологию в Барсик? сразу пишешь:
Код
if 1 then
else
endif

и только потом начинаешь добавлять код - условие и действия. Если будешь делать аккуратно - не будет у тебя никаких проблем.

Рекомендация - забудь об elseif. Они не имеют смысла, особенно до того момента когда код создан, отлизан и в нем не предполагается изменений даже теоретически - вот тоько когда можешь сшить else и идущий за ним if. только зачем?
Рекомендация 2 - при последовательных проверках одной и той же конструкции нужно использовать select case.




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
boevik
Дата 15.6.2004, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



Цитата
Рекомендация - забудь об elseif. Они не имеют смысла, особенно до того момента когда код создан, отлизан и в нем не предполагается изменений даже теоретически - вот тоько когда можешь сшить else и идущий за ним if. только зачем?

Akina позволь с тобой не согласится.
Код
Dim i As Integer
i = 3
If i > 1 Then
   Debug.Print i
End If
If i > 2 Then
   Debug.Print i
End If

и
Код
Dim i As Integer
i = 3
If i > 1 Then
   Debug.Print i
ЕlseIf i > 2 Then
   Debug.Print i
End If

Дают различный результат. Поэтому просто забыть об ЕlseIf нельзя.



--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Akina
Дата 15.6.2004, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



boevik
Не надо мухлевать. Речь шла о том что вместо
Код
Dim i As Integer
i = 3
If i > 1 Then
  Debug.Print i
ЕlseIf i > 2 Then
  Debug.Print i
End If
надо писАть
Код
Dim i As Integer
i = 3
If i > 1 Then
  Debug.Print i
Еlse
  If i > 2 Then
     Debug.Print i
  End If
End If


Это сообщение отредактировал(а) Akina - 15.6.2004, 11:15


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
boevik
Дата 15.6.2004, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: 12
Всего: 35



Akina, извини, значит не правильно понял тебя.


--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Akina
Дата 15.6.2004, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



boevik
Цитата
значит не правильно понял тебя

Я думал ты мя подкалываешь... просто первая из приведенных тобой конструкций при написании через начальный шаблон ну никак не получится - только вторая...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0879 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.