Page 1 of 1

Déterminer la langue TI-83 Premium CE / TI-84 Plus CE

Unread postPosted: 13 May 2016, 22:58
by critor
Les TI-83 Premium CE et TI-84 Plus CE peuvent accueillir 7 langues différentes à ce jour :
  • allemand
  • anglais
  • espagnol
  • français
  • néerlandais
  • portugais
  • suédois
Il peut être intéressant pour certains programmes de récupérer la langue courante :
  • pour afficher un message dans la langue de l'utilisateur
  • en cas d'utilisation de tokens pour l'affichage, qui peuvent donner un effet totalement différent et même raté dans d'autres langues
Comment faire, puisque ces calcualtrices n'ont pas d'instruction retournant ce réglage, et qu'un token dans une chaîne est systématiquement considéré comme 1 caractère, peu importe le nombre de caractères utilisés pour l'affichage de sa traduction ?

Voici un petit programme retournant le code de la langue courante à la norme ISO-639-1 :
Code: Select all
EnrBDG BDG9
AxesNAff
ÉtiqNAff
ExprNAff
ArrPlanNAff
FoncNAff
EffDess
"EnrPic
CouleurTexte(NOIR
Texte(0,0,Rep
Disp
DispGraph
0
For(I,0,35
Rep+pxl-Test(6,I)2^I
End
RappelBDG BDG9
(Rep=8324899635)+2(Rep=53657616131)+3(Rep=4168600627)+4(Rep=13744676611)+5(Rep=8375231283)+6(Rep=16927699715)+7(Rep=38600982019→L
"??DEENESFRNLPTSV
sousch(Rep,1+2L,2


L'idée est d'afficher sur le graphique un token, ici EnrPic(, dont l'écriture des premiers caractères est différente dans toutes les langues de la calculatrice.
On compte alors ensuite les pixels allumés, et compare aux valeurs attendues pour chaque langue.
Et ça marche : :)
Image Image

Qui trouve plus simple ? ;)

Re: Déterminer la langue TI-83 Premium CE / TI-84 Plus CE

Unread postPosted: 13 May 2016, 23:24
by critor
D'ailleurs, remarqué un bug avec l'instruction Pxl-Text(, renvoyant 1 ou 0.

Après l'affichage du texte sur l'écran graphique, il faut revenir à l'écran texte puis retourner à l'écran graphique avant de pouvoir utiliser correctement Pxl-Test( :
Code: Select all
Texte(0,0,Rep
Disp
DispGraph

Sinon, ça renvoie que tous les pixels du texte sont éteints. Je suppose qu'il doit y avoir un buffer quelque part qui ne se met pas à jour automatiquement.

Re: Déterminer la langue TI-83 Premium CE / TI-84 Plus CE

Unread postPosted: 14 May 2016, 16:24
by Ti64CLi++
Comment tu fais pour faire un code aussi incompréhensible? :#fou#: :D
Sinon bravo :bj:

Re: Déterminer la langue TI-83 Premium CE / TI-84 Plus CE

Unread postPosted: 14 May 2016, 16:43
by Epharius
Eh bien, il fallait y penser ! Ce qui serait pas mal, ce serait de ne pas avoir à utiliser l'écran graphique, tout en gardant le support du langage Basic pour que ce soit le plus "portable" possible. Ça aurait été bien de pouvoir vérifier le premier caractère d'une string (et non le premier token) sans avoir à faire de pxl-test-s.

Ça me rappelle ce qu'on avait fait avec Anonyme0, le but étant de changer la langue de la calculatrice (83PCE) à l'aide d'un programme l'assembleur (le Basic a ses limites). On avait quasiment tout trouvé : il fallait changer la valeur de LocalLanguage, par des constantes, en tout cas sur les anciennes calculatrices. Mais ça n'avait pas l'air de vouloir fonctionner x)

Bravo :bj:

Re: Déterminer la langue TI-83 Premium CE / TI-84 Plus CE

Unread postPosted: 06 Jun 2018, 20:43
by Eliastik
J'ai eu aussi le bug du Texte( qui fait que pxl-Test( renvoie 0 même si les pixels sont allumés sur TI-83 PCE en 5.3 (pas de soucis sur les monochromes).

Au lieu de revenir sur l'écran de calcul puis sur le graphique (ce qui a pour effet de faire clignoter l'écran), j'ai remarqué que faire un petit Pxl-Aff(1,1,BLANC (BLANC étant la couleur d'arrière-plan, pour ne pas voir le point) ou n'importe quel autre dessin graphique résous le problème. A adapter selon les programmes (jeux, ...)

Programme de test démontrant le bug et sa résolution :

Code: Select all
EffDess
Pxl-Aff(2,1,NOIR
Texte(25,5,"TEST
pxl-Test(2,1→A
Pxl-Aff(1,1,BLANC
pxl-Test(2,1→B
Disp A,B
EffDess

Normalement, le programme devrait afficher en sortie 0 (variable A) et 1 (variable B). Sur monochrome et en enlevant les instructions de couleur, le programme affiche en sortie 1 et 1.

Re: Déterminer la langue TI-83 Premium CE / TI-84 Plus CE

Unread postPosted: 12 Jun 2018, 17:22
by FjFk
gg !