Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Любой символ :/ Добавлено: 02.12.07 19:28  

Автор вопроса:  someone | Web-сайт: 123
Здравствуйте.
Прошу прощения за ламерский вопрос, но таки он существует.
Не подскажете ли, как обозначить в Visual Basic 6 любой символ?
Аналог * при поиске файлов.

Ответить

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

Номер ответа: 1
Автор ответа:
 Иван



Вопросов: 34
Ответов: 53
 Web-сайт: www.harami.ru
 Профиль | | #1
Добавлено: 02.12.07 19:34
Смотря где Вы собираетесь искать.
Если в рекордсете, то никаких аналогов не надо, используйте звездочку.
Если в базе данных ADO, то используйте знак процента: % (а вместо знака вопроса - знак подчеркивания).

Ответить

Номер ответа: 2
Автор ответа:
 someone



Вопросов: 215
Ответов: 1596
 Web-сайт: 123
 Профиль | | #2
Добавлено: 02.12.07 19:56
Спасибо за ответ, конечно... Но искать я собираюсь в переменной.
Если точнее - отрывок кода.

If p_data = Chr("...тут некоторый набор бинарных данных - разделителей, вертексов и пр., но это дела не касается";) & "*" (любой символ! но * не катит) & Chr("опять бинарные данные";) Then
spawn_module.ParseSpawn "sector_1", "2215_build", "gamegraph system"
End If

Ответить

Номер ответа: 3
Автор ответа:
 Mr.Smile



ICQ: 427682013 

Вопросов: 14
Ответов: 464
 Профиль | | #3 Добавлено: 02.12.07 20:45
Правильно, оно и не будет работать. Можно использовать оператор Like.
Это очень мощный оператор, почти аналог регулярных выражений в Perl.

Пример:
Dim MyCheck
MyCheck = "aBBBa" Like "a*a" ' Возвратит True.
MyCheck = "F" Like "[A-Z]" ' Возвратит True.
MyCheck = "F" Like "[!A-Z]" ' Возвратит False.
MyCheck = "a2a" Like "a#a" ' Возвратит True.
MyCheck = "aM5b" Like "a[L-P]#[!c-e]" ' Возвратит True.
MyCheck = "BAT123khg" Like "B?T*" ' Возвратит True.
MyCheck = "CAT123khg" Like "B?T*" ' Возвратит False.

myString = "312T-87GD-8922"

If myString Like "###[A-Z]-##[A-Z][A-Z]-####" Then ...


Спец-символы в маске:

? Любой одиночный символ
* Ноль или более символов
# Любая одиночная цифра (0–9).
[charlist] Любой одиночный символ в классе символов (списке)
[!charlist] Любой одиночный символ не принадлежащий классу символов

Ответить

Номер ответа: 4
Автор ответа:
 someone



Вопросов: 215
Ответов: 1596
 Web-сайт: 123
 Профиль | | #4
Добавлено: 02.12.07 20:53
Про Like я в курсе :-^
Не оно.
Дело в том, что я уже задавал такой вопрос тут же года два назад и мне тогда ответили И Я НЕ МОГУ НАЙТИ эту тему.
Там было что-то с юзанием Chr$, кажется... Эх..

Ответить

Номер ответа: 5
Автор ответа:
 Mr.Smile



ICQ: 427682013 

Вопросов: 14
Ответов: 464
 Профиль | | #5 Добавлено: 02.12.07 21:33
Раз задавал такой вопрос и не помнишь, значит он не решился.
Иначе на VB нельзя. Хотя нет, можно! Каждую букву слова перебирать в цикле и ... получится у тебя подбиралка паролей :)

P.S.: можешь еще InStr(B) заюзать.

Ответить

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



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #6
Добавлено: 03.12.07 03:31
хы)) а какая вообще связь между Like и Chr?
If p_data Like Chr("...тут некоторый набор бинарных данных - разделителей, вертексов и пр., но это дела не касается";) & "*" (любой символ! но * не катит) & Chr("опять бинарные данные";) Then
spawn_module.ParseSpawn "sector_1", "2215_build", "gamegraph system"
End If

Ответить

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



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #7
Добавлено: 03.12.07 03:33
и такой код вполне работает. нуу...не совсем такой. Но вот этот точно:
If (Chr(0) & Chr(143) & Chr(3)) Like (Chr(0) & "*" & Chr(3)) Then MsgBox "ТруЪ!"

Ответить

Номер ответа: 8
Автор ответа:
 someone



Вопросов: 215
Ответов: 1596
 Web-сайт: 123
 Профиль | | #8
Добавлено: 03.12.07 18:23
О! Спасибо!

Ответить

Страница: 1 |

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



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