none
Forcer l'utilisateur à n'utiliser que certains caractères dans une inputbox RRS feed

  • Question

  • Bonjour,

    Il est facile de forcer l'utilisateur à utiliser seulement certains caractères lorsque celui-ci tape un mot dans une TextBox. ( KeyPress =>

    If Asc(e.KeyChar) < 44 Or Asc(e.KeyChar) > 57 Then e.KeyChar = Nothing)

    Par contre, je ne sais pas faire lorsqu'il s'agit de forcer certains caractères lorsque l'utilisateur entre son texte dans une InputBox.

    Quelqu'un peut-il me dire si c'est possible, et si oui, comment faire ?


    Pierre Allemand

    mardi 22 mai 2012 15:55

Réponses

  • Juste un conseil : oubliez InputBox ;-)

    Il est préférable, plus simple, plus flexible, plus joli, etc. de développer sa propre WinForms que d'utiliser la vieille InputBox datant de VB1.


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mercredi 23 mai 2012 06:40

Toutes les réponses

  • Bonjour Pierre,

    Oui c'est possible, presque comme avec une textBox, ainsi par exemple :

    Option Explicit On
    Public Class Form1
      Sub Form1_Shown(sender As Object, e As System.EventArgs) Handles Me.Shown
        Dim r As String = ""
        r = InputBox("Saisir votre texte ? ", "Saisie de texte", )
        Dim erreur As Boolean = False
        Dim mini As Byte = 2 ' exemple, minimum de longueur de saisie
        Dim i As Integer
        r = Trim(r)
        If r = "" Then Exit Sub ' abandon
        If Len(r) > 0 And Len(r) < mini Then erreur = True ' trop petit
        For i = 1 To Len(r)
          Select Case Asc(Mid(r, i, 1))
            Case 65 To 90
            Case 97 To 122
            Case Else : erreur = True
          End Select
        Next i
        If erreur = True Then
          MsgBox("Err dans la saisie ... remédier ... ", vbExclamation)
          Exit Sub ' faut rappeler l'Input box si besoin, mais pas par récursivité, n'aime pas !
        End If
        MsgBox(r & vbLf & "bonne saisie", vbInformation)
      End Sub
    End Class
    

    Cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire


    • Proposé comme réponse EhJoe mercredi 23 mai 2012 06:56
    mardi 22 mai 2012 21:54
  • Juste un conseil : oubliez InputBox ;-)

    Il est préférable, plus simple, plus flexible, plus joli, etc. de développer sa propre WinForms que d'utiliser la vieille InputBox datant de VB1.


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mercredi 23 mai 2012 06:40
  • Pierre, Richard (ah, ça fait Pierre-Richard), le hasard :o)

    Je suis de l'avis de Richard, une form c'est bien plus beau et souple (plus rapide, peut être pas) et hors contexte "vbModal" d'une autre form, c'est utilisable...

    Cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire


    mercredi 23 mai 2012 07:02
  • Ils embauchent chez http://www.rireetchansons.fr/ ;-)))

    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mercredi 23 mai 2012 07:05
  • Richard,

    Voyant tes connaissances j'avais une question Asp, mais je n'arrive pas à trouver ton mail ; en fait je voulais savoir s'il y avait une possibilité simple et gratuite de faire tourner de l'Asp sur un serveur qui est sous Apache en php (free.fr) ?

    Merci, cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire


    mercredi 23 mai 2012 07:19
  • Pas possible (à ma connaissance), à moins qu'il y ai des solutions du côté de Mono. Mais ca demande certainement des installs sur le serveur.

    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mercredi 23 mai 2012 07:30
  • Merci de vos conseils. Je pense que la solution de Richard est la plus pertinents sinon la plus rapide... En tous cas, je la prends.

    Pierre Allemand

    jeudi 24 mai 2012 12:23