Nico_ Le 28/09/2004 à 21:56Edité par Boo le 29/09/2004 à 07:25 Je t'ai dit une betise, (j'ai edité) !
Comment utilise tu les expre() en fin de programme ?
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?
Nico_ Le 28/09/2004 à 22:02 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 ?
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
Pour définir une variable, on utilise pas = mais "sto->"
Nico_ Le 29/09/2004 à 12:51 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 !!!
Link Le 29/09/2004 à 17:25 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...

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.
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...
Nico_ Le 29/09/2004 à 18:08 Ta calc est en quelle langue ?
(Ce topic aurait plus sa place dans Prog Basic !)
Link Le 29/09/2004 à 18:20 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?

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.
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...)
mouais ba même en anglais ça fait pareil, enfin la en anglais sa me fé un doamin erro sur left(e,g)»a
lol, vous sécher ou quoi?
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?
Mets InputStr au lieu de Prompt.
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
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?
Zeph Le 30/09/2004 à 20:43 non y'a pas, malheureusement...

All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez
par ici :)
Nico_ Le 30/09/2004 à 21:22 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 !
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?
Nico_ Le 30/09/2004 à 21:36 getconf() est valable en Anglias ( CaptCalc() en Fr) et renvoie des infos sur la calculatrice l'ID produit, la memoire utilisé ...)
Link Le 30/09/2004 à 21:37 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

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.
et esque il y a une commande identique en anglais/français qui renvoi une chaine différente en français et en anglais?
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é.