PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → [WM18] Mise a jour d'un de la valeur d'un champ texte (pendu)
[WM18] Mise a jour d'un de la valeur d'un champ texte (pendu)
Débuté par JEFF-Micro, 11 mai 2013 02:24 - 1 réponse
Membre enregistré
27 messages
Posté le 11 mai 2013 - 02:24
Bonsoir,

Je suis en train de creer un petit jeu similaire au pendu avec un mot a trouver

j'ai reussi a creer une procedure de test du mot de la maniere suivante :

PROCEDURE testmot()
test est une chaîne
test=ChaîneOccurrence(SAI_Mot_secret,Droite(MoiMême..Nom,1),SansCasse)
SI test=0 ALORS
SAI_essai..Valeur=SAI_essai..Valeur-1
SI SAI_essai=0 ALORS
Info("perdu ")
SINON
Info("pas dans le mot")
FIN
SINON
i est un entier
TANTQUE i <= Taille(SAI_Mot_secret)
SI SAI_Mot_secret[[i]]=Droite(MoiMême..Nom,1) ALORS
SAI_result[[i]]=Droite(MoiMême..Nom,1)
FIN
i++
FIN
FIN
MoiMême..Visible=Faux

Moi meme represente une champ image qui se nomme img_A ( pour la lettre A, et donc jusqu'a IMG_Z)
le clic sur l'img_A lance la procédure
En simulateur pas de probleme, ca marche au fur et a mesure de lettre choisies qui se trouve dans le mot les lettre s'affiche, pour les lettres qui n'y sont pas, petit message d'info.

en test sur mon galaxy S3 la mise a jour du champ SAI_Result ne se fait pas ( mais pas de message comme quoi il ne trouve pas la lettre ) par contre sur une lettre ne faisant pas partie du mot j'ai bien le message d'info.

je pense que c'est par ici que c'est mal interprété
SAI_result[[i]]=Droite(MoiMême..Nom,1)

mais je ne sais pas trop comment modifier pour que ca marche.
c'est plutot un manque de connaissance de fonctions de windev de ma part plutot qu'un bug a proprement parlé je pense.

Donc si quelqu'un pouvait m'indiquer ce qui n'est pas bon ou du moins comment faire pour que le code soit bien interprété par android. Merci
Posté le 11 mai 2013 - 22:13
Bonjour JEFF,

D'APRES LA DOC, LA TECHNIQUE DE PROGRAMMATION DES CHAMPS DE SAISIE PERMET
DE Récupérer une partie de l'information de la valeur saisie dans un champ de saisie
ET NON PAS DE FAIRE UNE AFFECTATION DE VALEUR

J'AI LE MEME PROBLEME QUE VOUS :
LA MISE A JOUR DU CHAMP DE SAISIE SAI_result SE FAIT BIEN DANS LE TEST SUR LE PC
MAIS PAS EN REEL SUR LE DEVICE ANDROID

CI-APRES, JE PROPOSE UNE CORRECTION A VOTRE CODE.

Procedure testmot()
// MODIF W
sMaChaine est une chaîne = SAI_result
// FIN MODIF W
test est une chaîne
test=ChaîneOccurrence(SAI_Mot_secret,Droite(MoiMême..Nom,1),SansCasse)
SI test=0 ALORS
SAI_essai..Valeur=SAI_essai..Valeur-1
SI SAI_essai=0 ALORS
Info("perdu ")
SINON
Info("pas dans le mot")
FIN
SINON

i est un entier
TANTQUE i <= Taille(SAI_Mot_secret)
SI SAI_Mot_secret[[i]]=Droite(MoiMême..Nom,1) ALORS
// MODIF W
//SAI_result[[i]]=Droite(MoiMême..Nom,1)
sMaChaine[[i]]=Droite(MoiMême..Nom,1)
// FIN MODIF W
FIN
i++
FIN
// MODIF W
SAI_result=sMaChaine
// FIN MODIF W
FIN
MoiMême..Visible=Faux


Cordialement.
W.