begin process at 2012 02 13 00:22:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

Débutants

 > 

Affichage dans TextBox Non numérique ou -Infini ou +Infini


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Affichage dans TextBox Non numérique ou -Infini ou +Infini

jeudi 12 avril 2007 à 18:36:07 | Affichage dans TextBox Non numérique ou -Infini ou +Infini

Sipat

Bonjour,
Je viens de me rendre compte qu'il s'affiche suivant le calcul :
Non numérique ... quand je saisie un zéro..., alors pour y remedier je fais cela :
If Mid(TextBox11.Text, 1, 3) = "Non"Then TextBox11.Text = "0"
If Mid(TextBox11.Text, 1, 7) = "-Infini"Then TextBox11.Text = "0"
If Mid(TextBox11.Text, 1, 7) = "+Infini"Then TextBox11.Text = "0"
Je voulais vous demandez  s'il falait faire comme cela ?
Une autre solution.
Pour empêcher le double zéro je pensais à ajouter une ligne la :
PrivateSub TextBox2_KeyPress(ByVal sender AsObject, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
'remplacement du point par une virgule
If Asc(e.KeyChar) = 46 Then e.KeyChar = Chr(44) '","
'si c'est une virgule et qu'il y en a déja une dans le textbox, ou qu'elle est tappé en premier caractère, on annule la saisie
If Asc(e.KeyChar) = 44 And (CType(sender, TextBox).Text.IndexOf(",") > 0 OrCType(sender, TextBox).Text = "") Then e.Handled = True
'si le caractere n'est pas un chiffre, back ou une virgule, on annule
IfChar.IsDigit(e.KeyChar) = FalseAnd Asc(e.KeyChar) <> System.Windows.Forms.Keys.Back And Asc(e.KeyChar) <> 44 Then e.Handled = True
EndSub

mais je n'y arrive pas (J'arrive qu'a supprimer totalement l'appuis  sur 0 !)
Avez-vous une idée ?
Merci.
jeudi 12 avril 2007 à 18:59:20 | Re : Affichage dans TextBox Non numérique ou -Infini ou +Infini

jack

Administrateur CodeS-SourceS
Salut
Ta question est incompréhensible.
Tu travailles sur ton projet et tu sais de quoi tu parles, mais nous, on n'en sait rien.
Alors éclaircis les choses.
Tu parles d'infini, de double zéro, de non numérique ....

Comme une rédaction en français :
Introduction : Dans quel contexte, ce que tu cherches à faire
Développement : Tu expliques ce que tu as déjà fait
Conclusion : ta question

Parce qu'une phrase qui commence par "Je viens de me rendre compte" ne nous aide pas vraiment
Merci
jeudi 12 avril 2007 à 20:50:29 | Re : Affichage dans TextBox Non numérique ou -Infini ou +Infini

Sipat

Bonsoir,
Excuser-moi pour le charabia...
- Introduction : Dans quel contexte, ce que tu cherches à faire
Je veux faire calculer TextBox1 et  TextBox2 ensemble et recuperer le resultat sur un troisieme TexBox11
- Développement : Tu expliques ce que tu as déjà fait
Voilà ce que j'ai fais :

PrivateSub TextBox1_GotFocus(ByVal sender AsObject, ByVal e As System.EventArgs) Handles TextBox1.GotFocus
TextBox1.SelectionLength = 0
EndSub

Private
Sub TextBox1_KeyPress(ByVal sender AsObject, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
'remplacement du point par une virgule
If Asc(e.KeyChar) = 46 Then e.KeyChar = Chr(44) '","
'si c'est une virgule et qu'il y en a déja une dans le textbox, ou qu'elle est tappé en premier caractère, on annule la saisie
If Asc(e.KeyChar) = 44 And (CType(sender, TextBox).Text.IndexOf(",") > 0 OrCType(sender, TextBox).Text = "") Then e.Handled = True
'si le caractere n'est pas un chiffre, back ou une virgule, on annule
IfChar.IsDigit(e.KeyChar) = FalseAnd Asc(e.KeyChar) <> System.Windows.Forms.Keys.Back And Asc(e.KeyChar) <> 44 Then e.Handled = True
EndSub

Private
Sub TextBox1_KeyUp(ByVal sender AsObject, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp
If TextBox1.Text <> "" = TrueAnd TextBox2.Text <> ""Then TextBox11.Text = CStr((CDbl(TextBox2.Text) - CDbl(TextBox1.Text)) / CDbl(TextBox2.Text) * 100)
EndIf
EndSub

Private
Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If IsNumeric(TextBox1.Text) = TrueThen
If TextBox1.Text = ""Then TextBox1.Text = "" : TextBox11.Text = ""
Else
TextBox1.Text = "" : TextBox11.Text = ""
EndIf
EndSub

Private

Sub TextBox2_KeyPress( ByVal sender As Object , ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
'remplacement du point par une virgule
If Asc(e.KeyChar) = 46 Then e.KeyChar = Chr(44) '","
'si c'est une virgule et qu'il y en a déja une dans le textbox, ou qu'elle est tappé en premier caractère, on annule la saisie
If Asc(e.KeyChar) = 44 And ( CType (sender, TextBox).Text.IndexOf( "," ) > 0 Or CType (sender, TextBox).Text = "" ) Then e.Handled = True
'si le caractere n'est pas un chiffre, back ou une virgule, on annule
If Char .IsDigit(e.KeyChar) = False And Asc(e.KeyChar) <> System.Windows.Forms.Keys.Back And Asc(e.KeyChar) <> 44 Then e.Handled = True
End Sub

Private Sub TextBox2_KeyUp( ByVal sender As Object , ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox2.KeyUp
EndSub

Private Sub TextBox2_TextChanged( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
' If Mid(TextBox2.Text, 1, 2) = "00" Then TextBox2.Text = "" 's'il y a saisie deux 00 alors efface
If IsNumeric(TextBox2.Text) = True Then
   If TextBox2.Text = "" Then TextBox11.Text = ""
       TextBox11.Text = CStr (( CDbl (TextBox2.Text) - CDbl (TextBox1.Text)) / CDbl (TextBox2.Text) * 100)

Else
   If IsNumeric(TextBox2.Text) = False Then TextBox2.Text = "" : TextBox11.Text = ""
End If
End Sub

Private

Sub TextBox11_TextChanged( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox11.TextChanged
' Dim toto As String
' MsgBox(TextBox11.Text)
' toto = Mid(TextBox11.Text, 1, 3)
' If Mid(TextBox11.Text, 1, 2) = "00" Then TextBox11.Text = "0"
'If Mid(TextBox11.Text, 1, 7) = "-Infini" Then TextBox11.Text = "0"
'If Mid(TextBox11.Text, 1, 3) = "Non" Then TextBox11.Text = "0"
If TextBox11.Text <> "" = True Then
TextBox11.Text = CStr (System.Math.Round( CDbl (TextBox11.Text), 2))
End If
End Sub
- Conclusion : ta question
Comment eviter la saisie de deux zero qui se suivent au debut (style 0012)
Je voulais vous demandez  s'il falait faire comme cela pour eviter que dans certaines conditions le TexBox11 affiche  le texte suivant (Non numérique ou -Infini ou +Infini)?
If
Mid(TextBox11.Text, 1, 3) = "Non"Then TextBox11.Text =
"0"
If Mid(TextBox11.Text, 1, 7) = "-Infini"Then TextBox11.Text =
"0"
If Mid(TextBox11.Text, 1, 7) = "+Infini"Then TextBox11.Text =
"0"

Pour le double zero peut être serait 'il possible d'ajouter une ligne dans KeyPress ?
Merci, bonne soirée.


vendredi 13 avril 2007 à 18:43:54 | Re : Affichage dans TextBox Non numérique ou -Infini ou +Infini

jack

Administrateur CodeS-SourceS
Réponse acceptée !
Salut
C'est plus clair, en effet.
Un double zéro en tête de zone de texte, c'est facile à repérer.
Tu le fais déjà pour la saisie d'un virgule en tête de champ (*)
Il te suffit d'extrapoler :
      'si c'est encore un zéro et qu'il y en a déja un dans le textbox, on annule la saisie 
      If e.KeyChar = "0" And TextBox1.Text="0" Then e.Handled =
True
Ca devrait suffire, non ?

(*) Annulation d'une virgule en tête : Pourquoi ?
Cela fait partie des normes généralement autorisées (voir Calculette ou Excel)
Il vaudrait mieux dire que si la virgule est repérée en tant que premier caractère, on insère un 0 devant, ça serait plus logique.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
samedi 14 avril 2007 à 08:58:10 | Re : Affichage dans TextBox Non numérique ou -Infini ou +Infini

Sipat

Bonjour,
Je viens d'ajouter la ligne ça fonctionne bien pour le double zéro en tête de zone de texte.
Et pour ce qui est de  l'affichage ... dans certaines conditions le TexBox11 affiche  le texte suivant (Non numérique ou -Infini ou +Infini)?
J'ai ajouté les lignes suivantes dans TextBox11_TextChanged
If Mid(TextBox11.Text, 1, 3) = "Non"Then TextBox11.Text = "0"
If Mid(TextBox11.Text, 1, 7) = "-Infini"Then TextBox11.Text =
"0"
If Mid(TextBox11.Text, 1, 7) = "+Infini"Then TextBox11.Text =
"0"

SubTextBox11_TextChanged(ByValsender AsSystem.Object, ByVale AsSystem.EventArgs) HandlesTextBox11.TextChanged
If Mid(TextBox11.Text, 1, 3) = "Non"Then TextBox11.Text = "0"
If Mid(TextBox11.Text, 1, 7) = "-Infini"Then TextBox11.Text =
"0"
If Mid(TextBox11.Text, 1, 7) = "+Infini"Then TextBox11.Text =
"0"
IfTextBox11.Text <> ""= TrueThen
TextBox11.Text = CStr(System.Math.Round(CDbl(TextBox11.Text), 2))
EndIf
EndSub

Je voulais vous demander s'il fallait faire comme cela pour éviter l'affichage de Non numérique ou -Infini ou +Infini dans TextBox11 ou peut être qu'il y a une autre solution ?
Merci,bonne journée

dimanche 15 avril 2007 à 19:56:11 | Re : Affichage dans TextBox Non numérique ou -Infini ou +Infini

jack

Administrateur CodeS-SourceS
Réponse acceptée !
Re
Bah, si ça fonctionne, laisse comme ça, mais il serait utile d'utiliser un Select Case :
Select Case True
   Case (Mid(TextBox11.Text, 1, 3) = "Non"), (Mid(TextBox11.Text, 1, 7) = "-Infini"), (Mid(TextBox11.Text, 1, 7) =
"+Infini")
         TextBox11.Text =
"0"
   Case Else
         TextBox11.Text = CStr(System.Math.Round(CDbl
(TextBox11.Text), 2))
End Select


Ne retiens que l'idée, je n'ai pas tester la syntaxe : ADSP (à démerder sur place)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
dimanche 15 avril 2007 à 21:11:40 | Re : Affichage dans TextBox Non numérique ou -Infini ou +Infini

Sipat

Bonsoir,
J'ai ajouté cela :

Private

Sub TextBox11_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox11.TextChanged

SelectCaseTrue

Case (Mid(TextBox11.Text, 1, 3) = "Non"), (Mid(TextBox11.Text, 1, 7) = "-Infini"), (Mid(TextBox11.Text, 1, 7) = "+Infini")

TextBox11.Text =

"0"

CaseElse

If TextBox11.Text <> "" = TrueThen TextBox11.Text = CStr(System.Math.Round(CDbl(TextBox11.Text), 2))

EndSelect

End

Sub
Merci, bonne soirée.


Cette discussion est classée dans : textbox, text, infini, textbox11, keychar


Répondre à ce message

Sujets en rapport avec ce message

remplacer un text dans un textbox contenue dans une autre form [ par nox ] Bonjour,est il possible de remplacer un text dans un textbox d'une form par un autre text precedement selectionné contenue dans un textbox mais dans u ??? Taille max d'une TextBox ?????? [ par Daniel ] Bonjour,J'utilise une TextBox pour afficher un fichier text...par la métode :____________________________________________________________If Fichier_a_ majuscules et minuscule ? [ par Brodeur ] Bonjour, ca va tout le monde ? Je me demandais comment faire pour qu'une variable String soit concidere par le programme comme etant ecrit soit en min Additionner des textbox avec virgule ? pour presseb [ par néo ] Pour additionner des textbox on applique la formule suivante.TextBox3.Text = CInt(TextBox1.Text) + CInt(TextBox2.Text)cependant comment faire pour les Taille d'un text dans un textbox en mm [ par Eric ] Comment savoir combien mesure en largeur et en milimètre une ligne de caractère dans un textbox en ayant par exemple une font Arial de 12pts.merci d'a Comment faire pour savoir le width d'un textbox1.text ??? [ par PILOTEX ] Voilà je voudrais savoir comment on fait pour savoir le width d'un textbox1.text. Pour mieux expliquer, il faut que je sache la longueur du text situe Addition du contenu de plusieurs textbox [ par flipote ] Quand j'effectue la ligne de commande ci dessous le resulat afficher est la juxtaposition des chiffres rentrés.Par ex si je rentre "1" dans la premier Aidez moi svp !!! [ par Etienne ] comment peut-on faire pour que lorsque l'on veut ajouter du text à un textbox :If Text1.Text = "" Then Text2.Text = "-" & Text2.Textle text "-" n'aill Problème d'enregistrer des textbox [ par Etienne ] Comment fait-on pour enregistrer plusieurs textbox dans un fichier text, avec chaque text des textbox par ligne, avec la commande commondialog ? Etien Sélectionner le Text d'un TextBox [ par MadJoker ] Comment sélectionner le contenu d'un TextBox qui reçoit le focus ??? Je croyais que ceci fonctionnerait ????? ;-/----------------------------------


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales