Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    [VB6]: Parole accessibili.

    Ciao ragazzi
    tempo fa un collega del forum mi aveva gentilmente postato un codice che mi permetteva di negare alcune parole dopo la lettera "@", qui sotto vi posto il codice:

    Private Sub EMAIL_LostFocus()
    Dim ATpos As Long
    Dim i
    If EMAIL.Text = "" Then
    Else
    'If n < List1.ListCount Then List1.ListIndex = List1.TopIndex + n

    ATpos = InStr(1, EMAIL.Text, "@")
    If ATpos = 0 Or Mid$(EMAIL.Text, ATpos + 1) <> "libero.it" Then
    If ATpos = 0 Or Mid$(EMAIL.Text, ATpos + 1) <> "alice.it" Then

    MsgBox "Puoi inserire solo indirizzi di posta con questi indirizzi:" & vbCr & vbCr & "Esempio:" & vbCr & "info@libero.it" & vbCr & "info@alice.it", vbCritical, "Errore"
    EMAIL.SetFocus
    Exit Sub
    End If
    End If
    End Sub

    ...quello che volevo chiedervi, nel caso ci fosse una lista di parole in una flex anzichè scriverlo nel codice, come si potrebbe fare?

    Spero di essere stato abbastanza chiaro.
    Claudio

  2. #2

    Re: [VB6]: Parole accessibili.

    Originariamente inviato da vr-claudio
    Ciao ragazzi
    tempo fa un collega del forum mi aveva gentilmente postato un codice che mi permetteva di negare alcune parole dopo la lettera "@", qui sotto vi posto il codice:

    Private Sub EMAIL_LostFocus()
    Dim ATpos As Long
    Dim i
    If EMAIL.Text = "" Then
    Else
    'If n < List1.ListCount Then List1.ListIndex = List1.TopIndex + n

    ATpos = InStr(1, EMAIL.Text, "@")
    If ATpos = 0 Or Mid$(EMAIL.Text, ATpos + 1) <> "libero.it" Then
    If ATpos = 0 Or Mid$(EMAIL.Text, ATpos + 1) <> "alice.it" Then

    MsgBox "Puoi inserire solo indirizzi di posta con questi indirizzi:" & vbCr & vbCr & "Esempio:" & vbCr & "info@libero.it" & vbCr & "info@alice.it", vbCritical, "Errore"
    EMAIL.SetFocus
    Exit Sub
    End If
    End If
    End Sub

    ...quello che volevo chiedervi, nel caso ci fosse una lista di parole in una flex anzichè scriverlo nel codice, come si potrebbe fare?

    Spero di essere stato abbastanza chiaro.
    Claudio
    Puoi costruire una funzione che verifichi se un indirizzo e' consentito, o meno, secondo le regole che stabilisci...

    In questo esempio, la lista delle "parole" NEGATE dopo l'@ e' contenuto in una listbox (List1):
    codice:
    Private Function ControllaIndirizzi(ByVal Email As String) As Boolean
       Dim i As Integer
       Email = UCase$(Email)
       If Email Like "?*@?*.?*" Then    'l'indirizzo deve essere del tipo:  x@x.x
          For i = 0 To List1.ListCount - 1
             If Email Like "?*@" & UCase$(List1.List(i)) Then Exit Function
          Next
          'se non e' contenuta nella lista delle parole negate, e' OK !
          ControllaIndirizzi = True
       End If
    End Function
    In questi casi l'operatore LIKE e' molto potente, leggiti un po' di documentazione a riguardo su MSDN...

    P.S.: qui il controllo di validita' sull'indirizzo e' naturalmente "ridotto all'osso", senza nessuna pretesa di completezza....
    IceCube_HT (VB6 fan Club)

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    361

    Info

    Ciao carissimo icecube_HT
    in tanto grazie mille come al solito per la tua risposta sempre molto preziosa, ma ho guardato il tuo codice e dovrebbe essere al contrario, cioè se dopo la @ non si scrive almeno una delle voci presente nella List1 non è possibile effettuare nulla.

    Grazie mille
    Claudio

  4. #4

    Re: Info

    Originariamente inviato da vr-claudio
    Ciao carissimo icecube_HT
    in tanto grazie mille come al solito per la tua risposta sempre molto preziosa, ma ho guardato il tuo codice e dovrebbe essere al contrario, cioè se dopo la @ non si scrive almeno una delle voci presente nella List1 non è possibile effettuare nulla.

    Grazie mille
    Claudio
    Infatti avevo evidenziato in maiuscolo "parole" NEGATE , perche' cosi' avevi scritto, anche se nel codice era il contrario , ma mi sembrava cosi' ovvia la modifica... :
    codice:
    Private Function ControllaIndirizzi(ByVal Email As String) As Boolean
       Dim i As Integer
       Email = UCase$(Email)
       If Email Like "?*@?*.?*" Then    'l'indirizzo deve essere del tipo:  x@x.x
          For i = 0 To List1.ListCount - 1
             If Email Like "?*@" & UCase$(List1.List(i)) Then ControllaIndirizzi = True: Exit Function
          Next
        End If
    End Function
    IceCube_HT (VB6 fan Club)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.