Aide programmation
Aide programmation
Bonjour, voila Je passe de programmation 84+ a 89 tita... et j'ai de sérieux problème de programmation !!!
Je vais posé une multitude de tache que je n'arrive pas a faire, un simple exemple suffirait a répondre a ma question je parle du TI BASIC créé sur calculette, pas du C ni ASM ! allé je commence ! :
- comment définir le window au début d'un programme ? (je ne trouve pas les Xmin/Xmax/Ymin/Ymax...)
et la 89 tita, c'est 160*90 ? je sais pas exactement... (0,0 en bas a gauche je voudrai !!)
- comment afficher un cercle, une ligne ? (le problème juste avant devrai débloqué cette question)
-ya-t-il un moyen de bloqué ou débloqué le mode ALPHA dans un request, ou un input ?
-je connais le dialogue avec text"" (assez moche je trouve ! même si c'est une petite écriture on ne peut pas mettre des ligne, des cercles, des illustration quoi dessu !)
En revanche, je crois que dans le mode home (Disp"") on peut faire des lignes (je sais toujours pas comment ^^) mais par contre c'esst une grosse écriture... et j'aime pas ! y aurai-t-il un moyen de faire des petite écriture + ligne/cercle ?
-je sais comment faire un programme, mais comment faire un 2ème programme qui s'enclenche depuis un programme ? (genre je met un menu toolBar, et chaqun me renvoi a un autre programme (pour pas être surchargé en un seul programme !) et, est-il possible que le programme "menu" soit pas archivé, mais qui les autre si ? on y aura quand même accès ?
Bon, je crois que c'est tout pour le moment !! merci de bien vouloir lire ce que j'ai a demander et a me répondre points par points svp... merci d'avance !
Je vais posé une multitude de tache que je n'arrive pas a faire, un simple exemple suffirait a répondre a ma question je parle du TI BASIC créé sur calculette, pas du C ni ASM ! allé je commence ! :
- comment définir le window au début d'un programme ? (je ne trouve pas les Xmin/Xmax/Ymin/Ymax...)
et la 89 tita, c'est 160*90 ? je sais pas exactement... (0,0 en bas a gauche je voudrai !!)
- comment afficher un cercle, une ligne ? (le problème juste avant devrai débloqué cette question)
-ya-t-il un moyen de bloqué ou débloqué le mode ALPHA dans un request, ou un input ?
-je connais le dialogue avec text"" (assez moche je trouve ! même si c'est une petite écriture on ne peut pas mettre des ligne, des cercles, des illustration quoi dessu !)
En revanche, je crois que dans le mode home (Disp"") on peut faire des lignes (je sais toujours pas comment ^^) mais par contre c'esst une grosse écriture... et j'aime pas ! y aurai-t-il un moyen de faire des petite écriture + ligne/cercle ?
-je sais comment faire un programme, mais comment faire un 2ème programme qui s'enclenche depuis un programme ? (genre je met un menu toolBar, et chaqun me renvoi a un autre programme (pour pas être surchargé en un seul programme !) et, est-il possible que le programme "menu" soit pas archivé, mais qui les autre si ? on y aura quand même accès ?
Bon, je crois que c'est tout pour le moment !! merci de bien vouloir lire ce que j'ai a demander et a me répondre points par points svp... merci d'avance !
-
Hedg-Hops
Niveau 9: IC (Compteur Infatigable)- Posts: 54
- Joined: 09 Nov 2011, 14:06
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1ère Scientifique
Re: Aide programmation
Ah c'est toujours moi ! j'aimerai aussi avoir un exemple d'utilisation du getkey !
-
Hedg-Hops
Niveau 9: IC (Compteur Infatigable)- Posts: 54
- Joined: 09 Nov 2011, 14:06
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1ère Scientifique
Re: Aide programmation
Ugo Blfr wrote:Bonjour, voila Je passe de programmation 84+ a 89 tita... et j'ai de sérieux problème de programmation !!!
C'est pas bien grave, on est là pour t'aider !
Mais avant toute chose, il serait à mon avis bon que tu te procures le manuel et que tu parcoures le chapitre "Programmation" (à partir de la page 658).
Ugo Blfr wrote:Je vais posé une multitude de tache que je n'arrive pas a faire, un simple exemple suffirait a répondre a ma question je parle du TI BASIC créé sur calculette, pas du C ni ASM ! allé je commence ! :
- comment définir le window au début d'un programme ? (je ne trouve pas les Xmin/Xmax/Ymin/Ymax...)
Alors, ça, c'est facile : Contrairement aux Ti84, les TI89 comprennent quand tu tapes le texte en toutes lettres ! Tu n'as même pas besoin de faire attention aux majuscules, la calculatrice se chargera toute seule de les mettre s'il en faut.
Tu peux aussi utiliser les Zoom prédéfinis qui apparaissent dans le menu [Window]>[F2 : Zoom] ou simplement dans le catalogue.
Ugo Blfr wrote: et la 89 tita, c'est 160*90 ? je sais pas exactement... (0,0 en bas a gauche je voudrai !!)
C'est écrit dans le manuel... c'est une bonne occasion de l'utiliser (je ne connais pas par coeur, j'ai une V200, qui a un écran plus grand).
Bon, allez, je suis beau joueur, je suis allé regarder, c'est 158x76. (p. 720 du manuel)
Ugo Blfr wrote:-ya-t-il un moyen de bloqué ou débloqué le mode ALPHA dans un request, ou un input ?
Oui, il suffit de rajouter un ",1" ou un ",0" à la fin de ta commande.
Encore une fois, la lecture de ton manuel t'aurait débloqué ! (p. 952)
Ugo Blfr wrote:- comment afficher un cercle, une ligne ? (le problème juste avant devrai débloqué cette question)
-je connais le dialogue avec text"" (assez moche je trouve ! même si c'est une petite écriture on ne peut pas mettre des ligne, des cercles, des illustration quoi dessu !)
En revanche, je crois que dans le mode home (Disp"") on peut faire des lignes (je sais toujours pas comment ^^) mais par contre c'esst une grosse écriture... et j'aime pas ! y aurai-t-il un moyen de faire des petite écriture + ligne/cercle ?
Tu peux faire plusieurs lignes de "Text" dans un "Dialog".
Tu ne pourras cependant pas choisir la police.
Si tu veux faire des fioritures, il vaut mieux utiliser l'écran graphique qui te permettra d'écrire du texte, mais aussi de faire des dessins.
Pour cela, utilise les commandes "Pxltext", "PxlCrcl", "PxlLine", "Pxlon", "PxlOff", "PxlChg", et les mêmes en remplaçant "Pxl" par "Pt" pour utiliser non plus les coordonnées en pixels mais les coordonnées correspondant aux axes de ta zone graphique.
(cf. manuel p. 721-722, ainsi que 943 à 946)
Pour encore plus de possibilités graphiques (utiliser toute la zone d'écran, même les barres de menu et la zone de saisie, ou encore faire des niveaux de gris et bien d'autres encore), tu peux utiliser des programmes écrits en C mais qui s'utilisent dans des programmes en Basic comme des bibliothèques.
Le plus connu est bien entendu Flib.
Je ne sais plus s'il est indispensable de mettre un Kernel pour l'utiliser, mais à tout hasard, tu trouveras ton bonheur avec la version finale de PreOS.
Ugo Blfr wrote:-je sais comment faire un programme, mais comment faire un 2ème programme qui s'enclenche depuis un programme ? (genre je met un menu toolBar, et chaqun me renvoi a un autre programme (pour pas être surchargé en un seul programme !) et, est-il possible que le programme "menu" soit pas archivé, mais qui les autre si ? on y aura quand même accès ?
Tu peux lancer un programme ou une fonction depuis l'écran de calcul ou depuis un autre programme, simplement en tapant son nom (et son chemin d'accès s'il n'est pas dans le même dossier), ainsi que ses éventuels arguments.
Par exemple, tu peux taper ceci :
- Code: Select all
Prgm
local truc, bidule, machin
lbl deb
Toolbar
Title "Menu 1"
Item "Programme 1", label1
Item "Programme 2", label2
Title "Menu 2"
Item "Programme 3", label3
Item "Programme 4", label4
Title "Programme 5", label5
Title "Quitter", labelfin
EndTbar
lbl label1
prog_1()
goto deb
lbl label2
prog_2(truc, bidule)
goto deb
lbl label3
prog_3()
goto deb
lbl label4
prog_4()
goto deb
lbl label5
prog_5()
goto deb
lbl labelfin
Endprgm
Par ailleurs, tu peux toujours utiliser un programme, qu'il soit archivé ou non.
Le fait qu'il soit archivé empêchera seulement que tu le modifies et donc également qu'il soit supprimé suite à une fausse manip' ou à un problème de la calculatrice.
Ugo Blfr wrote:Ah c'est toujours moi ! j'aimerai aussi avoir un exemple d'utilisation du getkey !
Pas de problème.
getkey() est une fonction qui renvoie un nombre correspondant au code de la touche qui est frappée au moment de l'appel de la fonction. Elle renvoie 0 si aucune touche n'a été pressée. Il est difficile de l'utiliser sans une boucle demandant d'attendre que l'on frappe une touche.
Voici comment on peut faire :
- Code: Select all
0->key
while key=0
getkey()->key
endwhile
Disp "La touche pressée est", char(key)
Tu trouveras les codes des touches dans le manuel (aux pages 1006 à 1008).
Ugo Blfr wrote:Bon, je crois que c'est tout pour le moment !! merci de bien vouloir lire ce que j'ai a demander et a me répondre points par points svp... merci d'avance !
J'ai bien tout lu et bien répondu point par point, non ?
PS : Dans le manuel des TI89/92+, le chapitre sur la programmation est beaucoup plus complet et fournit de nombreux exemples de programmes très utiles.
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 5670
- Joined: 11 Mar 2008, 00:00
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Aide programmation
Pour compléter le post détaillé de Bisam:
* il existe un TSR, Auto Alpha-Lock Off, pour désactiver l'auto alpha-lock dans les champs d'entrée de toutes les boîtes de dialogue, y compris par exemple dans le VAR-Link;
* attention au troisième argument pour les Request, qui permet de désactiver l'auto-alpha-lock: il rend incompatible le programme avec les versions d'OS plus anciennes, ce qui n'est pas une bonne idée si on veut distribuer le programme
* PreOS n'est pas nécessaire pour flib ou vertel.
* il existe un TSR, Auto Alpha-Lock Off, pour désactiver l'auto alpha-lock dans les champs d'entrée de toutes les boîtes de dialogue, y compris par exemple dans le VAR-Link;
* attention au troisième argument pour les Request, qui permet de désactiver l'auto-alpha-lock: il rend incompatible le programme avec les versions d'OS plus anciennes, ce qui n'est pas une bonne idée si on veut distribuer le programme
* PreOS n'est pas nécessaire pour flib ou vertel.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
-
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6865
- Joined: 23 Dec 2009, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: -
- GitHub: debrouxl
Re: Aide programmation
Merci beaucoup Bisam ! je n'ai jamais eu de réponse aussi complète héhé ^^ ça va bien m'aider... je lis tout le manuel coté programmation desuite merci d'y avoir consacré du temps !
je poste une douzaine de programme TI 84+ et je m'y colle
encore merci a toi ! et a Lionel aussi à la prochaine !
je poste une douzaine de programme TI 84+ et je m'y colle
encore merci a toi ! et a Lionel aussi à la prochaine !
-
Hedg-Hops
Niveau 9: IC (Compteur Infatigable)- Posts: 54
- Joined: 09 Nov 2011, 14:06
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1ère Scientifique
Re: Aide programmation
Salut ! j'ai mis les coordonnée du window (0-158 et 0;76), fnOff, AxeOff, clrdraw, puis :
je trace un cercle, une ligne, par contre:
pxlText 10,20,"légende"
la ça me dis "argument must be a string" et je comprends pas commetn afficher une légende... :/
EDIT: j'ai enfin trouvé
je trace un cercle, une ligne, par contre:
pxlText 10,20,"légende"
la ça me dis "argument must be a string" et je comprends pas commetn afficher une légende... :/
EDIT: j'ai enfin trouvé
Last edited by Hedg-Hops on 23 Nov 2011, 16:56, edited 1 time in total.
-
Hedg-Hops
Niveau 9: IC (Compteur Infatigable)- Posts: 54
- Joined: 09 Nov 2011, 14:06
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1ère Scientifique
Re: Aide programmation
Ah autre problème ! dans un toolbar, j'ai 1 title, avec 2 item: peut-on faire un item d'un item ? (quand on clique sur un item ça ouvre encore sur ce même menu plusieur item)
et encore un autre ^^: dans un dialogue, je ne sais pas pourquoi mais il sauvegarde automatiquement ce que j'ai marqué auparavant c'est possible de l'enlever ? merci
Et, quand je suis dans mon programme et que j'arrive a la fin, même si j'ai mis CrlIO ça reste en écran IO et je dois appuyer sur F5 pour revenir a l'écran Calc, un moyen d'acceder directement a l'écran calc ? (home)
et encore un autre ^^: dans un dialogue, je ne sais pas pourquoi mais il sauvegarde automatiquement ce que j'ai marqué auparavant c'est possible de l'enlever ? merci
Et, quand je suis dans mon programme et que j'arrive a la fin, même si j'ai mis CrlIO ça reste en écran IO et je dois appuyer sur F5 pour revenir a l'écran Calc, un moyen d'acceder directement a l'écran calc ? (home)
Last edited by Hedg-Hops on 23 Nov 2011, 16:47, edited 1 time in total.
-
Hedg-Hops
Niveau 9: IC (Compteur Infatigable)- Posts: 54
- Joined: 09 Nov 2011, 14:06
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1ère Scientifique
Re: Aide programmation
décidément ^^ encore une autre: peut-on archiver un dossier ou un programme directement depuis un programme ? je crois que oui, mais ça me met erreur:
Archive main\programm()
Archive main\programm()
-
Hedg-Hops
Niveau 9: IC (Compteur Infatigable)- Posts: 54
- Joined: 09 Nov 2011, 14:06
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1ère Scientifique
Re: Aide programmation
j'ai mis les coordonnée du window (0-158 et 0;76)
C'est nécessaire de changer les réglages Window sur TI-Z80 - mais pas sur TI-68k, si tu utilises les fonctions de la famille pxl*
Et, quand je suis dans mon programme et que j'arrive a la fin, même si j'ai mis CrlIO ça reste en écran IO et je dois appuyer sur F5 pour revenir a l'écran Calc, un moyen d'acceder directement a l'écran calc ? (home)
De mémoire, DispHome. Mais ça fait bientôt dix ans que je n'ai pas fait de TI-BASIC, étant passé au C et à l'ASM, donc ma mémoire n'est plus très fiable
Archive main\programm()
Ne mets pas les ().
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
-
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6865
- Joined: 23 Dec 2009, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: -
- GitHub: debrouxl
Re: Aide programmation
Tu as une bonne mémoire merci pour tout !
-
Hedg-Hops
Niveau 9: IC (Compteur Infatigable)- Posts: 54
- Joined: 09 Nov 2011, 14:06
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1ère Scientifique
Return to Problèmes divers / Aide débutants
Who is online
Users browsing this forum: ClaudeBot [spider] and 2 guests