Copy past [Résolu]

Signaler
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
-
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
-
Bonsoir ou Bonjour
La question n'est pas forcément en vb6
Est il possible que si je fais copy d'un string
et avant de faire past dans un textbox verifier
la longueur du string
par exemple si je veux limiter le textbox à x
charactères rien va empecher de faire copy et paste d'un string plus long que x
Merci

4 réponses

Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
8
Re,

Ce que je te propose, c'est la limitation dans la texbox. Normalement, c'est le plus logique pour une application...

Ensuite, si tu veux vérifier avant de coller, c'est qu'à moitié possible et très délicat. En effet, COLLER ou COPIER utilise le presse papier (CLIPBOARD) et est en temps normale accessible par n'importe quelle application. Donc intervenir dessus peut poser des problèmes pour les autres applications. Et de toute façon, d'une manière ou d'une autre, il faudra lire les données qu'elle contient avant de les réduire à x caractères. Donc autant le faire sur le control récepteur. Car il semble évident que si la textbox doit être limité à x caractères, elle doit être limitée quelle que soit l'origine des données.

Amicalement,
Us.
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
8
Bonsoir,

Private Sub Text1_Change()
Text1.Text = Left$(Text1, 5)
End Sub


Sans pour autant interdire de rentrer un texte en mettant le curseur à gauche avant la fin de la textbox.

Amicalement,
Us.
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
Salut,
rien n' empêche de vérifier après le paste,
à condition de sauver le contenu avant.
Comment ?

Private Sub Text1_GotFocus()
Text1.Tag = Text1.Text
End Sub

'Puis (au choix)
Private Sub Text1_Validate(Cancel As Boolean)
If Len(Text1.Text)>x Then
Text1.Text=Text1.Tag
'avec ou sans
Cancel=True
End If
End Sub

' ou bien
Private Sub Text1_LostFocus(Cancel)
If Len(Text1.Text)>x Then _
Text1.Text=Text1.Tag
End Sub

[] Ce qui va sans dire. va mieux en le disant.
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Salut à tout le monde


Enfin ce ne pas vraiment ce que j'ai demandé
je veux vérifier avant le past.Je ne pense pas
que c'est possible
quand je marque un mot avec la souris et ensuite je click sur copy ou le contenu est copié?
A moins qu'il y ait une function api

us selon ta solution tu copies toujours x char
c'est peut etre la meilleur solution


merci à vous deux