Показать сообщение отдельно
Старый 18.03.2010, 21:14   #7
EvilChaotic
Мастер
 
Аватар для EvilChaotic
 
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений
(для 3,006 пользователей)
Ответ: Универсальный выбор дейцствия.

Select Event
      Case 
      Case
      Case
      Case
      Default
End Select
Собственно, для того он и сделан. Select работает быстрее чем If если параметров много, а If наоборот. Вот сделал небольшой тест:

Const  Step_% = 1000000

Local Event%
Local Time%

Const EV_EVENT1% = 1 : Const EV_EVENT2% = 2
Const EV_EVENT3% = 3 : Const EV_EVENT4% = 4
Const EV_EVENT5% = 5 : Const EV_EVENT6% = 6
Const EV_EVENT7% = 7

Time = MilliSecs()
For i = 1 To Step_
	Select Event
		Case EV_EVENT1%
		Case EV_EVENT2%
		Case EV_EVENT3%
		Case EV_EVENT4%
		Case EV_EVENT5%
		Case EV_EVENT6%
		Case EV_EVENT7%
	End Select
Next
Print   "Select: " + (MilliSecs() - Time) + " " + "ms" 

Time = MilliSecs()
For i = 1 To Step_
	If Event = EV_EVENT1%
	ElseIf Event =  EV_EVENT2%
	ElseIf Event =  EV_EVENT3%
	ElseIf Event =  EV_EVENT4%
	ElseIf Event =  EV_EVENT5%
	ElseIf Event =  EV_EVENT6%
	ElseIf Event =  EV_EVENT7%
	End If
Next
Print "If: " + (MilliSecs() - Time) + " " + "ms" 

WaitKey()
У меня выдало при 1000000 операций: If - 7 ms : Select - 5 ms Хотя это гомнотест )
__________________

EvilChaotic About
(Offline)
 
Ответить с цитированием