Page 1 of 2

routine de saisie

Unread postPosted: 01 Aug 2015, 17:26
by kadtexas
Bonjour

J'ai la TI voyage 200 et je programme dessus.
Mon probleme est le suivant:
J'ai fait un programme de saisie de 6 valeurs ( coordonnées de points, de vecteurs etc...) en utilisant la fonction request

Mais si je fais une erreur de saisie d'une valeur, le résultat est faux bien sûr, et je suis obligé de resaisir les 6 valeurs au demarrage suivant du programme.

Alors y ' a-t-il une possibilité pour que les 6 valeurs soient conservées au démarrage suivant et que je corrige celle qui est fausse au lieu de resaisir les 6 valeurs ?

Merci pour vos commentaires

Re: routine de saisie

Unread postPosted: 01 Aug 2015, 18:45
by Hamza.S
avec le langage TI-68k tu as plusieurs possibilité, tu peux créer un programme ou c'est toi même qui choisit au moment de quitter le programme (les variables sont toujours existants)
je pense aux commandes
Code: Select all
DropDown...
ToolBar...EndTBar 
PopUp...

si tu es intéressé je te laisse regarder le manuel il explique comment utiliser ces commandes

sinon pour une solution à ton problème : quand tu utilises expr( tu nommes ta variable autrement et tu n'utilises pas Local pour tes variables utilisées sur Request, sinon Request ne pourra pas récupérer la variable précédente
petit exemple :
Code: Select all
Prgm
Local aa
Request "A :",a
expr(a)→aa
...
EndPrgm

à l'exécution du programme Request récupère le dernier String de 'a'

Re: routine de saisie

Unread postPosted: 02 Aug 2015, 18:03
by Bisam
Dans un programme Basic, le plus simple est de conserver la valeur des variables dans une liste qui te servira de sauvegarde.
Ensuite, tu testes au début de ton programme si la liste de sauvegarde existe et si c'est le cas, il suffit d'affecter les valeurs que tu dois saisir avant de faire la commande Request. Ainsi, il y aura des valeurs par défaut dans les champs à remplir.

Par exemple, cela donnerait ceci :
Code: Select all
Prgm
Local a,b,c
If isVar(savelist) and getType(savelist) = "LIST" Then
  savelist[1] → a
  savelist[2] → b
  savelist[3] → c
EndIf
Dialog
  Title "Le titre que tu veux"
  Text "Le texte que tu veux"
  Request "A :", a
  Request "B :", b
  Request "C :", c
EndDlog
{a,b,c} → savelist
...
...
EndPrgm

Re: routine de saisie

Unread postPosted: 03 Aug 2015, 18:37
by kadtexas
Bonjour et merci pour vos réponses

Pour hamza.S
ça marche écran par écran (ce n'est pas pratique)pour chaque point si Request n'est pas dans le bloc"Dialog...EndDlog"

Pour Bisam
If isVar(savelist) and getType(savelist) = "LIST" Then
L'instruction isVar(...) n'est pas dans le catalog de la TI voyage 200

Quand je demarre ton programme, voici le message d'erreur:
"A test did not resolve to TRUE or FALSE

Peut on remplacer isVar par autre chose ?

Re: routine de saisie

Unread postPosted: 03 Aug 2015, 19:28
by Adriweb
kadtexas wrote:If isVar(savelist) and getType(savelist) = "LIST" Then
L'instruction isVar(...) n'est pas dans le catalog de la TI voyage 200

Quand je demarre ton programme, voici le message d'erreur:
"A test did not resolve to TRUE or FALSE

Peut on remplacer isVar par autre chose ?

isVar(x) est équivalent, d'après ce que j'ai pu voir, à : getType(x)≠false.
Tu peux l'utiliser tel quel, ou bien faire une fonction "isVar" qui renvoit ça.

En l'occurence, peut être que getType(savelist) = "LIST" suffit dans ton cas.

Re: routine de saisie

Unread postPosted: 03 Aug 2015, 19:30
by Hamza.S
pour le mien c'est à toi de l'adapter tu peux très bien utiliser Dialog...EndDlog ça devrait marcher.
j'ai pas utilisé car je pensais que tu savais déjà l'utiliser si tu veux tester :
Code: Select all
Prgm
Local a,b,c
Dialog
  Title "ton titre"
  Text "ton texte"
  Request "A ",aa
  Request "B ",bb
  Request "C ",cc
EndDlog
expr(aa)→a
expr(bb)→b
expr(cc)→c
...
EndPrgm

Re: routine de saisie

Unread postPosted: 03 Aug 2015, 19:53
by Hamza.S
kadtexas wrote:If isVar(savelist) and getType(savelist) = "LIST" Then
L'instruction isVar(...) n'est pas dans le catalog de la TI voyage 200

je pense que ta calculette n'est pas à jour ou elle doit être en Français avec l'émulateur j'ai la fonction isVar(
je te conseille de programmer en gardant ta calculette en anglais c'est plus facile je trouve (malgré mon niveau bas en anglais)

PS : le code de Bisam a marché pour moi

Re: routine de saisie

Unread postPosted: 04 Aug 2015, 16:48
by kadtexas
Le programme de hamza.S marche bien, c'est moi qui me suis mélangé les pinceaux!

je pense que ta calculette n'est pas à jour ou elle doit être en Français avec l'émulateur j'ai la fonction isVar(
je te conseille de programmer en gardant ta calculette en anglais c'est plus facile je trouve (malgré mon niveau bas en anglais)


Je pense que tu as une TI voyage 200
Ma calculette est bien en anglais et j'ai revérifié dans le catalog que isVar n'y est pas.
J'ai acheté cette calculette en janvier 2004. Elle est vieille.

Comment la mettre à Jour ? Et qu'est ce que cela peut apporter de plus ?

Re: routine de saisie

Unread postPosted: 04 Aug 2015, 16:56
by Hamza.S
tu regardes dans "About" tu allumes ta calculette tu fais f1 puis 'About' tu regardes OS version si c'est pas 3.10 je t'invite à installer celui là
https://education.ti.com/fr/france/soft ... tingsystem
(tu n'es pas obligé de créer un compte)

Re: routine de saisie

Unread postPosted: 05 Aug 2015, 11:36
by kadtexas
Bonjour

La version OS de ma calculette est :2.07 04/08/2002
Bon, le lien m'enmene à une page web ou' il y'a plusieur lignes de localisation langue, j'ai cliquer sur localisation français et je télécharge le fichier: tifra_v200.9xk qui est du type Ti_Connect et non du type OS...
Je relie ma calculette à l'ordinateur avec mon cable Ti_connect, j'ai l'écran sur lequel apparaissent ce que j'ai dans la calculette (mes programmes, les programmes de la calculette etc...)
Je glisse le fichier tifra_v200.9xk dans cette écran, il est copié dans le main.
Mais j'ai toujours mon ancien OS.
Est ce que tifra_v200.9xk est bien un systeme d'exploitation ou bien je n'ai pas su téléchargé le OS 3.10 ?

Désolé de vous ennuyer avec mes problemes!