|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
| Conflit ..FinCurseur et RepriseSaisie |
| Débuté par jdsetls, 10 déc. 2004 16:53 - 3 réponses |
| |
| | | |
|
| |
| Posté le 10 décembre 2004 - 16:53 |
Bonjour,
En remplaçant les caractères d'un mot de passe par des étoiles, j'utilise la syntaxe suivante :
//********** Remplace les caractères par des étoiles ***** babouin += Gauche(Mot_de_passe_personalisé,1) i = Taille(Mot_de_passe_personalisé) //Mot_de_passe_personalisé = "" Mot_de_passe_personalisé = Répète("*",i) RepriseSaisie(Mot_de_passe_personalisé) Mot_de_passe_personalisé..FinCurseur = Taille(Mot_de_passe_personalisé) + 1
Le problème vient du fait que l'attribution d'une nouvelle valeur de Mot_de_passe_personnalisé fait disparaître le curseur de la zone de saisie.
Donc où je fais un RepriseSaieie, et je suis en début de zone, ou je fais un ..FinCurseur et il n'est pas pris en compte.
Dès que je suis dans la zone, les autres instructions sont en attente.
Concrètement cela ne gène que peu, car il me suffit de récupérer le caractère de droite.
Cela donne cependant un côté surréaliste à la saisie.
Des idées afin de respecter les conventions, soit curseur à droite ?
Bien cordialement,
Jacques De Schryver |
| |
| |
| | | |
|
| | |
| |
| Posté le 10 décembre 2004 - 17:46 |
En/na Jacques De Schryver ha escrit:
Bonjour,
En remplaçant les caractères d'un mot de passe par des étoiles, j'utilise la syntaxe suivante :
//********** Remplace les caractères par des étoiles ***** babouin += Gauche(Mot_de_passe_personalisé,1) i = Taille(Mot_de_passe_personalisé) //Mot_de_passe_personalisé = "" Mot_de_passe_personalisé = Répète("*",i) RepriseSaisie(Mot_de_passe_personalisé) Mot_de_passe_personalisé..FinCurseur = Taille(Mot_de_passe_personalisé) + 1
Le problème vient du fait que l'attribution d'une nouvelle valeur de Mot_de_passe_personnalisé fait disparaître le curseur de la zone de saisie.
Donc où je fais un RepriseSaieie, et je suis en début de zone, ou je fais un ..FinCurseur et il n'est pas pris en compte.
Dès que je suis dans la zone, les autres instructions sont en attente.
Concrètement cela ne gène que peu, car il me suffit de récupérer le caractère de droite.
Cela donne cependant un côté surréaliste à la saisie.
Des idées afin de respecter les conventions, soit curseur à droite ?
Bien cordialement,
Jacques De Schryver
2 choses : 1) peut etre mettre le ..fincurseur AVANT le reprisesaisie 2) dans detail de ta zone de saisie mettre "mot de passe" ?
--
Michel Moreno
Clior Informatica Carrer de Balmes 360 2º 2ª 08006 Barcelona
+34 93 292 48 00 www.clior.es |
| |
| |
| | | |
|
| | |
| |
| Posté le 11 décembre 2004 - 13:36 |
Salut !
Pour un champ en saisie qui peut soit saisir une chaine normalement, soit en type Secret (pour mot de passe par exemple) j'applique le code suivant dans l'évenement sur Modification du champ :
SI Secret ALORS SI Taille(MoiMême)<Taille(MoiMême..Note) ALORS // cas de l'effacement de caractère => effacer dans ..Note MoiMême..Note[[Taille(MoiMême..Note)]]="" SINON MoiMême..Note[[MoiMême..Curseur-1]]=MoiMême[[MoiMême..Curseur-1]] MoiMême[[MoiMême..Curseur-1]]="*" MoiMême..Curseur=Taille(MoiMême)+1 FIN FIN
@+ -- Cordialement, Zgouby NRA : Roc83 Fbx : 0007CB0615F4
"Jacques De Schryver" <jdsetls@netscape.net> a écrit dans le message de news: 41b9ae6d$1@news.pcsoft.fr...
Bonjour,
En remplaçant les caractères d'un mot de passe par des étoiles, j'utilise la syntaxe suivante :
//********** Remplace les caractères par des étoiles ***** babouin += Gauche(Mot_de_passe_personalisé,1) i = Taille(Mot_de_passe_personalisé) //Mot_de_passe_personalisé = "" Mot_de_passe_personalisé = Répète("*",i) RepriseSaisie(Mot_de_passe_personalisé) Mot_de_passe_personalisé..FinCurseur = Taille(Mot_de_passe_personalisé) + 1
Le problème vient du fait que l'attribution d'une nouvelle valeur de Mot_de_passe_personnalisé fait disparaître le curseur de la zone de saisie.
Donc où je fais un RepriseSaieie, et je suis en début de zone, ou je fais un ..FinCurseur et il n'est pas pris en compte.
Dès que je suis dans la zone, les autres instructions sont en attente.
Concrètement cela ne gène que peu, car il me suffit de récupérer le caractère de droite.
Cela donne cependant un côté surréaliste à la saisie.
Des idées afin de respecter les conventions, soit curseur à droite ?
Bien cordialement,
Jacques De Schryver
|
| |
| |
| | | |
|
| | |
| |
| Posté le 13 décembre 2004 - 15:17 |
Merci pour cette réponse. Je l'ai adaptée. Elle fonctionne bien et présente l'avantage de ne pas réentrer dans la zone de saisie.
Ensuite j'observe qu'elle utilise Curseur et non pas FinCUrseur.
Une difficulté que j'ai testée vient du fait qu'on ne peut pas faire référence à une valeur en cours de saisie autrement que par la propriété curseur.
En débogage, le message est 'impossible à évaluer', ce qui explique certaines des difficultés rencontrées.
Bien cordialement et merci,
Jacques De Schryver |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|