Newsgroup: it.comp.lang.visual-basic
Titolo: Validazione Campo text

Scusate la stupidità della domanda, ma mi basta sapere che comando(se ne
esiste uno) fa al caso mio, poi me lo vado a studiare da solo.
In una form di immissione dati alcuni campi devono essere obbligatori.
Per controllare che il campo sia stato riempito uso
if text1.text = "" then
msgbox....
exit sub
end if
Il problema è che mi hanno fatto notare che se l'utonto preme spazio (anche
più di una volta) la validazione perde effetto in quanto la condizione
text1="" risulta falsa
Per prevedere questo potrei inserire degli ulteriori controlli inserendo
eventualmente la condizione text1.text=" "
se però il campo prevede 16 caratteri e quel bifolco dell'utonto si appoggia
per sbaglio col gomito sulla barra spaziatrice e mi mette tutti i 16
caratteri, o 15 o 14.
Le cose cambiano ogni volta.
potrei costruirmi 16 if then else con i relativi " " ,  "  "  , "   "
oppure metterli nell'unico if then else con degli or
Esiste un sistema più semplice, ma soprattuto meno artigianale?
Ho delle text obbligatorie dove i caratteri inseribili sono anche 100!!
Grazie
--
------------------------------------------------------------
Davide Russo....
        ....a very internet person
-----------------------------------------------------------

text1="" risulta falsa
If (Len(Trim$(Text1.Text)) = 0) Then
     MsgBox "Il campo Text1 non puo' rimanere vuoto!", vbCritical
End If
-- 
hth, hal

 hth, hal
:-)
Looooooooove

Hal..non basta:
If (Trim$(Text1.Text) = "") Then
     MsgBox "Il campo Text1 non puo' rimanere vuoto!", vbCritical
End If
?????
Ciao SIMO




[OT]
Contravvenendo all'articolo 9-10 (anche se non č specificato chiaramente di
non postare inutili risposte), riformulo la nota che ho fatto ad hal (+ che
una nota era una domanda) cosě imparo a quotare.
[IO]
Hal..non basta:
If (Trim$(Text1.Text) = "") Then
     MsgBox "Il campo Text1 non puo' rimanere vuoto!", vbCritical
End If
per far ciň che dici ??????
[OT]
Cmq. grazie della Risposta Roal, ma sei sicuro che non perda + tempo a
contare le lettere della stringa? Cmq..ripensandoci forse hai ragione tu,
data la gestione delle stringhe di Vb....
Ciao SIMO

il tuo quoting da troppo spazio alla fantasia) 
LOL
-- 
ciao, hal

data la gestione delle stringhe di Vb....
Il motivo e' che la String di vb e' di tipo BSTR: un puntatore ad un array
di wchar, a volte terminato da NULL (ma non sempre) e _sempre_
preceduto da un campo lungo 4 byte che contiene, toh!, il numero 
di caratteri (non di byte) gia' precalcolato.
Un verifica puo' essere fatta con questo banale programmino:
Option Explicit
Public Sub Main()
    Dim s As String
    Dim i As Long, j As Long
    Dim inizio As Single
    Dim limite As Long
    Dim loop_ As Long
    Dim tempi() As Single
 
    s = "Questa variabile String contiene del testo"
    limite = 9
    loop_ = 99999999
    ReDim tempi(0 To limite) As Single
 
    For j = 0 To limite Step 2
        inizio = Timer
        For i = 0 To loop_
            If (s = "") Then
            End If
        Next i
        tempi(j) = Timer - inizio
 
        DoEvents
 
        inizio = Timer
        For i = 0 To loop_
            If (Len(s) = 0) Then
            End If
        Next i
        tempi(j + 1) = Timer - inizio
    Next j
 
    s = vbNullString
    For j = 0 To limite Step 2
        s = s & "Stringa nulla = " & tempi(j) & vbTab & _
                "Lettura lunghezza = " & tempi(j + 1) & vbNewLine
    Next j
    MsgBox s, vbInformation
End Sub
-- 
ciao, hal

 > End If
[cut]
