Страница: 1 | 2 |
Вопрос: Бред какой-то! (For... Next)
Добавлено: 22.03.08 18:32
Автор вопроса: Winand | Web-сайт:
Есть более нормальный способ в Vb6 перейти к следущей итерации? Я придумал вот что:
For i = 0 to 11111
Do
rS = 73
If i = 5 Then Exit Do
g = 7
f = 9
Exit Do
Loop
Next i
Там получается довольно запутанная структура и в определенный момент мне нужно тупо взять и перейти к к следущему i.
Ответы
Всего ответов: 25
Номер ответа: 1
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #1
Добавлено: 22.03.08 18:45
rS = 73
If i = 5 Then GoTo L1
g = 7
f = 9
L1:
Next i
Номер ответа: 2
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #2
Добавлено: 22.03.08 20:36
эмм.. В данном случае GoTo всё-таки лучше?
Я просто им вообще не пользуюсь, только в 'On Error...'
Номер ответа: 3
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #3
Добавлено: 23.03.08 00:18
а ты в дизассемблере глянь результаты с Do...Loop и с GoTo и сравни
Номер ответа: 4
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #4
Добавлено: 23.03.08 11:07
Точно знаю, что For быстрее чем Do. Ладно... Наверное всё-таки GoTo - это не такое извращенство)
Номер ответа: 5
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #5
Добавлено: 24.03.08 01:13
Хе, с какой это стати For быстрее чем Do?
Если это как минимум две разные синтаксические констракции, как ты их вообще сравниваешь?
Номер ответа: 6
Автор ответа:
night-roll
Вопросов: 36
Ответов: 326
Профиль | | #6
Добавлено: 24.03.08 02:12
топик № 1 прав на 100%
rS = 73
If i = 5 Then GoTo L1
g = 7
f = 9
L1:
Next i
анологично разветвлению по условию, где опущено Else
например:
rS = 73
If i <> 5 Then
g = 7
f = 9
end if
Next i
И
rS = 73
If i = 5 Then
GoTo L1
else
g = 7
f = 9
end if
L1:
Next i
аналогичные конструкции
Номер ответа: 7
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #7
Добавлено: 24.03.08 02:59
На какие только ухищрения не идут люди чтоб удержаться на тонущем корабле...
For i = 0 To 11111
rS = 73
If i = 5 Then Continue For
g = 7
f = 9
Next
Номер ответа: 8
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #8
Добавлено: 24.03.08 02:59
На какие только ухищрения не идут люди чтоб удержаться на тонущем корабле...
rS = 73
If i = 5 Then Continue For
g = 7
f = 9
Next
Номер ответа: 9
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #9
Добавлено: 24.03.08 11:37
Брэнд, а ты VB6 ни с каким другим языком не путаешь?
Номер ответа: 10
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #10
Добавлено: 24.03.08 19:54
Например с этим) который скоро тоже родным станет...
int main(void) {
int x;
for( x = 0; x < 100; x++ ) {
printf("Before continue."
continue;
printf("%d ", x); /* this is never executed */
}
return 0;
}
Номер ответа: 11
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #11
Добавлено: 24.03.08 19:57
Steel Brand, а как еще можно сравнивать For и Do, кроме как по скорости выполнения итераций? Недавно читал в какой-то статье, но плин вообще не помню в какой
Номер ответа: 12
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #12
Добавлено: 25.03.08 03:16
В этом деле промедление непозволительно
Номер ответа: 13
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #13
Добавлено: 25.03.08 16:42
Да? BC++ 3.1 Что интересно он умеет глючить сам по себе даже, без моей помощи)) Или это из-за тупого эмулирования дос? Может в досбоксе запускать...
Номер ответа: 14
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #14
Добавлено: 25.03.08 20:47
А вот это непростительно. Ставь VC++ 2005 или gcc на худой конец.
Номер ответа: 15
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #15
Добавлено: 25.03.08 23:19
Это непростительно, но зато обязательно. Только мне немного странно бывает, когда преподше приходится читать хелп, чтобы понять как работает memmove например...
Раз уж тема ушла куда-то далеко то вопрос: билдер 6 или 2007 не катит? VC лучше?
gcc - "Ports of GCC are included with the Cygwin environment." посмотрим\почитаем\поизучаем