Модераторы: diadiavova, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка вводимых данных 
:(
    Опции темы
Алкоголик
Дата 14.3.2009, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 187
Регистрация: 26.1.2004

Репутация: нет
Всего: нет



Здраствуйте. 
Как организовать проверку вводимых данных? т.е. например в консольном режиме мне нужно что бы вводились только маленькие англиские буквы и не более 5 символов.
А в приложении с формой в textbox вводились только символы 0123456789ABCDEF.
Заранее спасибо.
PM MAIL   Вверх
Pilger
Дата 14.3.2009, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 10.5.2008
Где: Германия

Репутация: нет
Всего: нет



Код

Char.IsDigit
String.Length < 6


и так далее


--------------------
Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert.
PM MAIL ICQ   Вверх
Алкоголик
Дата 14.3.2009, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 187
Регистрация: 26.1.2004

Репутация: нет
Всего: нет



Pilger,  извините но не понял(случайно понадобилось написать на Vb). Вот например код

Код

Console.Write("Введите символы: ")
s = Console.ReadLine()


Как его дополнить в соответствие с условием
Цитата

только маленькие англиские буквы и не более 5 символов.

PM MAIL   Вверх
Pilger
Дата 14.3.2009, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 10.5.2008
Где: Германия

Репутация: нет
Всего: нет



Ну один из вариантов написать функцию, которая каждый символ в тексте возьмет и проверит.

Код

dim c as Char

For x = 0 To s.Length - 1
    c = s(x)
    if c ...
Next


Можно сравнивать с массивом со знаками, а в случае с английскими буквами думаю можно как то попроще. Узнать является знак числом можно через

Код

if c.IsNumber then


А длину текста проверить легко через.
Код

if s.Length <6 then...


Это сообщение отредактировал(а) Pilger - 14.3.2009, 23:20


--------------------
Ein Leben nach der Schleife existiert, nur wenn die Schleife terminiert.
PM MAIL ICQ   Вверх
diadiavova
Дата 15.3.2009, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 8
Всего: 142



Обычно для проверки корректности вводимых строк используются регулярные выражения. Для работы с ними предназначено пространство имён System.Text.RegularExpression. Язык регулярных выражений описан здесь(по ссылкам). А в твоём случае проверка выглядит так
Код

Console.Write("Введите символы: ")
s = Console.ReadLine()

If Not System.Text.RegularExpressions.Regex.IsMatch(s , "[a-z]{1,5}") Then
    Console.WriteLine("Неверный формат")
End If
 Console.ReadLine()


Для Первого условия (маленькие латинские буквы и не больше 5) паттерн выглядит так
Код

[a-z]{1,5}

Для второго - так
Код

[0-9A-F]+




Это сообщение отредактировал(а) diadiavova - 15.3.2009, 10:37


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0576 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.