1

Voila je vais pas y aller par 4 chemins :
Mon programme est un convertisseur de cm en pixels et vice-versa !
Malhereuseument j'ai un petit probleme avec une certaine commande "text" angry
Voila le début de mon prog :
()
Prgm
ClrHome
setMode("Display Digits","FLOAT 2")
setMode("Exact/Approx","APPROXIMATE")
Local a,b,c,x,y
Dialog
Title "Convertisseur"
DropDown "convertion",{"pixel->cm","cm->pixel"},c
EndDlog
If c=1 Then
Dialog
Title "pixel->cm"
Request "largeur (en pixels)",x
Request "hauteur (en pixels)",y
EndDlog
x*2.54/96»a
y*2.54/96»b
Dialog
Title "Résultats de la conversion"
Text <--- cé la que sa bug!!!!! rage
EndDlog
EndIf
EndPrgm

Ceci n'est que une partie du programme smile et je suis certain qu'il y a des erreurs et que ce programme pourrait être mieux grin mais bon cé mais début !!! tongue

Moi j'aimerai que dans une fenêtre il s'affiche "x pixels = a cm" (pour x et a voir le programme wink ) et "y pixels = b cm" (pour y et b, pareil voir le prog wink )
Je ne veux pas que sa s'affiche dans I/O mais dans une fenetre.

Voila, j'espère que vous pourrez m'aider

Merci à vous chinois

@++
Albert Einstein est mort mais son esprit perdure toujours en notre monde sous sa plus belle forme : e=mc²

{*)~~Misterobotique~~(*}

2

Text demande en argument une chaîne de caractères. Essaye Text "".
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é

3

Malhereuseument, si je tape :
.....
Text "x en pixels = a en cm"
....

Il me met exactement ce que j'ai mis entre guillemet rage , il ne m'affiche pas la valeur des variables!!!!! sad alors que moi j'aimerai, si x=96 par exemple,qu' il m' affiche "96 pixels = 2,54 cm"

Comment faire?

Merci de votre aide chinois

@++
Albert Einstein est mort mais son esprit perdure toujours en notre monde sous sa plus belle forme : e=mc²

{*)~~Misterobotique~~(*}

4

Tu fait:
Text x&" en pixel = " &a& " en cm"

smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

5

Utilise :
Text string(x)&" en pixel = "&string(a)&" en cm"
Visitez mon site : http://www.bobti89.fr.st
Testez mon forum ici

6

./4 et ./5 : faux.

Déjà les variables sont de types différents. Chaines et nombres ne sont pas "mélangeables". Tes requests retournent des chaines dans x et y, il faut déjà les convertir en nombre (en vérifiant que l'utilisateur a bien entré un nombre dans les boites, et pas n'importe quoi). Je te laisse chercher, indice : fonction "expr()".

Ensuite pour afficher le résultat, tu n'es pas en PHP : tout ce qui est dans une chaine n'est pas examiné, donc écrit tel quel à l'écran. Pour afficher x et a il faut les sortir de la chaine, les transformer eux-même en chaines (ce sont des NUM puisqu'on les a converti comme tels pour pouvoir effectuer des calculs dessus), puis concaténer. Indice : fonction "string()" et operateur "&" pour la concaténation.

Ton manuel suffira pour le reste.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

7

Pour ta solution geogeo il met l'erreur Data type
Quand a ta solution bobti89 il met presque ce qu'il faut sauf que j'obtient pour x=96, ""96" en pixels=0.03*"96" en cm"

Pourquoi d'apres vous j'obtient sa ?? confus
C'est en de bonne voit smile !!

Merci de vos réponses (ultra rapide je dois dire !! lol) chinois

@++
Albert Einstein est mort mais son esprit perdure toujours en notre monde sous sa plus belle forme : e=mc²

{*)~~Misterobotique~~(*}

8

Regarde le post de Vertyos tout est dit. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

9

J'ai aussi une idée: lis le manuel, tout est dedans smile
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

Merci de ta réponse @Vertyos !! smile
C'est un peu strange et confus pour moi mais je crois que j'ai compris (rappel : je suis un 100% nood lol) wink

Merci de votre aide chinois

@++
Albert Einstein est mort mais son esprit perdure toujours en notre monde sous sa plus belle forme : e=mc²

{*)~~Misterobotique~~(*}

11

Me revoilà smile

Mon programme marche presque comme je le foulait grin et j'ai suivit tes conseils @Vertyos alors voila ce que sa donne : top

()
Prgm
ClrHome
setMode("Display Digits","FLOAT 3")
setMode("Exact/Approx","APPROXIMATE")
Local a,b,c,d,x,y,z
Lbl d
0»x
0»y
Dialog
Title "Convertisseur"
DropDown "convertion",{"pixel->cm","cm->pixel"},c
EndDlog
If ok=0: Goto z
If c=1 Then
Dialog
Title "pixel->cm"
Request "largeur (en pixels)",x
Request "hauteur (en pixels)",y
EndDlog
If ok=0: Goto d
expr(x)»x
expr(y)»y
If x&y=0 or x&y="" then <-- là cé encore un peu confus hum
Goto d
ElseIf x=0 or x="" Then
y*2.54/96»b
Dialog
Title "Résultat de la conversion"
Text string(y)&" en pixels = "&string(b)&" en cm"
EndDlog
Goto d
ElseIf y=0 or y="" Then
x*2.54/96»a
Dialog
Title "Résultat de la conversion"
Text string(x)&" en pixels = "&string(a)&" en cm"
EndDlog
Goto d
Else
x*2.54/96»a
y*2.54/96»b
Dialog
Title "Résultats de la conversion"
Text string(x)&" en pixels = "&string(a)&" en cm"
Text string(y)&" en pixels = "&string(b)&" en cm"
EndDlog
EndIf
Goto d
Else
Dialog
Title "cm->pixel"
Request "largeur (en cm)",x
Request "hauteur (en cm)",y
EndDlog
If ok=0: Goto d
expr(x)»x
expr(y)»y
If x&y=0 or x&y="" Then <-- là cé encore un peu confus hum
Goto d
ElseIf x=0 or x="" Then
y*96/(2.54)»b
Dialog
Title "Résultat de la conversion"
Text string(y)&" en cm = "&string(b)&" en pixels"
EndDlog
Goto d
ElseIf y=0 or y="" Then
x*96/(2.54)»a
Dialog
Title "Résultat de la conversion"
Text string(x)&" en cm = "&string(a)&" en pixels"
EndDlog
Goto d
Else
x*96/(2.54)»a
y*96/(2.54)»b
Dialog
Title "Résultats de la conversion"
Text string(x)&" en cm = "&string(a)&" en pixels"
Text string(y)&" en cm = "&string(b)&" en pixels"
EndDlog
Goto d
EndIf
EndIf
Lbl z
EndPrgm

Mon dernier probleme (je pense wink ) est le suivant :
Comment faire pour qu'il vérifie que quand les request soit vides ou qu'il y ait 0 et 0 ou ecrit n'importe quoi il renvoit au Lbl d (idée de @Vertyos pour les problemes que l'on peut rencontrer wink )???

Merci de votre aide chinois

@++

ps : bravo pour la rapidité des réponses (j'ai pas trouver de smiley qui applause) et merci à @Vertyos qui répond sans donner la réponse ce qui est très bien je trouve grin
Albert Einstein est mort mais son esprit perdure toujours en notre monde sous sa plus belle forme : e=mc²

{*)~~Misterobotique~~(*}

12

Quand tu quitte une boite de dialogue avec Esc, les variables ne sont pas modifiées (ie : elles ont toujours la valeurs qu'elles avaient avant le dialogue).

Le plus sûr pour vérifier, c'est de te faire une fonction qui teste si une chaine ne contient que des arguments numeriques, par exemple :

define isnum(s)=func
local o,t
for t,dim(s),1,-1
ord(s[t])->o
if o<48 or o>57
return false
endfor
return true
endfunc

(je n'ai pas testé, ça devrait marcher)

Ensuite, il y a deux conditions à tester après la sortie de la boite de dialogue : si l'utilisateur a appuyé sur Esc (variable systeme "ok" vaut 0), et sinon, si la chaine est bien uniquement numerique, avec la fonction ci-dessus.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

13

If x&y=0 or x&y="" then <-- là cé encore un peu confus

ne veut rien dire

"&" s utilise avec les "string"... la x et y sont des variables
je pense comprendre ce que tu veux faire:

If x=0 or y=0 then

----------------------------------
ton prog qui marche smile :

Prgm
ClrHome
setMode("Display Digits","FLOAT 2")
setMode("Exact/Approx","APPROXIMATE")
Local a,b,c,x,y
Dialog
Title "Convertisseur"
{"pixel->cm","cm->pixel"}>>l
DropDown "convertion",l,c
EndDlog

Dialog
Title l[c]
Request "largeur (en pixels)",x
Request "hauteur (en pixels)",y
EndDlog
string(expr(x)*2.54/96)»a
string(expr(y)*2.54/96)»b
Dialog
Title "Résultats de la conversion "&l[c] ;peut etre trop long
Text "largeur = "a
Text "longueur = "b
EndDlog
EndIf
EndPrgm

ca devrait marcher et c plus court !

14

Merci pour cet astuce wink

Mais pourrait tu m'expliquer un peu de quoi il s'agit dans ta fonction car il y a des commandes qui me sont inconnu confus

Et si tu pouvais m'expliquer un peu plus clairement sur où placer cet fonction (je crois avoir compris mais cé pour vérifier smile )

Moi je l'ai placer là

.....
Request "hauteur (en pixels)",y
EndDlog
If ok=0 then
Goto d
else
define isnum(s)=func
local o,t
for t,dim(s),1,-1
ord(s[t])->o
if o<48 or o>57
return false
endfor
return true
endfunc
endif
expr(x)»x
expr(y)»y
If x=0 or x="" Then
.......

Cé comme sa non ?

Merci de ton aide chinois

@++
Albert Einstein est mort mais son esprit perdure toujours en notre monde sous sa plus belle forme : e=mc²

{*)~~Misterobotique~~(*}

15

ca devrait marcher et c plus court !

La boite de dialogue s'affiche, je rentre "***", je valide -> bug.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

16

misterobotique > Non pas du tout... Pour les fonctions, va lire ton manuel elles y sont toutes. Pour la fonction, il faut la déclarer au début du programme (si possible la mettre en "local" aussi), et ensuite l'utiliser comme n'importe quelle autre fonction : if isnum(s) then ...
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

17

Merci de vos reponses a vous deux (dsl brisboul_75 j'avais po fé gaffe que tu avez poster)

Mais malhereuseument ton programme simplifier du mien de fonctionne pas !! sad
Moi ce que je souhaite c'est que pour :
- si le request largeur est vide ou nul, alors il ne s'affiche que la conversion de la hauteur
- si le request hauteur est vide ou nul, alors il ne s'affiche que la conversion de la largeur
- si les request sont vides (tous les 2) ou qu'il y a pas des chiffres écrit dedans que sa me renvoit a la fenetre de début (lbl d) (c'est pour sa que j'avais mis : "if x&y=0 or x&y="" then"

Je sais que sa a l'air et que cé tres exigeant roll mais j'aimerai juste réussir ce programme afin qu'il fonctionne bien grin

Voilou ,voilou!!! smile

Merci de votre aide et de votre patience chinois

@++
Albert Einstein est mort mais son esprit perdure toujours en notre monde sous sa plus belle forme : e=mc²

{*)~~Misterobotique~~(*}

18

cf. post #15 (croisé je suppose), toutes les réponses sont dans la notice.

P.S : Tu voudrais pas lever un peu la main sur les couleurs et les smileys ? Ça devient difficilemement lisible...
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

19

./18
oki

ps : ouai je vais essayer
Albert Einstein est mort mais son esprit perdure toujours en notre monde sous sa plus belle forme : e=mc²

{*)~~Misterobotique~~(*}

20

... mouais... c pour toi le prog! qui voudrait d un convertisseur pixel centimetres ti-89 smile

donc cela étant pour toi t en as rien a battre que si tu rentres des "mauvaises" valeurs ca fasse pas planté le prog. tu rentres des valeur correctes nan?

mais bon si c pour apprendre comment faire, c bien pour toi
g jamais tenter de faire ca, mes progs étant pour moi (du moins ceux ou teu rentres des valeurs)

21

Ensuite, il y a deux conditions à tester après la sortie de la boite de dialogue : si l'utilisateur a appuyé sur Esc (variable systeme "ok" vaut 0), et sinon, si la chaine est bien uniquement numerique, avec la fonction ci-dessus


merci j apprends quelque chose la...
g que le manuel ti...y parle pas des variables système...
y en a d autres comme ca qui sont interessantes?

22

cherche dans le manuel en PDF sur le CD-ROM, il y a une section où tu peux les trouver...
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.

23

misterobotique :
Merci de ta réponse @Vertyos !! smile


lol son pseudo c Vertyos
le @ signifie qu'il est modérateur des forums smile
avatar
Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP

24

limmt :
le @ signifie qu'il est modérateur des forums smile

non tu dis n'importe quoi... Le @ signifie qu'il est un admin. Les modérateurs sont marqués avec un +
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

25

oué admin c vrai
avatar
Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP