Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

TextBox en VB6 - Case Tête !!!

5 réponses
Avatar
ICyam.net
Bonjour à tous,

Bon alors, voilà mon problème :

J'effectue un traitement sur un texte frapper dans un TextBox, après ce
traitement je veut afficher le texte traité dans le TextBox et je me
retrouve systématiquement avec un "chr(10)+chr(13)" en début de texte ce qui
me géne...

Voici mon code très simple... (ListeFormule est ma TextBox Multiligne)

Private Sub ListeFormule_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
FormuleIn = ListeFormule.Text
ListeFormule.Refresh
-------
"Traitement de FormuleIn"
------
ListeFormule.Text = FormuleIn + Chr(13) + Chr(10)
End If
End Sub

En fait je voudrais que FormuleIn traité se réaffiche au début (haut) de
LIsteFormule !!! Hors je me retrouve systèmatique avec un chr(10)+chr(13) au
debut de FormuleIn après son traitrement. et je n'en veut pas !!!!!!!!!!!!!!

Dans le Traitement je ne rejoute aucun de ces caractère

Merci pour votre aide

5 réponses

Avatar
daeMOn 72
A mon avi c'est dans la declaration de tes variables que ca peche
en effet l'addition en VB est vraiment bizard
Pour additionner il faut :
Les deux expressions sont des types de données numériques ( Byte, Boolean,
Integer, Long, Single, Double, Date, Currency ou decimal )
Ou alors
Une expression est d'un type numérique et l'autre est de type Variant, sauf
Null
Ou alors
Les deux expressions de type variant sont numériques.
Ou alors
Une expression de type Variant est numérique et l'autre est une chaîne
Si tu ne rempli pas un de ces cas, il se passe ce que tu peu voir, c'est a
dire que tte la ligne d'addition ce trouve reecrite dans la txtbox...
En esperant avoir résolu ton pb :)

"ICyam.net" a écrit dans le message de news:
3fa8bf83$1$2770$
Bonjour à tous,

Bon alors, voilà mon problème :

J'effectue un traitement sur un texte frapper dans un TextBox, après ce
traitement je veut afficher le texte traité dans le TextBox et je me
retrouve systématiquement avec un "chr(10)+chr(13)" en début de texte ce
qui

me géne...

Voici mon code très simple... (ListeFormule est ma TextBox Multiligne)

Private Sub ListeFormule_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
FormuleIn = ListeFormule.Text
ListeFormule.Refresh
-------
"Traitement de FormuleIn"
------
ListeFormule.Text = FormuleIn + Chr(13) + Chr(10)
End If
End Sub

En fait je voudrais que FormuleIn traité se réaffiche au début (haut) de
LIsteFormule !!! Hors je me retrouve systèmatique avec un chr(10)+chr(13)
au

debut de FormuleIn après son traitrement. et je n'en veut pas
!!!!!!!!!!!!!!


Dans le Traitement je ne rejoute aucun de ces caractère

Merci pour votre aide





---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.530 / Virus Database: 325 - Release Date: 22/10/2003

Avatar
ICyam.net
Non, mes expresions ne sont ni Byte, Boolean, Integer, Long, Single, Double,
Date, Currency ou decimal, ce sont des Strings (Tu avais oublier ce type
;-) ) et dans le cas de cette addition de deux Strings, c'est une
Concaténation de chaine, toute mes varaibles son bien déclarée...

Non en fait je pense que cela viens plutôt de la la propriété même de
TextBox. Un des participant à un autre forum m'a très bien expliquer ca, je
vous en fait profiter :

"
C'est que quand tu affectes la propriété Text de ListeFormule, ton curseur
se remet au tout début.
Il faut donc prendre en note sa position, affecter la propriété, puis
remettre le curseur où il était, de façon à ce qu'à la sortie du KeyPress,
le ENTER ne soit pas toujours ajouté au début...

Private Sub ListeFormule_KeyPress(KeyAscii As Integer)


Dim FormuleIn As String
Dim intOldSelStart As Integer

If KeyAscii = 13 Then

FormuleIn = ListeFormule.Text
ListeFormule.Refresh

intOldSelStart = ListeFormule.SelStart
ListeFormule.Text = FormuleIn + Chr(13) + Chr(10)
ListeFormule.SelStart = intOldSelStart

End If

End Sub


A+
"

C'est que quand tu affectes la propriété Text de ListeFormule, ton curseur
se remet au tout début.
Il faut donc prendre en note sa position, affecter la propriété, puis
remettre le curseur où il était, de façon à ce qu'à la sortie du KeyPress,
le ENTER ne soit pas toujours ajouté au début...

Private Sub ListeFormule_KeyPress(KeyAscii As Integer)


Dim FormuleIn As String
Dim intOldSelStart As Integer

If KeyAscii = 13 Then

FormuleIn = ListeFormule.Text
ListeFormule.Refresh

intOldSelStart = ListeFormule.SelStart
ListeFormule.Text = FormuleIn + Chr(13) + Chr(10)
ListeFormule.SelStart = intOldSelStart

End If

End Sub


A+
"

Voilà, A+

"daeMOn 72" a écrit dans le message de
news:bobl34$ach$
A mon avi c'est dans la declaration de tes variables que ca peche
en effet l'addition en VB est vraiment bizard
Pour additionner il faut :
Les deux expressions sont des types de données numériques ( Byte, Boolean,
Integer, Long, Single, Double, Date, Currency ou decimal )
Ou alors
Une expression est d'un type numérique et l'autre est de type Variant,
sauf

Null
Ou alors
Les deux expressions de type variant sont numériques.
Ou alors
Une expression de type Variant est numérique et l'autre est une chaîne
Si tu ne rempli pas un de ces cas, il se passe ce que tu peu voir, c'est a
dire que tte la ligne d'addition ce trouve reecrite dans la txtbox...
En esperant avoir résolu ton pb :)

"ICyam.net" a écrit dans le message de news:
3fa8bf83$1$2770$
Bonjour à tous,

Bon alors, voilà mon problème :

J'effectue un traitement sur un texte frapper dans un TextBox, après ce
traitement je veut afficher le texte traité dans le TextBox et je me
retrouve systématiquement avec un "chr(10)+chr(13)" en début de texte ce
qui

me géne...

Voici mon code très simple... (ListeFormule est ma TextBox Multiligne)

Private Sub ListeFormule_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
FormuleIn = ListeFormule.Text
ListeFormule.Refresh
-------
"Traitement de FormuleIn"
------
ListeFormule.Text = FormuleIn + Chr(13) + Chr(10)
End If
End Sub

En fait je voudrais que FormuleIn traité se réaffiche au début (haut) de
LIsteFormule !!! Hors je me retrouve systèmatique avec un
chr(10)+chr(13)


au
debut de FormuleIn après son traitrement. et je n'en veut pas
!!!!!!!!!!!!!!


Dans le Traitement je ne rejoute aucun de ces caractère

Merci pour votre aide





---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.530 / Virus Database: 325 - Release Date: 22/10/2003





Avatar
Curl
</couic>
| > ListeFormule.Text = FormuleIn + Chr(13) + Chr(10)

Chr$(13)+Chr$(10)

?
@+
Avatar
daeMOn 72
Ha ok
Moi j'ai justement ce probleme d'addition entre 2 string...
Mais je ne gere aucun keypress
j'effectue l'addition en cliquant sur un bouton
en prenant 2 valeur de textbox et en les additionnant pour sortir le
resultat sur une 3e
ca surement tt con mé la je bloque
++
"ICyam.net" a écrit dans le message de news:
3fa8bf83$1$2770$
Bonjour à tous,

Bon alors, voilà mon problème :

J'effectue un traitement sur un texte frapper dans un TextBox, après ce
traitement je veut afficher le texte traité dans le TextBox et je me
retrouve systématiquement avec un "chr(10)+chr(13)" en début de texte ce
qui

me géne...

Voici mon code très simple... (ListeFormule est ma TextBox Multiligne)

Private Sub ListeFormule_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
FormuleIn = ListeFormule.Text
ListeFormule.Refresh
-------
"Traitement de FormuleIn"
------
ListeFormule.Text = FormuleIn + Chr(13) + Chr(10)
End If
End Sub

En fait je voudrais que FormuleIn traité se réaffiche au début (haut) de
LIsteFormule !!! Hors je me retrouve systèmatique avec un chr(10)+chr(13)
au

debut de FormuleIn après son traitrement. et je n'en veut pas
!!!!!!!!!!!!!!


Dans le Traitement je ne rejoute aucun de ces caractère

Merci pour votre aide





---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.530 / Virus Database: 325 - Release Date: 22/10/2003

Avatar
daeMOn 72
Nan c bon j'ai trouvé la solution
Il suffit de rajouter Val devant l'expression ce qui donnerai :

Dim a as string
Dim b as string
Text1.text = Val(a) + Val(b)

Wala c t tt con :p
"daeMOn 72" a écrit dans le message de news:
boe1a2$72v$
Ha ok
Moi j'ai justement ce probleme d'addition entre 2 string...
Mais je ne gere aucun keypress
j'effectue l'addition en cliquant sur un bouton
en prenant 2 valeur de textbox et en les additionnant pour sortir le
resultat sur une 3e
ca surement tt con mé la je bloque
++
"ICyam.net" a écrit dans le message de news:
3fa8bf83$1$2770$
Bonjour à tous,

Bon alors, voilà mon problème :

J'effectue un traitement sur un texte frapper dans un TextBox, après ce
traitement je veut afficher le texte traité dans le TextBox et je me
retrouve systématiquement avec un "chr(10)+chr(13)" en début de texte ce
qui

me géne...

Voici mon code très simple... (ListeFormule est ma TextBox Multiligne)

Private Sub ListeFormule_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
FormuleIn = ListeFormule.Text
ListeFormule.Refresh
-------
"Traitement de FormuleIn"
------
ListeFormule.Text = FormuleIn + Chr(13) + Chr(10)
End If
End Sub

En fait je voudrais que FormuleIn traité se réaffiche au début (haut) de
LIsteFormule !!! Hors je me retrouve systèmatique avec un
chr(10)+chr(13)


au
debut de FormuleIn après son traitrement. et je n'en veut pas
!!!!!!!!!!!!!!


Dans le Traitement je ne rejoute aucun de ces caractère

Merci pour votre aide





---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.530 / Virus Database: 325 - Release Date: 22/10/2003





---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.530 / Virus Database: 325 - Release Date: 22/10/2003