Gambas France BETA


Pas de compte ? Incription

retour à la ligne automatique dans une textarea

Ce sujet est résolu.

1
AuteurMessages
spheris#1 Posté le 24/2/2012 à 11:53:56
Bonjour,
Je tape du texte dans une textarea.
quel serait le code pour pouvoir passer automatiquement à la ligne au bout du 18eme caractere ?
Merci de votre réponse.

;)
Jack#2 Posté le 24/2/2012 à 19:58:03
Peut-être un truc du genre ci-dessous.

Private i As Integer = 0

Public Sub TextArea_KeyPress()
Inc i
If (i Mod 19) = 0 Then
TextArea.Text = TextArea.Text & "\n"
i = 1
Endif
End
Pour un code démocratique nationalisons Gambas.
Prokopy#3 Posté le 24/2/2012 à 22:15:02
Kinder PinguiAu 18ème caractère, ça correspond à quelque chose de précis ou bien c'est un nombre arbitraire ?
Si tu veux couper le texte pour ne pas qu'il dépasse du contrôle, met la propriété Wrap à True.

Sinon la solution de Jack est pas mal, mais il vaut mieux utiliser la propriété Column plutôt que d'incrémenter sa propre variable, car il faudra gérer les cas où l'on efface des caractères par exemple :

1
2
3
4
5
6
7
PUBLIC SUB TextArea1_Change()

IF TextArea1.Column = 19 THEN
TextArea1.Insert("\n")
ENDIF

END


Bon c'est un peu grossier quand même comme traitement. À quoi est-ce que tu veux l'appliquer précisément ?
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
Jack#4 Posté le 25/2/2012 à 09:11:21
Intéressant cette propriété column du textarea. Je ne connaissais pas.
Dans le cas d'un contrôle manuel la propriété wrap ne sert pas. Non ?
Pour un code démocratique nationalisons Gambas.
spheris#5 Posté le 25/2/2012 à 17:08:49
Jack, Prokopy,

Je rempli une textarea et lors d'un appui sur un bouton, je rempli une cellule d'une gridview.
Il s'avere que le texte rentre dans la gridview et au bout du 18eme, je ne le voie plus, d'où mon retour chariot.

A moins qu'il existe une commande pour automatiser les retours chariot dans une gridview ???

;)
spheris#6 Posté le 25/2/2012 à 17:17:49
Merci ,cela marche mais quand je tape mon texte il passe à la ligne en milieu de mot.
;)

cela donne donc ça :

1
2
3
4
5
PUBLIC SUB tetiquette_KeyPress()
IF Key.text = Chr$(32) AND tetiquette.Column > 20 THEN
tetiquette.Insert("\n")
ENDIF
END


Merci pour votre aide.
Prokopy#7 Posté le 25/2/2012 à 21:50:55
Kinder Pingui
Il s'avere que le texte rentre dans la gridview et au bout du 18eme, je ne le voie plus, d'où mon retour chariot.

A moins qu'il existe une commande pour automatiser les retours chariot dans une gridview ???

;)


Aah, je me disais bien que c'était un truc comme ça. :)
Pour "couper" du texte qui dépasse d'une cellule, tu as la propriété WordWrap :

1
GridView1[0, 0].WordWrap = TRUE


;)
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
spheris#8 Posté le 25/2/2012 à 23:21:50
Ah là là, un phénomène ce prokopy !
Merci encore pour ton aide.
;)
1