Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 |

 

  Вопрос: VB супер консоль Добавлено: 14.01.10 17:10  

Автор вопроса:  V1RR | Web-сайт: V1RR.us | ICQ: 636580 

Ответить

  Ответы Всего ответов: 43  

Номер ответа: 31
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #31
Добавлено: 18.01.10 00:13
с помощью api GetAsyncKeyState

Ответить

Номер ответа: 32
Автор ответа:
 V1RR



ICQ: 636580 

Вопросов: 8
Ответов: 29
 Web-сайт: V1RR.us
 Профиль | | #32
Добавлено: 18.01.10 14:07
В том-то что и пробовал, но почему-то не выходит :(

Ответить

Номер ответа: 33
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #33
Добавлено: 18.01.10 17:15
ну дык погугли

Ответить

Номер ответа: 34
Автор ответа:
 V1RR



ICQ: 636580 

Вопросов: 8
Ответов: 29
 Web-сайт: V1RR.us
 Профиль | | #34
Добавлено: 19.01.10 20:07
Что-то не пойму как исправить ошибку.

  1. Select Case p(0)
  2.     Case "set"
  3.         If RangeArray < 1 Then
  4.             myErrorCode = 1
  5.         Else
  6. Select Case p(1)
  7.     Case "autorun"
  8.         If RangeArray < 2 Then
  9.             myErrorCode = 2
  10.         Else
  11.             MsgBox (p(2))
  12.         End If
  13.     Case "filepath"
  14.                     
  15.     Case "че-то_еще_с_set"
  16.     'выполняем на че-то еще
  17.     'если нужно p(2) то делаем проверку         ***
  18.     'если сразу команда, то не делаем проверку  ***
  19. End Select
  20.         End If
  21.             
  22. Select Case p(0)
  23.     Case "shutdown"
  24.         If RangeArray < 1 Then
  25.             myErrorCode = 1
  26.         Else
  27. Select Case p(1)
  28.     Case "me"
  29.         If RangeArray < 2 Then
  30.             myErrorCode = 2
  31.         Else
  32.             If p(2) = "-f" Then
  33.             MsgBox "Unloading service..."
  34.             End
  35.         End If
  36. End Select
  37.         End If

Пишет "End Select without Select Case"
Вроде бы ж все правильно расставил? Почему ошибка?

Ответить

Номер ответа: 35
Автор ответа:
 V1RR



ICQ: 636580 

Вопросов: 8
Ответов: 29
 Web-сайт: V1RR.us
 Профиль | | #35
Добавлено: 19.01.10 20:07
Ошибка в строке 36

Ответить

Номер ответа: 36
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #36
Добавлено: 19.01.10 21:35
Вообще всё неправильно. Даже затрудняюсь сказать где
http://www.firststeps.ru/vba/vbahelp/r.php?61

Ответить

Номер ответа: 37
Автор ответа:
 V1RR



ICQ: 636580 

Вопросов: 8
Ответов: 29
 Web-сайт: V1RR.us
 Профиль | | #37
Добавлено: 20.01.10 00:33
Nickola пишет:
# Private Sub txtRun_KeyDown(KeyCode As Integer, Shift As Integer)
# If (KeyCode = vbKeyReturn) Then
# Dim p As Variant
# Dim RangeArray as Integer ' для размера массива, если Integer не хватит можно увеличить, хотя вряд ли
# Dim myErrorCode as Byte ' для выдачи номера ошибки
# p = Split(txtRun.Text, " ";)
# RangeArray = UBound(p) ' запоминаем размер массива, чтоб каждый раз при проверке массив не мучать
# Select Case p(0)
# Case "set"
# If RangeArray < 1 Then
# myErrorCode = 1
# Else
# Select Case p(1)
# Case "autorun"
# If RangeArray < 1 Then
# meErrorCode = 2
# Else
# MsgBox (p(2))
# End if
# Case "че-то_еще_с_set"
# 'выполняем на че-то еще
# 'если нужно p(2) то делаем проверку ***
# 'если сразу команда, то не делаем проверку ***
# End Select
# End If
# Case "еще_условие_для_первого_слова"
# 'могут быть сразу действия или еще Select
# 'здесь тоже может стоять проверка ***
# End Select
# End If
#
# If myErrorCode > 0 Then MsgBox "Команда " & p(0) & " написана не правильно!" & vbCrLf & "Должно быть как минимум " & myErrorCode & " слов(а)!"
# 'очистка пля по нажанию Enter
# If (KeyCode = vbKeyReturn) Then txtRun.Text = ""
# End Sub


Я старался придерживаться схемы что мне посоветовали на 1 странице данной темы, просто добавить еще команды.
Не пойму в чем ошибка вроде бы структура верная.

Ответить

Номер ответа: 38
Автор ответа:
 Nickola



Вопросов: 2
Ответов: 12
 Профиль | | #38 Добавлено: 20.01.10 12:20
Должно быть
  1. Select Case p(0)
  2.     Case "set"
  3.         If RangeArray < 1 Then
  4.             myErrorCode = 1
  5.         Else
  6.             Select Case p(1)
  7.                 Case "autorun"
  8.                     If RangeArray < 2 Then
  9.                         myErrorCode = 2
  10.                     Else
  11.                         MsgBox (p(2))
  12.                     End If
  13.                 Case "filepath"
  14.                          
  15.                 Case "че-то_еще_с_set"
  16.                     'выполняем на че-то еще
  17.                     'если нужно p(2) то делаем проверку         ***
  18.                     'если сразу команда, то не делаем проверку  ***
  19.             End Select
  20.         End If
  21.     Case "shutdown"
  22.         If RangeArray < 1 Then
  23.             myErrorCode = 1
  24.         Else
  25.             Select Case p(1)
  26.                 Case "me"
  27.                     If RangeArray < 2 Then
  28.                         myErrorCode = 2
  29.                     Else
  30.                         If p(2) = "-f" Then
  31.                             MsgBox "Unloading service..."
  32.                         End If
  33.                     End If
  34.             End Select
  35.         End If
  36. End Select


Второй раз "Select Case" не надо. Это специальная конструкция, чтоб проверить одну переменную несколько раз на разные значения.

Ответить

Номер ответа: 39
Автор ответа:
 V1RR



ICQ: 636580 

Вопросов: 8
Ответов: 29
 Web-сайт: V1RR.us
 Профиль | | #39
Добавлено: 20.01.10 13:53
Ааа ясненько, спасибо :) Буду делать, если че еще спрошу )

Ответить

Номер ответа: 40
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #40
Добавлено: 20.01.10 14:24
Я представляю размер select case в программе хотя бы на 50 команд

Ответить

Номер ответа: 41
Автор ответа:
 Nickola



Вопросов: 2
Ответов: 12
 Профиль | | #41 Добавлено: 22.01.10 18:02
Winand пишет:
Я представляю размер select case в программе хотя бы на 50 команд

Согласен, что получается полный бред, но "CallByName" и 50 процедур тоже мне кажется не выход.

Ответить

Номер ответа: 42
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #42
Добавлено: 22.01.10 18:33
Ну по крайней мере нужно просто добавлять процедуры с определенными именами, не изменяя селект кейсов. Можно как обsxyj сделать всё на модных скриптах))

Ответить

Номер ответа: 43
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #43
Добавлено: 24.01.10 21:40
ScriptControl!

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам