Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 | 2 | 3 |

 

  Вопрос: Проверка заполнения всех полей формы. Добавлено: 01.05.07 14:37  

Автор вопроса:  fuzytsfcrew | Web-сайт: video-edit.com.ua | ICQ: 314339 
Не подскажете следуещее - как в коде выразить, чтоб при любом не заполненном поле textbox или combo кнопка не становилась активной? Не ужели прийдется писать огромное количество if...then или есть более лаконичный способ?
программа должна постоянно проверять наличие текта в textbox-ах и делать кнопку активной, если в каждом что-то есть.

Ответить

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

Номер ответа: 1
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #1
Добавлено: 01.05.07 15:00
программа должна постоянно проверять наличие текта в textbox-ах и делать кнопку активной, если в каждом что-то есть.

Private Sub Text1_Change()
If Text1.Text = "" Then
Command1.Enabled = False
Else: Command1.Enabled = False
End If
End Sub

Самий простой способ

Ответить

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



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #2 Добавлено: 01.05.07 15:17
Else: Command1.Enabled = False
Хотел сказать True, наверное...

Ответить

Номер ответа: 3
Автор ответа:
 Retupa



Вопросов: 1
Ответов: 51
 Профиль | | #3 Добавлено: 01.05.07 15:42
Или так
Private Sub Text1_Change()
Command1.Enabled=cbool(len(Text1))
End Sub

Ответить

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



ICQ: 314339 

Вопросов: 30
Ответов: 102
 Web-сайт: video-edit.com.ua
 Профиль | | #4
Добавлено: 01.05.07 16:48
Если написать эти процедуры для всех TextBox'ов, то при изменении любого из них кнопка становится активной. А нужно, чтоб она стала активной только при заполнении всех, а при каком-то пустом опять становилась неактивной!

Ответить

Номер ответа: 5
Автор ответа:
 Retupa



Вопросов: 1
Ответов: 51
 Профиль | | #5 Добавлено: 01.05.07 17:20
А подумать лень?

Private Sub Text1_Change()
call chkBox
End Sub

Private Sub Text2_Change()
call chkBox
End Sub

Private Sub chkBox()

Command1.Enabled=cbool(len(Text1))
if not Command1.Enabled then exit sub

Command1.Enabled=cbool(len(Text2))
if not Command1.Enabled then exit sub

'...

End Sub

или так

Private Sub chkBox()
Command1.Enabled=iif(cbool(len(Text1)) and cbool(len(Text2)),true,false)
End Sub

Ответить

Номер ответа: 6
Автор ответа:
 Серёга



ICQ: 262809473 

Вопросов: 17
Ответов: 561
 Web-сайт: houselab.narod.ru
 Профиль | | #6
Добавлено: 01.05.07 17:58
Private Sub Combo1_Change()
CheckInfo
End Sub
Private Sub Text1_Change()
CheckInfo
End Sub
Private Sub CheckInfo()
On Error GoTo e
For i = 0 To Me.Controls.Count - 1
    If Me.Controls(i).Text = "" Then
        Command1.Enabled = False
        Exit Sub
    End If
e:
Next i
Command1.Enabled = True
End Sub

Ответить

Номер ответа: 7
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #7
Добавлено: 01.05.07 20:48
Да Arseny ти прав.True.У все тексти ставиш :doc a в конце private sub doc() if text1.Text =""and text2.Text="" ... Then comand1.Enabled=false else...

Ответить

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



ICQ: 314339 

Вопросов: 30
Ответов: 102
 Web-сайт: video-edit.com.ua
 Профиль | | #8
Добавлено: 01.05.07 20:57
Спасибо всем большое, но я придумал попроще:

Private Sub Text1_Change()
Command1.Enabled = Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> ""
End Sub

Private Sub Text2_Change()
Command1.Enabled = Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> ""
End Sub

Private Sub Text3_Change()
Command1.Enabled = Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> ""
End Sub

Ответить

Номер ответа: 9
Автор ответа:
 fuzytsfcrew



ICQ: 314339 

Вопросов: 30
Ответов: 102
 Web-сайт: video-edit.com.ua
 Профиль | | #9
Добавлено: 01.05.07 21:06
В продолжении темы следующий вопрос: как контролировать ввод только цифр, причем с определенным количеством символов для каждого текстбокса?

Ответить

Номер ответа: 10
Автор ответа:
 intel-DX



ICQ: 445091742 

Вопросов: 4
Ответов: 169
 Профиль | | #10 Добавлено: 01.05.07 23:14
Ничего сложного :)
Text1.MaxLenght = Мах количеством символов

Private Sub Text1_KeyPress(KeyAscii As Integer)
'***kolu steraemo 4uslo to***********
    If KeyAscii = 8 Then Exit Sub
'****kolu vvodumo tsufru***************
    If KeyAscii > 47 And KeyAscii < 58 Then Exit Sub
'****kolu inwi sumvolu to ne vvodnmo i zvyk****
    KeyAscii = 0
    Beep
End Sub

Ответить

Номер ответа: 11
Автор ответа:
 fuzytsfcrew



ICQ: 314339 

Вопросов: 30
Ответов: 102
 Web-сайт: video-edit.com.ua
 Профиль | | #11
Добавлено: 02.05.07 00:47
Вышел у меня такой вот скромненький код , для 3-х текстбоксов (text1, text2, text3) и одной кнопки:

Private Sub Text1_Change()
Command1.Enabled = Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> ""
End Sub

Private Sub Text2_Change()
Command1.Enabled = Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> ""
End Sub

Private Sub Text3_Change()
Command1.Enabled = Text1.Text <> "" And Text2.Text <> "" And Text3.Text <> ""
End Sub

' &#240;&#224;&#231;&#240;&#229;&#248;&#232;&#242;&#252; &#226;&#226;&#238;&#228;&#232;&#242;&#252; &#242;&#238;&#235;&#252;&#234;&#238; &#246;&#232;&#244;&#240;&#251; &#228;&#235;&#255; text1
Private Sub Text1_KeyPress(KeyAscii As Integer)
'***kolu steraemo 4uslo to***********
    If KeyAscii = 8 Then Exit Sub
'****kolu vvodumo tsufru***************
    If KeyAscii > 47 And KeyAscii < 58 Then Exit Sub
'****kolu inwi sumvolu to ne vvodnmo i zvyk****
    KeyAscii = 0
    Beep
End Sub

' &#240;&#224;&#231;&#240;&#229;&#248;&#232;&#242;&#252; &#226;&#226;&#238;&#228;&#232;&#242;&#252; &#242;&#238;&#235;&#252;&#234;&#238; &#246;&#232;&#244;&#240;&#251; &#228;&#235;&#255; text2
Private Sub Text2_KeyPress(KeyAscii As Integer)
'***kolu steraemo 4uslo to***********
    If KeyAscii = 8 Then Exit Sub
'****kolu vvodumo tsufru***************
    If KeyAscii > 47 And KeyAscii < 58 Then Exit Sub
'****kolu inwi sumvolu to ne vvodnmo i zvyk****
    KeyAscii = 0
    Beep
End Sub

' &#240;&#224;&#231;&#240;&#229;&#248;&#232;&#242;&#252; &#226;&#226;&#238;&#228;&#232;&#242;&#252; &#242;&#238;&#235;&#252;&#234;&#238; &#246;&#232;&#244;&#240;&#251; &#228;&#235;&#255; text3
Private Sub Text3_KeyPress(KeyAscii As Integer)
'***kolu steraemo 4uslo to***********
    If KeyAscii = 8 Then Exit Sub
'****kolu vvodumo tsufru***************
    If KeyAscii > 47 And KeyAscii < 58 Then Exit Sub
'****kolu inwi sumvolu to ne vvodnmo i zvyk****
    KeyAscii = 0
    Beep
End Sub


но есть маленькое НО! MaxLenght я ставлю для каждого текстбокса отдельно (такое, какое мне нужно) но это ж не значит что при недоборе пары цифр от MaxLenght кнопка не станет активной, ведь проверяется только наличие в ней чего-то а не его колличество. нужно, чтоб MaxLenght был 8 и только когда в текстбоксе будет действительно 8 цифр, тогда command1.enable=true.
Автор ответа:
 intel-DX

в твоей проге и точка тоже залочена, как подправить?

Ответить

Номер ответа: 12
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #12
Добавлено: 02.05.07 02:57
Воспользуйся постом 7 код менший будет

Ответить

Номер ответа: 13
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #13
Добавлено: 02.05.07 02:57
Воспользуйся постом 7 код менший будет

Ответить

Номер ответа: 14
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #14
Добавлено: 02.05.07 03:04
Нащот "но" зделай так если text1.Text прошол все условия тогда a=a+1 если и text2.Text прошол тогда а=а+1 text3 аналог.А пото проверяеш if a=3 then command1.Enabled=true else...

Ответить

Номер ответа: 15
Автор ответа:
 intel-DX



ICQ: 445091742 

Вопросов: 4
Ответов: 169
 Профиль | | #15 Добавлено: 02.05.07 03:06
4 fuzytsfcrew

1)Исправление для точки:
If KeyAscii = 46 Or (KeyAscii > 47 And KeyAscii < 58) Then Exit Sub

2)У меня есть идеи, только скажи сколько текстбоксов у тебя будет(примерно)

Ответить

Страница: 1 | 2 | 3 |

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



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