1

Bonjour, voilà j'ai un problème, j'ai fait ce code:

instring(e,"x-")»f
f-1»g
left(e,g)»a

instring(e,"x+")»h
h-1»i
f+4»j
left(e,i)»k
right(k,j)»b

h+2»l
right(e,l)»c

expr(a)»a
expr(b)»b
expr(c)»c



normalement a b et c sont des variables chaines donc comme je doit me servire du contenu récupéré pour faire des cacule j'utilise expr pour convertire en expression seulement il me dit que les variable désigner ne sont pas des chaines de caractères...

il est où le problème???

2

Je t'ai dit une betise, (j'ai edité) !
Comment utilise tu les expre() en fin de programme ?

3

toujours la même erreur il me dit que l'argument de expr(a) doit etre une chaine de carractère (j'ai essayé dit mêtre une string dedan et ça me fait toujours le même message)

esque il y a moyen de vérifier toute c'est fonction (expr, solve etc) pour savoir si une na pas été endomager?

4

C'est rare que l'AMS soit endomagé si t'as pas utilisé des programmes qui modifie sa structure...
que contient a, b et c a la fin du programme ?
expr("1") renvoie 1 ?

5

j'ai pas ajouter te programme qui modifi la structure ça c'est sur.

a b et c contien des chifre que j'ai dégager d'une équation grace a la série de instring et de left right
et donc comme je veux les utiliser pour faire des cacule il faut que je les convertisse en expression car elle sont censé entre en chaine

6

Pour définir une variable, on utilise pas = mais "sto->"

7

Si tu ecrit en bas du prog

expr(a)
expr(b)
expr(c)
le prog renvoie une erreur!
en revanche si tu fais expr(a)+expr(b)+expr(c)->d
Puis text string(d)
Ca marche ; faut pas que tu les utilises seules !!!

8

euh...A moins qu'il ait pu éditer furtivement son post après vos réponses, je ne vois pas trop le problème... Le programme, tel qu'il apparait sur mon écran (avec des doubles-flèches pour repésenter la flèche STO-> ) devrait marcher... a, b et c sont bel et bien censées contenir des chaines...

Ah, par contre, il y a peut-être un problème si ta calc n'est pas en Anglais, mais tu aurais "Programme introuvable" au premier Left, donc je ne vois pas du tout ce qui peut causer l'erreur...
Je te conseille de tester la fonction expr pour voir si elle marche toujours, comme précisé en post #3...

Et aussi, tu peux essayer à la fin de faire text a: text b: text c pour vérifier que a,b et c sont bien des chaines, et des chaines non-nulles...
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.

9

je suis daccord avec toi link... il non pas lu le code comme il faut car je n'ai rien toucher, je suis au bahu depuis ce matin... mais bon

sinon a la fin j'ai fai un disp a et il mafiche

left(e, instring(e,"x-")-1)


sinon j'ai testé dans home de metre "2+3" dans x et expr(x) et ça mafiche bien 5 donc j'en conclu que expr marche bien d'auten plus qu'aujourd'hui j'ai pu testé le code sur une autre calculette et sa a planté pareil...

10

Ta calc est en quelle langue ?

(Ce topic aurait plus sa place dans Prog Basic !)

11

si disp a d'attiche ça (et si la calc est en Anglais), c'est que e n'est pas définie.
Le bug est trouvé.

Bonne journée.

PS: Si la calc est en Français, c'est sur que ça ne marchera pas, mais je suis surpris que l'erreur n'apparaisse que maintenant. Aussi, comme dit Caramel, ta calc est en quelle langue?
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.

12

effectivement ma calcullette est en francais... esque il existe une commande pour voir kel est la langue utilisé?

comme ça je fait 2 foi le code, si la langue est en français ba le code vertion Fr et si en anglais le code vertion normal... (je supose que le code anglais a sont semblan en fr...)

13

tu fais MODE puis F3 et t'as une option langue !
Tu peut la changer et ton programme va marcher ! Mais regarde dans ton manuel dans l'annexe tu as la correspondance des commandes anglaises et francaises !

Mais garder sa calc en Francais n'est pas une bonne idée car la majorité des programmes basic sont en anglais donc imcopatible wink

14

mouais ba même en anglais ça fait pareil, enfin la en anglais sa me fé un doamin erro sur left(e,g)»a

15

lol, vous sécher ou quoi?

16

bon voila mon code de test:

()
Prgm

prompt e

instring(e,"x^2")»f
f-1»g
left(e,g)»a

expr(a)»a

disp a

EndPrgm



il me dit au moment du expr que la variable a n'est pas une chaine de caractère or quand je ne le met pas il ne mafiche pas se qui a avant x^2 lors du disp mais le left("le contenu de e",instring("le contenu de e","x^2")-1)...

je capte pas le bugg... ça donne quoi chez vous?

17

Mets InputStr au lieu de Prompt.
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

même bugg, sa de donne aparament pas de chaine de caractère pour expr et le disp me renvoi les commande left etc sans les exécuter

19

( Excuse moi d'insiter mais le code ne marchera qu'en Anglais ! wink )

20

en efet, truc a la con... (franchement pk avoir fait des langages diférent selon la langue de la calculet??? heuresement que les vrai langage sont pas comme ça sinon on serait dans la merde quand on programme en C++ si fau faire un code en focntion de la lange...)

bon enfin...

esque il y a une commande pour dir si la langue est française ou anglaise?

21

22

non y'a pas, malheureusement...
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

23

moi c'est le genre:
If getConfg()[1]="Product Name" Then
©la calc est en Anglais
Else
©la calc est en Français
Endif


Mais ce n'est pas testé sur titatium, et je ne sais pas ce que renvoie getConfg() sur AMS 3...
Quelqu'un a la réponse? est-ce que ça marche encore?
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.

24

25

Ce qu'ils auraient du faire chez TI (et ce que pourrait faire un programmeur doué ! ) c'est créer une apps Flash qui traduit uniquement les erreurs et les menus et non les instructions de programmation !

26

If getConfg()="Product Name" Then
©la calc est en Anglais
Else
©la calc est en Français
Endif


getConfig renvoi quoi? et la commande et valable en anglais/français?

27

getconf() est valable en Anglias ( CaptCalc() en Fr) et renvoie des infos sur la calculatrice l'ID produit, la memoire utilisé ...)

28

oups! un problème de couleur!
getConfg() renvoie une liste, et dans les AMS que j'avais à disposition, le premier élément était toujours "Product Name"
Mon [1] apparait maintenant
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.

29

et esque il y a une commande identique en anglais/français qui renvoi une chaine différente en français et en anglais?

30

getType (captType) par exemple.
C'est là le vrai problème de compatibilité. Parce que AMS convertit les programmes en un format binaire dès qu'on le lance une fois, après si on l'ouvre en une autre langue, il est automatiquement traduit. Mais les chaînes ne sont pas traduites, donc si on fait un If getType(x)="NONE", c'est râté.
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é