Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Demander une valeur avec Locate
Jokzee Hors ligne Membre Points: 5 Défis: 3 Message

Demander une valeur avec Locate

Posté le 07/08/2015 11:35

Bonjour,

Comme le dit le sujet, je demande s'il est possible de demander une valeur à l'utilisateur (comme on pourrait le faire avec ?→A) en utilisant la fonction Locate. Autrement dit je voudrais demander cette valeur mais qu'elle s'affiche à une position X et Y que j'aurais défini comme pour une fonction Locate.
Je précise que je programme sur une Graph 35+


Totoyo Hors ligne Membre d'honneur Points: 16103 Défis: 102 Message

Citer : Posté le 07/08/2015 12:18 | #


Tu ne peux pas demander une valeur avec Locate. Pour ce faire, tu dois créer ta propre fonction.
Si j'ai le temps, je te montrerai un exemple.
As-tu les fonctions Str sur ta Graph 35+ ?
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 07/08/2015 14:00 | #


Effectivement c'est impossible en Locate...
Mais il y a moyen de se débrouiller en affichant des lignes vides (simplement avec "" puis retour à la ligne) pour gérer la position Y.
Pour la position X tu peux jouer avec des espaces avant ta demande ("          Texte "?).

Mais c'est assez délicat à gérer, surtout si tu veux demander plusieurs fois des valeurs et en même temps afficher du texte autours.
A toi de tester avec du Locate et des lignes vides pour voir comment ça se comporte et qu'est-ce qui décale ou non ce qui était déjà affiché à l'écran.
Tweaks : ||||| ||||
Jokzee Hors ligne Membre Points: 5 Défis: 3 Message

Citer : Posté le 07/08/2015 21:28 | #


Totoyo a écrit :
Tu ne peux pas demander une valeur avec Locate. Pour ce faire, tu dois créer ta propre fonction.
Si j'ai le temps, je te montrerai un exemple.
As-tu les fonctions Str sur ta Graph 35+ ?


Ok bon bah tant pis.
Sinon oui j'ai les fonction Str.
J'attends avec impatience ton exemple (je savais pas qu'on pouvait faire des fonctions avec le langage Casio )

Remiweb a écrit :
Effectivement c'est impossible en Locate...
Mais il y a moyen de se débrouiller en affichant des lignes vides (simplement avec "" puis retour à la ligne) pour gérer la position Y.
Pour la position X tu peux jouer avec des espaces avant ta demande ("          Texte "?).

Mais c'est assez délicat à gérer, surtout si tu veux demander plusieurs fois des valeurs et en même temps afficher du texte autours.
A toi de tester avec du Locate et des lignes vides pour voir comment ça se comporte et qu'est-ce qui décale ou non ce qui était déjà affiché à l'écran.


Ouais merci j'y avait pas pensé, même si c'est un peu rudimentaire.
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 08/08/2015 08:04 | #


Fonction, c'est un bien grand mot. On peut faire des sous-programmes qui simulent l'appel d'une fonction, mais ça reste primitif.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Totoyo Hors ligne Membre d'honneur Points: 16103 Défis: 102 Message
Jokzee Hors ligne Membre Points: 5 Défis: 3 Message

Citer : Posté le 08/08/2015 14:11 | #


Ah ok je comprends

Par contre Totoyo comme tu l'as proposé je veux bien que tu me montres un exemple (quand tu auras le temps bien sûr je suis pas pressé).

Sinon petite question à quoi servent les fonctions Str, parce que j'ai jamais utilisé ce genre de fonctions
Totoyo Hors ligne Membre d'honneur Points: 16103 Défis: 102 Message

Citer : Posté le 08/08/2015 15:46 | #


Les fonctions Str permettent de manipuler les chaines de caractères. C'est très puissant.
=> http://www.planet-casio.com/Fr/programmation/string.php

Je regarde ce soir pour ton code (si j'ai le temps ).
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 08/08/2015 17:40 | #


Tu veux utiliser les Str pour placer le texte en X Totoyo ? (StrLeft(" _ _ _ _",X-1)+"Question"?)
Mais la syntaxe Str 1?→A ne fonctionne pas

Ajouté le 08/08/2015 à 17:47 :
J'ai rien dit, j'avais une erreur syntaxe parce que je n'avais pas mit le "→A"


Du coup j'en profite pour expliquer le bout de code juste au dessus :
StrLeft(chaine,X) permet de prendre les X premiers caractères de la chaine.
Avec mon code je vais prendre X espaces à la suite puis j'ajoute la question voulue juste après.
Exemple avec X=3 :
StrLeft("[gray] _ _ _ _[/gray]",3-1)+"Question"?
donne :
"[gray] _ [/gray]Question ?"

Ça va donc décaler plus ou moins le texte vers la droite en fonction de X.
Tweaks : ||||| ||||
Ninestars Hors ligne Membre Points: 2462 Défis: 24 Message

Citer : Posté le 08/08/2015 18:14 | #


Sinon si tu peux recréer la fonction "?"
pour cela regarde ici
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 08/08/2015 18:40 | #


Ha c'est donc à ça que Totoyo pensait ?
Désolé j'étais à côté
Tweaks : ||||| ||||
Jokzee Hors ligne Membre Points: 5 Défis: 3 Message

Citer : Posté le 08/08/2015 19:31 | #


Remiweb a écrit :
Tu veux utiliser les Str pour placer le texte en X Totoyo ? (StrLeft(" _ _ _ _",X-1)+"Question"?)
Mais la syntaxe Str 1?→A ne fonctionne pas

Ajouté le 08/08/2015 à 17:47 :
J'ai rien dit, j'avais une erreur syntaxe parce que je n'avais pas mit le "→A"


Du coup j'en profite pour expliquer le bout de code juste au dessus :
StrLeft(chaine,X) permet de prendre les X premiers caractères de la chaine.
Avec mon code je vais prendre X espaces à la suite puis j'ajoute la question voulue juste après.
Exemple avec X=3 :
StrLeft("[gray] _ _ _ _[/gray]",3-1)+"Question"?
donne :
"[gray] _ [/gray]Question ?"

Ça va donc décaler plus ou moins le texte vers la droite en fonction de X.


Cette fonction a l'air sympa, mais je reste sur le même problème : la valeur rentrée par l'utilisateur est affichée sur la ligne suivante tout à gauche

Ninestars a écrit :
Sinon si tu peux recréer la fonction "?"
pour cela regarde ici


Merci je vais regarder ça a l'air intéressant

EDIT : Merci Ninestars c'est exactement ce qu'il me fallait. Merci beaucoup
Totoyo Hors ligne Membre d'honneur Points: 16103 Défis: 102 Message

Citer : Posté le 08/08/2015 20:08 | #


@Ninestars et Remiweb : Génial, je cherchais un tel exemple ! Je me doutais bien qu'il devait en trainer un sur le forum.
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 08/08/2015 22:09 | #


De rien mais je n'ai servit à rien moi Je n'avais pas DU TOUT comprit le problème
Je pensais que tu avais besoin que la demande s'affiche à un endroit précis, et non le texte que l'utilisateur entre...
Tweaks : ||||| ||||
Ninestars Hors ligne Membre Points: 2462 Défis: 24 Message

Citer : Posté le 09/08/2015 01:41 | #


De rien

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 128 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd