Probleme sur la mise en forme des caractere dans une textbox

Takitak Messages postés 8 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 25 mai 2008 - 22 avril 2008 à 18:22
Takitak Messages postés 8 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 25 mai 2008 - 22 avril 2008 à 23:01
Bonsoir tout le monde :)
Voila actuellement j'ai un projet de visual basic a faire pour l'iut , j'ai travailler toute l'apres midi dessus mais je coince a un moment.
Le projet consiste a realiser une application pour l'inscription de personne a des examens , il faut donc rentrer ses coordonnée personnelles.
Le sujet impose que les deux premiers caracteres de la textbox corespondant au code postal soit different de  0 , mais cette notion n'a pas du tout été abordé en cours :s  . (pour ceux qui est de n'autoriser que des caractere numerique , cela a été fait sans probleme ).

J'aimerais aussi faire en sorte que le premier caractere dans une textbox (celle qui pour le prenom et le nom ) soit mis directement en majuscule (et encore une fois , pas vu en cours ) , j'ai pensé le faire sur l'evenement Lostfocus des textbox mais ne connaisant pas du tout la fonction ou l'algorithme....

Voila , ce sont les problemes sur lesquels je coince beaucoup :/ , et de l'aide me serait plus que benefique.

En vous remerciant d'avance , bonne soirée

11 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
22 avril 2008 à 18:56
Bonjour,

Intéressé-toi à l'évènement Keypress,
L'un de ses paramètres est le code ASCII de la touche frappée
si tu ne veux pas d'un caractère, il suffit de dire que Keyascii = 0
Regarde ce qu'est Selstart dans ton aide en ligne et sers-t'en
Regarde aussi ce que sont UCase et LCase

Tu devrais t'en sortir avec celà uniquement, après avoir lu leur utilisation dans ton aide en ligne (sur ta machine, donc)
Fais des essais et reviens en cas de difficulté d'application, en nous exposant cette difficulté.
0
Supra3000 Messages postés 159 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 8 janvier 2010 2
22 avril 2008 à 19:06
Tu peux également utilise le code suivant en l'adaptant :


dim lecodepostal as string


lecodepostal = txtcodepostal.caption


dim tableauducode[] as string

tableauducode = lecodepostal.tochararray

if isnumeric(tableauducode[0]) or isnumeric(tableauducode[1]) then

'////////////////////Ton code postal a des numero au 2 premier emplacement////////

end if
0
Supra3000 Messages postés 159 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 8 janvier 2010 2
22 avril 2008 à 19:07
dim tableauducode[] as char  -------> erreur dsl =p

Bonne prog
@+
0
Takitak Messages postés 8 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 25 mai 2008
22 avril 2008 à 20:19
Je n'ai pas très bien compris  l'explication en ligne  sur comment faire , je met les codes que j'ai associé au evenement Keypress , cela vous aidera peut etre a meiu cerné mon problème :

Pour le code postal  (les commentaires , c'est juste pour m'y retrouver ) :

Private
Sub Txtcodepostal_KeyPress(
ByVal sender
As
Object,
ByVal e
As System.Windows.Forms.KeyPressEventArgs)
Handles Txtcodepostal.KeyPress

If e.KeyChar =
"0"
Then e.KeyChar = Chr(0)

If e.KeyChar = vbBack
Then
Exit
Sub
'autorise la touche retour

If e.KeyChar <
"0"
Or e.KeyChar >
"9"
Then e.KeyChar = Chr(0)
'autorise seulement des caractere numerique

End
Sub

Pour le nom et le prenom , j'ai fait une sub (actuellement elle met toutes les lettres en majuscule , mais cela va changer ):

Private
Sub machin(
ByRef e
As System.Windows.Forms.KeyPressEventArgs)

Dim s
As
String =
" çéè-"

If InStr(s, e.KeyChar) > 0
Then
'si il l'a trouver , alors = a 0

Exit
Sub

End
Ife.KeyChar = UCase(e.KeyChar)

If e.KeyChar = vbBack
Then
Exit
Sub
'autorise la touche retoure.KeyChar = UCase(e.KeyChar)

'je met en majuscule mon caractere

If e.KeyChar <
"A"
Or e.KeyChar >
"Z"
Then e.KeyChar = Chr(0)

End
Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Supra3000 Messages postés 159 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 8 janvier 2010 2
22 avril 2008 à 20:26
C'est mieux à ma facon :) casse pas trop la tete :


dim lecodepostal as string  'variable vide


lecodepostal = txtcodepostal.caption
'////////Exemple contient "allo" -> lecodepostal="ALLO"////////////


dim tableauducode[] as schar 'un tableau de lettre ou chiffre vide

tableauducode = lecodepostal.tochararray
'////donc tableauducode[0] = "A"     tableauducode[1] = "L"  tableauducode[2] = '////"L"            tableauducode[3] = "O"

'/////// Reste a verifier que les 2 premier caractères ( tableauducode[0] et [1] sont '/////// pas des chiffres
if isnumeric(tableauducode[0]) or isnumeric(tableauducode[1]) then

'////////////////////Ton code postal a des numero au 2 premier emplacement////////

end if
0
Takitak Messages postés 8 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 25 mai 2008
22 avril 2008 à 20:30
Ha Supra3000 je n'avais pas vu ta reponse vu que j'actualiser la page de temps en temps.
J'avais effectivement penser a faire de la string un tableau mais je ne voyais pas du tout comment m'y prendre :/ .
En tout cas merci beaucoup , je vais essayer de suite ^^
0
Takitak Messages postés 8 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 25 mai 2008
22 avril 2008 à 20:44
"Une exception non gérée du type 'System.IndexOutOfRangeException' s'est produite dans Projetexamen.exe


Informations supplémentaires : L'index se trouve en dehors des limites du tableau."

Voila , j'ai cette erreur en testant le code que tu m'a donner ,



If
tableauducode(0) =

"0"



Or
tableauducode(1) =

"0"



Then


 elle plante sur cette ligne (que j'ai modifier pour corespondre  a ce dont j'ai besoin )
0
Supra3000 Messages postés 159 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 8 janvier 2010 2
22 avril 2008 à 20:58
oki, je ne connais pas la syntaxe exacte mais essai:

Iftableauducode(0).value =
"0"
Ortableauducode(1).value =
"0"Then

Verifie également si 
 tableauducode(0) contient une valeur avec la fenetre d'execution en mode debug (affichage / fenetre d'excution). Une fois passe la ligne:
 tableauducode = lecodepostal.tochararray 

tape dans la fenetre d'execution : ?tableauducode(0) 
---> la valeur apparait dans notre exemple A

Bonne prog
@+
0
Takitak Messages postés 8 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 25 mai 2008
22 avril 2008 à 21:14
Si quelqu'un d'autre avait une proposition a faire.... :)  .
En tout cas , merci   beaucoup supra3000 de m'avoir repondu
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
22 avril 2008 à 21:36
Re,

Cà :

PrivateSub Txtcodepostal_KeyPress(ByVal sender AsObject, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Txtcodepostal.KeyPress

ce n'est pas du VB6 (présente section du forum), mais du VB.Net ...
0
Takitak Messages postés 8 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 25 mai 2008
22 avril 2008 à 23:01
mes excuses
n m'a presenter ca comme du VB , donc je m'y retrouver pas trop ici :s .
0
Rejoignez-nous