1

Dites, je viens de remarquer un truc curieux et utile pour tous ceux qui utilisent la fonction string avec des variables: Comment contourner les bugs d'approx:

Si vous êtes en mode approx ou si l'utilisateur lance bêtement vore prog avec [<>][ENTER], sick, ça plante assez facilement, et la fonction and bit à bit aussi.
Mais j'ai trouvé une parade (testée sur ams 1.05, 2.03 et 2.05):top
Pour annuler le mode approx du au [<>][ENTER], il faut effectuer un changement de mode pendant le prog (avec setMode, mais cela ne marche pas si vous êtes déja en mode auto). En fait, pour être sur de supprimer cette néfaste combinaison de touches, il faut faire 2 setMode:

Local mode
Try
setMode("14","3")->mode //Passe en mode approx, multilingue
setMode("14","1")
Else
setMode("Exact/Approx","APPROXIMATE")->mode //Passe en mode approx, AMS non multilingue
setMode("14","AUTO")
EndTry

Et là, même avec [<>][ENTER], vos nombres entiers le seront vraiment, 1 and 128 fonctionnera tou comme RplcPic #("pic"&string(a))

Si vous connaissez d'autres astuces permettant d'éviter des Errors, postez-les ici!

Vertyos>Ces astuces doivent marcher dans toutes les langues, alors tu peux dégager avec tes Disp "Mets ta calc en anglais, blaireau!"

Edit: Un prob de smiley avec la parenthèse
Edit2 (Réponse à Vertyos, pour ne pas flooder): Ma calc est est déja en Anglais depuis des lustres, je n'ai même plus le Français installé dessus, Il encombrait tropsick
Edit3, pareil: Oui, ça sert à Eviter que string(1) réponde "1." ça évite aussi les "Arcument must be a boolean expression or integer" pour un 1 and 128 par ex (Au fait, je sais bien que ça répond Zéro, je ne suis pas triso à ce point-là non plus)
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

2

Ça sert à quoi ça ? À éviter que string(1) donne "1." ?

P.S : Met ta calc en anglais, blaireau tongue
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3

what
Maintenant ça ne marche plus?confus

Edit: De plus en plus bizarre... j'ai l'impression que ça vient du Try, car je mes des Disp string(1) dans le Try et dehors, et c'est seulement dans le Try que ça marche!
Je vais essayer en mettant mes setMode en dehors du Try...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

4

Il y a une solution plus simple: ne jamais utiliser string(n), mais toujours string(exact(n)).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

5

couic

Et la encore tu vas y trouver un avantage par rapport faire un setmode(...)->var au début puis un autre setmode(...,var) à la fin ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

6

Oui, ça évite d'aller traffiquer les modes inutilement.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

7

mais c'est plus lent et ça prend plus de place.
D'accord c'est pas super de traffiquer le mode, mais si l'utilisateur ne fait pas de break, il ne s'en rendra même pas compte...
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

8

Tout est dit par: "si" (et seulement si) "l'utilisateur ne fait pas de break".
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

9

Je suis d'accord.
Mais il faut que l'utilisateur choississe entre avoir un programme plus rapide et plus léger, ou faire des breaks...
De plus si (oui, encore un si...) le programme n'a pas de bug, il n'y a aucune raison de faire un break. ou alors il faut désactiver le break (mais là c'est carrément plus violent, je te l'accorde grin).
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

10

Et plein de fonctions réactivent le break, faut faire ça toutes les 10 secondes.

11

Ah? bon bah dans ce cas...
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

12

Même avec la fameuse chaine exec? (parceque ça vaut pas la peine de rajouter une lib pour ça...)
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

13

Oui, la chaîne exec ferait pareil de toute façon.

14

Il n'y a pas à faire break dans un programme... Si l'utilisateur fais ça il est consient que ça modifie son déroulement normal, donc tant pis pour le mode il le remettra lui même...
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

15

Ximoon
a écrit : Mais il faut que l'utilisateur choississe entre avoir un programme plus rapide et plus léger, ou faire des breaks...

Le exact ne fait que 2 tokens de plus (EXACT_TAG==0xBF et END_TAG), on peut donc en avoir au minimum 10 pour le prix d'un setMode("14","1")->t et d'un setMode("14",t) (les autres variantes de setMode prennent encore plus de place).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

16

mouais c'est jouable...
Ou alors mettre dans le readme:

"pour fonctionner de façon optimale, le présent programme doit être lancé alors que le mode 'exact' a été sélectionné dans la fenêtre 'mode', en appuyant sur la touche 'mode' de votre calculatrice"
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

17

Ximoon
a écrit : "pour fonctionner de façon optimale, le présent programme doit être lancé alors que le mode 'exact' a été sélectionné dans la fenêtre 'mode', en appuyant sur la touche 'mode' de votre calculatrice"

Alors là, le programme est carrément bon pour la poubelle... C'est très lourd de devoir changer les modes à chaque fois qu'on veut utiliser un programme.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

18

Ah... j'avais oublié le smiley: grin
(je n'oserai jamais mettre ça, à la rigueur même si c'était vrai, .... tant pis! je suis en train de penser que mes progs basic doivent se comporter bizarement en approx...) wink
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

19

Moi, de toute façon, je suis toujours en exact.

20

Tu peux être en mode exact et exécuter^connement ton prog avec [<>][ENTER], tu sera en approx de toute manière

Kevin> On ne dira pas que je suis toujours d'accord avec toi!non Je préfère trafiquer les modes, car dans les progs que j'utilise, un exact() ralentirait trop le prog (Songe qu'il faudrait en faire un à chaque cycle de Cool Racer II, la mortsick)

De plus, je suis un manique des programmes qui quittent "proprement": Je ne supportais pas les progs qu'on quittait uniquement avec [ON] sur CASIO, et je suis allergique à ce genre de progs sales sur TI.
Moi qui fait des progs propres, c'est justement pour qu'on n'ait pas à faire de Break. Alors si l'utilisateur fait un Break, vtffC'est de sa faute!vtff
tant pis pour lui, il n'avait qu'à pas breaker...
Et si le jeu quitte suite à une Error, On n'est pas à cela près... Et je me débrouille pour éviter les Errors, alors dès qu'on tombe sur une, on me la signale et je la corrigesmile

Edit: En plus, il n'y a pas que les string, mais aussi les opérateurs bit à bit qui foirent! (1 and 128, je l'ai déja dit)
Finalement, je l'ai trouvée, cette fameuse réponse!
Le bug venait bien du Try, donc voici le code que j'ai trouvé en remplacement:
Local mode,notexist
If getType(notexist)=/="NONE"
setMode("14","3")->mode //Passe en mode approx, multilingue
setMode("14","1")
Else
setMode("Exact/Approx","APPROXIMATE")->mode //Passe en mode approx, Anglais
setMode("14","AUTO")
EndIf
Et là, mes progs marchent maintenant!
Puisque TI-Fr ferme, je crois que je mettrai mes progs avec mes images...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

21

Ps: Cool, kombat est le jeu basic 89 le plus DL sur TI-Fr! (Et je ne l'ai envoyé que sur ce site-là...)
Et Rallye en 3e position! (+ Cool Racer II, bon 13e... Enfin sur 103 c'est pas sur deux mille...)

En plus, ce sont des vielles version, qui buggent sur Approx, Il va être temps que j'uploade mes nouvelles versions chez moi... Sans bug Approx!

Edit: C'est fait!
Kombat
Rallye
Cool Racer II

Edit2: Ooooooooups! Il y avait une erreur dans CoolRacer II!
Voilà c'est réparé...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

22

Link a écrit :
Le bug venait bien du Try, donc voici le code que j'ai trouvé en remplacement:
Local mode,notexist
If getType(notexist)=/="NONE"
setMode("14","3")->mode //Passe en mode approx, multilingue
setMode("14","1")
Else
setMode("Exact/Approx","APPROXIMATE")->mode //Passe en mode approx, Anglais
setMode("14","AUTO")
EndIf

Attention, il y a un bogue:
Dans la partie censée être compatible AMS 1, tu as mis setMode("14","AUTO"), alors qu'il faut mettre setMode("Exact/Approx","AUTO"). (AMS 1 ne comprend pas "14".)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

23

Apparment il manque un "then" après le if, et puis je ne comprends pas pkoi il passe au mode Approx puis immédiatement après au mode Auto ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

24

Bah, pour faire un break dans un prog, sauf bug (C rare si l'auteur est tant soit peu méticuleux), il faut vraiment être triso, car si il y a un local, on est sur de perdre de la RAM... Beaucoup de RAM.
"Scrutant profondément ces ténèbres, je me tins longtemps plein d'étonnement, de crainte, de doute..."
Edgar Allan Poe

25

Vertyos
a écrit : Apparment il manque un "then" après le if,

En effet.
et puis je ne comprends pas pkoi il passe au mode Approx puis immédiatement après au mode Auto ?

À cause de ça:
Link a écrit :
Pour annuler le mode approx du au [<>][ENTER], il faut effectuer un changement de mode pendant le prog (avec setMode, mais cela ne marche pas si vous êtes déja en mode auto). En fait, pour être sur de supprimer cette néfaste combinaison de touches, il faut faire 2 setMode

En d'autres mots, si l'utilisateur exécute ton programme avec [DIAMOND]+[ENTER] alors qu'il est en mode AUTO ou EXACT, il faudra changer le mode 2 fois, parce qu'il faut au moins un vrai changement de mode (c'est-à-dire qu'il faut passer d'un mode à un autre différent) pour que celui-ci prenne la précédence par rapport au [DIAMOND]+[ENTER], et que pour être sûr qu'au moins un des changements est un vrai changement, il en faut au moins 2.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

26

Arf ok... Décidement voilà ou on en arrive...

J'aimerais bien voir la tête d'un petit programme basic, une fois qu'on lui a rajouté toutes vos astuces pour le rendre compatible avec je ne sais quoi smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

27

Double-K> Merci de m'avoir signaler le bug! Bon heureusement, il n'est pas dans mon code TI.
Quant au Then, dsl, je suis un peu mélangé entre le TI-Basic et le C8086, 'faut dire que IE d'a pas de menu déroulant pour les fonctions du TI-Basic!
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.