Aide programmation
Re: Aide programmation
et je peut faire genre
if main\programm = archive Then
unarchive main\programm
Else
archive main\programm
endif
?
if main\programm = archive Then
unarchive main\programm
Else
archive main\programm
endif
?
-
Hedg-Hops
Niveau 9: IC (Compteur Infatigable)- Posts: 54
- Joined: 09 Nov 2011, 14:06
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1ère Scientifique
Re: Aide programmation
isArchiv() ? Mais ça n'est dispo que sur la toute dernière version de l'OS, ça ne fonctionnera pas sur les versions plus anciennes (ce qui est un handicap, si tu veux distribuer tes programmes).
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
-
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6865
- Joined: 23 Dec 2009, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: -
- GitHub: debrouxl
Re: Aide programmation
J'ai un problème de programmation plus sérieux pour toi ^^
Alors, dans l'écran IO il y aura ça
faut définir un getkey pour que la chaine "<-" bouge de bas en haut grace au flèche (dire que si la flèche est en haut elle va en bas et vice versa)
et que si j'appui sur entré a la numéro 1 par exemple, elle archive ou désarchive le programme !
je te montre mon code: (mais juste un début c'est la première fois sur 89 que je fais le getkey)
voila si tu pouvais m'expliqué la suite ^^', ou réparer les erreur que j'ai faite (je me suis basé sur mes connaissances en z80 tu l'auras compris ...)
Alors, dans l'écran IO il y aura ça
- Code: Select all
Programme:
x numéro 1 <-
numéro 2
numéro 3
x numéro 4
numéro 5
faut définir un getkey pour que la chaine "<-" bouge de bas en haut grace au flèche (dire que si la flèche est en haut elle va en bas et vice versa)
et que si j'appui sur entré a la numéro 1 par exemple, elle archive ou désarchive le programme !
je te montre mon code: (mais juste un début c'est la première fois sur 89 que je fais le getkey)
- Code: Select all
output 1,1," programmes: "
output 2,2,"numéro 1"
output 3,2,"numéro 2"
output 4,2,"numéro 3"
output 5,2,"numéro 4"
output 6,2,"numéro 5"
"<-" [sto>] str1 //chaine 1 = "<-"
output 2,11,str1
2->A
repeat key=13 //enter
output A,11,str1
repeat K
getKey-> key
endkey
output A,11," "
A+(key=338)-(key=334)->A
if A=0
5->A
if A=6
1->A
voila si tu pouvais m'expliqué la suite ^^', ou réparer les erreur que j'ai faite (je me suis basé sur mes connaissances en z80 tu l'auras compris ...)
-
Hedg-Hops
Niveau 9: IC (Compteur Infatigable)- Posts: 54
- Joined: 09 Nov 2011, 14:06
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1ère Scientifique
Re: Aide programmation
Salut!
Juste, par rapport à ton code... tu es obligé d'utiliser Output (IO) tu veux pas passer par le Draw?
C'est plus simple... enfin j'ai toujours fait ça dans mes progs
Dis moi si ca t'intéresse de cette manière
Juste, par rapport à ton code... tu es obligé d'utiliser Output (IO) tu veux pas passer par le Draw?
C'est plus simple... enfin j'ai toujours fait ça dans mes progs
Dis moi si ca t'intéresse de cette manière
-
Creative Basic
Niveau 8: ER (Espèce Rare: nerd)- Posts: 93
- Joined: 24 Jul 2011, 12:51
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Aide programmation
Oui je veux bien ! j'apprendrai les 2 manières de toute façon
-
Hedg-Hops
Niveau 9: IC (Compteur Infatigable)- Posts: 54
- Joined: 09 Nov 2011, 14:06
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1ère Scientifique
Re: Aide programmation
Ok. par contre les chiffres que je donne sont à reprendre (je ne vérifie pas ce que cela donne on calc, c'est juste pour te donner un exemple -- et je ne suis plus sur des codes getkey pour bas et haut)
Pxltext "Mes programmes",0,0
Pxltext "numéro 1",20,0
Pxltext "numéro 2",40,0
pxltext "numéro 3",60,0
1 -> a
loop
getkey() ->k
if k=338: a-1->a
if k=344: a+1->a
if a>3:1->a -- pour ton exemple il faudra : if a>6:1->a
if a<1:3->a
if a=1 then:pxltext "<-",20,50:pxltext " ",40,50:pxltext " ",60,50:endif
if a=2 then:pxltext " ",20,50:pxltext "<-",40,50:pxltext " ",60,50:endif
if a=3 then:pxltext " ",20,50:pxltext " ",40,50:pxltext "<-",60,50:endif
if k=13:goto suite
endloop
lbl suite
if a=1:programme1()
if a=2:programme2()
if a=3:programme3()
...
Voilà, le code n'est pas optimisé mais il devrait te permettre d'avancer.
Dis moi si ça te parle ou si tu as besoin de plus d'explication
Pxltext "Mes programmes",0,0
Pxltext "numéro 1",20,0
Pxltext "numéro 2",40,0
pxltext "numéro 3",60,0
1 -> a
loop
getkey() ->k
if k=338: a-1->a
if k=344: a+1->a
if a>3:1->a -- pour ton exemple il faudra : if a>6:1->a
if a<1:3->a
if a=1 then:pxltext "<-",20,50:pxltext " ",40,50:pxltext " ",60,50:endif
if a=2 then:pxltext " ",20,50:pxltext "<-",40,50:pxltext " ",60,50:endif
if a=3 then:pxltext " ",20,50:pxltext " ",40,50:pxltext "<-",60,50:endif
if k=13:goto suite
endloop
lbl suite
if a=1:programme1()
if a=2:programme2()
if a=3:programme3()
...
Voilà, le code n'est pas optimisé mais il devrait te permettre d'avancer.
Dis moi si ça te parle ou si tu as besoin de plus d'explication
-
Creative Basic
Niveau 8: ER (Espèce Rare: nerd)- Posts: 93
- Joined: 24 Jul 2011, 12:51
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Aide programmation
Merci ! non je comprend ça va, ma ligne "A+(key=338)-(key=334)->A" ne marche pas je vais faire ça, puis j'essairai de faire de même en plaçant une boucle pour éviter de mettre 5 longue condition (je faisait de la programmation z80 alors jsuis tatillon sur le gain d'octet
merci encore !
merci encore !
-
Hedg-Hops
Niveau 9: IC (Compteur Infatigable)- Posts: 54
- Joined: 09 Nov 2011, 14:06
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1ère Scientifique
Re: Aide programmation
Voila ! j'ai réussi ! )
voila, je n'ai pas encore fais la suite, mais je le fais bientôt !
- Code: Select all
Lbl test
PxlText "programe\:",0,10
PxlText "numéro 1",10,10
PxlText "numéro 2",20,10
PxlText "numéro 3",30,10
PxlText "numéro 4",40,10
PxlText "numéro 5",50,10
1->a
0->k
While k#13 // pas égal à
PxlText "<",10a,60
While k=0
getKey()->k
EndWhile
PxlText " ",10a,60
if k=338:a-1->a // pourquoi ici, a+(k=338)-(k=344)->a n'est pas correcte ?
if k=344;a+1->a /
if a>5:1->a // et ici ? a+(a>5)-(a<1)->a
if a<1:5->a
0->k
EndWhile
voila, je n'ai pas encore fais la suite, mais je le fais bientôt !
-
Hedg-Hops
Niveau 9: IC (Compteur Infatigable)- Posts: 54
- Joined: 09 Nov 2011, 14:06
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1ère Scientifique
Re: Aide programmation
Pour ce qui est du a+(k=338)-(k=344), ça ne marche pas car la TI89 gère les variables booléennes, contrairement à la TI84 (et à d'autres langages comme le C).
Par conséquent, (k=338) est égal à "true", à "false" ou à "undef"... mais pas à 0 ou 1.
Par ailleurs, tu peux utiliser la factorisation de code pour gagner de la place.
Enfin, ta boucle "while k#13..." ne se termine jamais car tu redonnes la valeur 0 à k à la fin !
Voici ce que ça donne, si on corrige et si on améliore :
Par conséquent, (k=338) est égal à "true", à "false" ou à "undef"... mais pas à 0 ou 1.
Par ailleurs, tu peux utiliser la factorisation de code pour gagner de la place.
Enfin, ta boucle "while k#13..." ne se termine jamais car tu redonnes la valeur 0 à k à la fin !
Voici ce que ça donne, si on corrige et si on améliore :
- Code: Select all
Lbl test
PxlText "programme\:",0,10
for i,1,5
PxlText "numéro "&string(i),10*i,10
endfor
1->a
0->k
While k#13 // k différent de 13
PxlText "<",10a,60
0->k
While k=0
getKey()->k
EndWhile
PxlText " ",10a,60
if k=338
mod(a-2,5)+1->a // si a>1, mod(a-2,5)=a-2, si a=1, mod(a-2,5)=4
if k=344
mod(a,5)+1->a // si a<5, mod(a,5)=a, si a=5, mod(a,5)=0
EndWhile
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 5670
- Joined: 11 Mar 2008, 00:00
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Aide programmation
Merci bisaam ! j'avais réussi en mettant un goto label, mais c'est moin propre ^^
j'ai un ptit programme de convertion d'unité que je n'arrive pas a traduire en 89... (a cause des liste et chaines que je ne maitrise pas)
mon programme que j'ai poster, "puissance 10" dans les convertion il y a tout le programme si tu veux le voir en z80.
j'ai un ptit programme de convertion d'unité que je n'arrive pas a traduire en 89... (a cause des liste et chaines que je ne maitrise pas)
- Code: Select all
Lbl 0
2->dim(L1) // bloque
{12,9,6,3,2,1,0,-1,-2,-3,-6,-9,-12,-15}-> L2 // bloque
L2(A+7B-7)->C // liste toujours je bloque
C->L1(W) // L1(1) ou L1(2)
input Str1,variable
P(L1(1)-L1(2))->U
//comment on défini un nombre (5) dans une variable en une string ? (le contraire de expr() )
variable1->variable2 // marche pas !!!
if vaariable1=1:"A"
if vaariable2=2:"B"
ans(1)-> str1 // invalide ans...
mon programme que j'ai poster, "puissance 10" dans les convertion il y a tout le programme si tu veux le voir en z80.
-
Hedg-Hops
Niveau 9: IC (Compteur Infatigable)- Posts: 54
- Joined: 09 Nov 2011, 14:06
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: 1ère Scientifique
Return to Problèmes divers / Aide débutants
Who is online
Users browsing this forum: ClaudeBot [spider] and 6 guests