Страница: 1 | 2 |
Вопрос: Проверка корректности ввода данных
Добавлено: 02.05.05 21:56
Автор вопроса: Артём | ICQ: 6330018
Ответы
Всего ответов: 25
Номер ответа: 16
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #16
Добавлено: 04.05.05 23:46
Я проверял только с KeyPress, прекрасно работало.
Сейчас уже не хочется запускать VB Experss 2005, устал за день.
Без KeyUp и KeyDown кнопка Enter блокируется, имхо, больше ничего не надо.
Если все-таки будетшь делать с KeyDown, KeyUp, то там, кажется, нужно
анализировать e.KeyCode - пробуй сравнивать с Keys.Enter или Keys.Return,
точно не помню.
Номер ответа: 17
Автор ответа:
Артём
ICQ: 6330018
Вопросов: 6
Ответов: 11
Профиль | | #17
Добавлено: 04.05.05 23:49
ОКЕЙ большое спасибо всем кто помог!!! Низкий поклон, темка закрыта...
Номер ответа: 18
Автор ответа:
BUMM ®
Вопросов: 8
Ответов: 482
Профиль | | #18
Добавлено: 17.05.05 16:42
mozno ispolzovat "regular expressions"
imports system text.RegularExpressions
......
Private Function validate_regex(ByVal s As String)
If s <> "" Then
s = Regex.Replace(s, "\d", ""
Return s
End If
End Function
Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Dim s As String = TextBox1.Text
TextBox1.Text = validate_regex(s)
End Sub
[a-zA-Z] - vse bukvi
[a-zA-Z] - vse, krome bukv
\d - zifra 0 - 9
\D - vse, krome zifri
\s - probel
\b - backspase
\r - vozvrat caretki
\n - novaya stroka
Номер ответа: 19
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #19
Добавлено: 17.05.05 16:51
Я чего-то подзабыл, сейчас за такой код сразу расстреливают, или дают еще пожить немного???
Что он возвращает? Object??? А я думал, что должен по логике вернуть String...
PS Option Strict On рулит
Номер ответа: 20
Автор ответа:
BUMM ®
Вопросов: 8
Ответов: 482
Профиль | | #20
Добавлено: 19.05.05 16:35
imports system text.RegularExpressions
......
Private Function validate_regex(ByVal s As String)
If s <> "" Then
s = Regex.Replace(s, "\d", ""
Return Cstr(s)
End If
End Function
Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Dim s As String = TextBox1.Text
TextBox1.Text = validate_regex(s)
End Sub
Ustraivaet?????????
Esli v vb.net scopiruesh cod, to rabotat budet i bez "Cstr()"
Номер ответа: 21
Автор ответа:
BUMM ®
Вопросов: 8
Ответов: 482
Профиль | | #21
Добавлено: 19.05.05 16:49
Private Function validate_regex(ByVal s As String)
Я чего-то подзабыл, сейчас за такой код сразу расстреливают, или дают еще пожить немного???
Что он возвращает? Object??? А я думал, что должен по логике вернуть String...
"S" Obiavlena v funkzii kak STRING, poetomu i vozvraschaetsya kak string.
Kakie problemi???
Номер ответа: 22
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #22
Добавлено: 19.05.05 19:28
Esli v vb.net scopiruesh cod, to rabotat budet i bez "Cstr()"
Правда? А ты не знал, что в VB .NET есть такое понятие, как жесткая проверка типов? Если она включена (а большинства прогарммистов она всегда включена), то твой код просто напросто не скомпилируется.
If s <> "" Then
s = Regex.Replace(s, "\d", ""
Return Cstr(s)
End If
End Function
Во-первых, это очень плохой стиль - использовать переданный в функцию параметр для хранения в нем промежуточных результатов.
Во-вторых, не указано, какой тип возвращает функция, т.е. она возвращает Object (если включить еще жусткую проверку типов, то это вообще будет одна большая синтаксическая ошибка, а не функция).
В-третьих (вытекает из 2-го) - при передаче твоя s будет упакована (хоть с Cstr, оть без него) - дополнительные затраты.
Вот такие, собственно, и проблемы.
Ничего криминального, но с человеком, который пишет такой код, я бы работать не стал.
Номер ответа: 23
Автор ответа:
BUMM ®
Вопросов: 8
Ответов: 482
Профиль | | #23
Добавлено: 19.05.05 20:29
tebya nikto ne prosit so mnoy rabotat,
a vot vezhlivoti u tebya mama s papoy tocno ne nauchili
Номер ответа: 24
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #24
Добавлено: 19.05.05 23:46
А я и не предлагаю со мной работать.
Вежливости???
Конкретно, какое из слов, сказанное мною в этом топике оказалось невежливым?
Что касается остального, я только указал на недостатки кодирования, а что с этим делать дальше - это твое дело.
PS: Ничего личного, только Технологии.
Номер ответа: 25
Автор ответа:
⊗WaX⊗
Вопросов: 26
Ответов: 325
Web-сайт:
Профиль | | #25
Добавлено: 22.05.05 13:40
2 BUMM
Рекомендую прислушиваться к полезным советам в какой бы форме они не звучали.
Сегодня тебя ткнули носом, а завтра ты ткнешь