PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Conflit ..FinCurseur et RepriseSaisie
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