Страница: 1 |
Страница: 1 |
Вопрос: Поиск символов в строке
Добавлено: 26.03.07 15:48
Автор вопроса: KreAtoR
Пример таков. В строке разрегено набирать символы от 0 до 9 и запитую
Если чел нажмет два раза запитую ну или не сразу, а позже, то как об этом узнать?
Dim s As Variant
Dim stroka As String, letter As String
Dim i As Integer
stroka = ""
s = Split(Text1.Text, ",")
For i = 0 To UBound(s) - 1
stroka = stroka & s(i)
MsgBox "Error"
Exit Sub
End If
Next i
filesName = stroka
помойму в тупик иду
Ответы
Всего ответов: 13
Номер ответа: 1
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #1
Добавлено: 26.03.07 15:50
InStr
Номер ответа: 2
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #2
Добавлено: 26.03.07 15:52
мне это о многом сказало ))))
этот пример отлавливает два раза выдает ошибку но лишнюю не убирает а если они на растоянии то ваще не замечает
Номер ответа: 3
Автор ответа:
Visual Basic .NET 2005 Пиратская версия
Вопросов: 38
Ответов: 190
Web-сайт:
Профиль | | #3
Добавлено: 26.03.07 16:03
For str1=str2
if str2=",," then
end if
next
Или както так. на VB давно не писал но под нет должно работать!
Номер ответа: 4
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #4
Добавлено: 26.03.07 16:10
Instr не подходит. она ищет есть нет
0,001 -есть
0,,001 -есть
0,00,1 -есть
,0001 -есть
в последних трех случаях должно выдать ошибку
Номер ответа: 5
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #5
Добавлено: 26.03.07 16:14
надо что то типа Count наверно
Номер ответа: 6
Автор ответа:
Боцман
ICQ: 295725312
Вопросов: 53
Ответов: 830
Web-сайт:
Профиль | | #6
Добавлено: 26.03.07 16:27
Dim MyLen As String
Dim s As Variant
Dim stroka As String, letter As String
Dim i As Integer
stroka = ""
s = Split(Text1, ","
If UBound(s) > 1 Then
MyLen = Len(Text1)
Text1 = Left(Text1, MyLen - 1)
End If
End Sub
Номер ответа: 7
Автор ответа:
Боцман
ICQ: 295725312
Вопросов: 53
Ответов: 830
Web-сайт:
Профиль | | #7
Добавлено: 26.03.07 16:30
Блин твой код не откорректировал вот чистый
Dim s As Variant
s = Split(Text1, ","
If UBound(s) > 1 Then
MyLen = Len(Text1)
Text1 = Left(Text1, MyLen - 1)
End If
Номер ответа: 8
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #8
Добавлено: 26.03.07 16:44
Интересная штука паровоз. А зачем Mylen -1 перекидывать в начало строки???
а если вместо
Text1 = Left(Text1, MyLen - 1)
поставить что то типа
"сотри последний символ"
???
Номер ответа: 9
Автор ответа:
Боцман
ICQ: 295725312
Вопросов: 53
Ответов: 830
Web-сайт:
Профиль | | #9
Добавлено: 26.03.07 16:49
А ты сегодня уже спрашивал за END, вот я
подумал, что ты уже его понял и сам допишеш.
Номер ответа: 10
Автор ответа:
Боцман
ICQ: 295725312
Вопросов: 53
Ответов: 830
Web-сайт:
Профиль | | #10
Добавлено: 26.03.07 16:52
Можеш вызвать вообще BACKSPACE key, то же сегодня проходили. Ты ведь искал количество символов нашел?
Номер ответа: 11
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #11
Добавлено: 26.03.07 17:00
да вот это была головоломочка!!!!
Боцман, ты не учитель случайно. Хорошо получается, пасибо. Сделал так. Грязно но работает вроде
Private Sub txtSequence_Change()
 im MyLen As String
 im s As Variant
 im zeile As String
s = Split(txtSequence.Text, ","
If UBound(s) > 1 Then
MsgBox "Error", , "Easy Capture"
For i = 0 To UBound(s) - 1
zeile = zeile & s(i) & ","
Next
SendKeys "{BACKSPACE}"
txtSequence.Text = zeile
End If
End Sub
Номер ответа: 12
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #12
Добавлено: 26.03.07 17:03
if ubound(split(text1,",") > 1 then msgbox "error"
Номер ответа: 13
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #13
Добавлено: 26.03.07 17:07
и тебе пасибо, хоть ты и злой )))