Страница: 1 | 2 |
Вопрос: Извечная Ошибка на VB 6: Block without End If...
Добавлено: 19.10.10 21:48
Автор вопроса: Victor
Коллеги, да что там коллеги - Форумчане,
помогите найти ошибку - что ему окоянному ещё надо?
Програмка-помощник: набираешь что-то...а на аглийском, и чтобы заново не набирать - запускаешь програмку и он в окне всё "переводит" на русский!
Код программы вот такой:
___________________________________________________
Public Function ConvertToRus(ByVal InputVal As String) As String
Dim TypeOfConvert As Integer, ConvertionMassive(1 To 2) As String
10: x = x + 1
TypeOfConvert = 0
If Asc(Mid(InputVal, x, 1)) > 58 And Asc(Mid(InputVal, x, 1)) < 123 Then
TypeOfConvert = 1
Else
If Asc(Mid(InputVal, x, 1)) > 128 And Asc(Mid(InputVal, x, 1)) < 243 Then
TypeOfConvert = 2
If TypeOfConvert = 0 Then GoTo 10
End If
ConvertionMassive(1) = "йцукен" /// тут вся раскладка
ConvertionMassive(2) = "qwerty" /// для экономии места
For x = 1 To Len(InputVal)
ConvertToRus = ConvertToRus & Mid(ConvertionMassive(TypeOfConvert), InStr(1, ConvertionMassive(temp), Mid(InputVal, x, 1)), 1)
If TypeOfConvert = 1 Then
temp = 2
Else
temp = 1
End If
Next x
End Function
___________________________________________________
Спасибо за помощь!
Ответы
Всего ответов: 18
Номер ответа: 1
Автор ответа:
Серёга
ICQ: 262809473
Вопросов: 17
Ответов: 561
Web-сайт:
Профиль | | #1
Добавлено: 19.10.10 22:20
вставь End If после TypeOfConvert = 2
Номер ответа: 2
Автор ответа:
Victor
Вопросов: 1
Ответов: 3
Профиль | | #2
Добавлено: 19.10.10 23:34
Пробовал и так и этак - не хочет, хоть убей!
Ссылается на 1-ую строчку:
Public Function ConvertToRus...
А ежели "химичить" с циклами, варианта два:
- If without EndIf;
- Next without For.
Одни растройста!
Номер ответа: 3
Автор ответа:
Skywalker
ICQ: 300-70-6пятьЪ
Вопросов: 62
Ответов: 545
Web-сайт:
Профиль | | #3
Добавлено: 20.10.10 01:02
Номер ответа: 4
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #4
Добавлено: 20.10.10 01:26
Номер ответа: 5
Автор ответа:
Victor
Вопросов: 1
Ответов: 3
Профиль | | #5
Добавлено: 20.10.10 19:41
Skywalker, спасибо большое за помощь - ошибка пропала!!!
Всё просто супер - радует, что ошибок нет...однако же вместе с ошибками пропало всё - в том плане, что запускаю ехе...для проверки, ввожу строчку "qwerty" - так "йцукен" мне ещё ни разу и не улыбнулся...!
Номер ответа: 6
Автор ответа:
Victor
Вопросов: 1
Ответов: 3
Профиль | | #6
Добавлено: 20.10.10 19:50
Winand, спасибо за помощь!
Только не работает...зуб даю, не работает!
До этого тоже пробовал конструкцию с ElseIf...либо я - дурак, либо лыжи не едут!
Если сможешь, напиши, пожалуйста, код с конструкцией ElseIf...только чур, чтобы ошибку не выдавал:
Block If without End If!
Номер ответа: 7
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #7
Добавлено: 21.10.10 21:06
Номер ответа: 8
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #8
Добавлено: 21.10.10 22:47
Где то видел более наглядный пример, типа
Номер ответа: 9
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #9
Добавлено: 21.10.10 23:06
LamerOnLine, я не так давно накосячил с возвращаемым из длл значением, что булева переменная была не тру и не фолс, кажется Собственно я писал на форуме..
В примере сначала тоже написал boolean, потом подумал, что для конструкции с 3 исходами булевой не хватит)
Номер ответа: 10
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #10
Добавлено: 22.10.10 00:10
Знаем, помним, гордимся
Номер ответа: 11
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #11
Добавлено: 22.10.10 09:41
if a = False then
elseif a = True then
else ...
Номер ответа: 12
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #12
Добавлено: 22.10.10 09:48
для конструкции с 3 исходами булевой не хватит
Номер ответа: 13
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #13
Добавлено: 22.10.10 18:51
AgentFire, чего? я сказал, что для if elseif else нужно условие, которое может принять хотя бы три значения
Номер ответа: 14
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #14
Добавлено: 22.10.10 19:31
тип Boolean? может принять три значения
Номер ответа: 15
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #15
Добавлено: 22.10.10 19:31
True, False, Nothing