Espace TI: Forum
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-30%
Le deal à ne pas rater :
LEGO Icons 10318 – Le Concorde à 139,99€
139.99 € 198.99 €
Voir le deal

CMD version 2 !

+2
nikitouzz
maxence
6 participants

Page 2 sur 2 Précédent  1, 2

Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par maxence Ven 1 Fév - 17:11

Les abréviations en soit ça me gêne pas, c'était juste pour faire gagner du temps à ceux qui galèrent à écrire vite ^^

Le truc pour écrire ça me fait un peu peur quand même, ça veux dire qu'il fait qu'il ajoute des espaces pour aller à la ligne suivante, et qu'il doit ajouter lui même un caractère qui montre qu'il écrit une autre ligne de code, addmetons ":", le problème c'est que pour la traduction si il affiche le caractère ":" avec AFFICHER on ne pouras pas faire la différence avec la nouvelle ligne :/

C'est LE problème majeur pour moi...
maxence
maxence
Or 4
Or 4

Sexe : Masculin
Age : 28
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-84+

TI-84+


Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par persalteas Ven 1 Fév - 18:06

Alors faut faire un système de "Input Str0,Str1" ou le Str0 correspond au haut de l'écran par rapport a la ligne en cours d'édition. Ainsi, on peut changer de ligne par [enter], mais on ne pourra pas éditer la ligne précédente.
persalteas
persalteas
Platinum 2
Platinum 2

Sexe : Masculin
Age : 29
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :
  • - TI-Basic Z80
  • - xLib
  • - Grammer
  • - TI-Basic Nspire
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par maxence Ven 1 Fév - 19:35

Ou alors on fait comme ma méthode pour la verion 1, c'est à dire s'en fichez (^^).

Plus précisement, on met un input dans une boucle, et on met a disposition la commande "ANNUL" qui relance l'écriture du programme depuis le début ?

Du coup si on fait cette méthode, je créerais un éditeur et tu me diras ce que tu en pense, la commande "ALORS" deviendrais " { " et la commande "FIN" deviendrais " } ", tu verras pourquoi. L'avantage c'est que ça évite de se prendre la tête, et vu que les algos crées risquent de pas être très longs, c'est pas si grâve, et en plus on peu rajouter des automatismes, à toi de me dire si ça te convient Content
maxence
maxence
Or 4
Or 4

Sexe : Masculin
Age : 28
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-84+

TI-84+


Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par samsam Ven 1 Fév - 20:33

Pourquoi pas:

Code:

Delvar X Delvar L1
While Str0 != "ARRET
x+1 -> X
Input Str0  // commande de la ligne
If X != 1 and Str0 = "ANNUL
Then
sub(Str9,1,length(Str9-L1(X-1->Str9 
// pas vérifié au caractère près ce que ça donne
X-2 -> X
else
Length(Str0 -> L1(X
Str9 + Str0 -> Str9 //Str9 est le programme
End
End
Ou sinon, tu peux faire un éditeur comme sur flowcode, c'est facile et tout le monde comprend!
J'aimerais bien participer au projet si c'est possible ^^
J'avais fait ma version de CMD, il y a quelque mois, si tu veux que je la poste
samsam
samsam
Argent 4
Argent 4

Sexe : Masculin
Age : 29
Messages : 83
Date d'inscription : 21/06/2012
Etudes : TS spé math (pas enc
Points Forum : 4
Points Concours : 2
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-Collège
  • - TI-82 Stats.fr
  • - TI-84 Pocket.fr
  • - TI-Nspire CAS
  • - TI-Nspire CX

TI-84+ SE


Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par maxence Ven 1 Fév - 21:33

Oui tu peu participer bien évidement Content et poster ta version personelle d'un éditeur de programme de peut que enrichissant pour le programme Clin Oeil

Personellement, ma version de l'éditeur était:

Code:

" ->Str1:"->Str0:1->A
repeat Str0="STOP // ou ARRET peu importe
sub(":    ", 1, min(5, max(1, A
input Ans, Str0
if "TANTQUE ou POUR" est présent // la fleme d'écrire cette commande
then
Disp Ans+"{
A+1->A
End
A+(Str0="{")-(Str0="}->A
if Str0 =/= "STOP // ou ARRET
Str1+"caractèreParcticulierDifDe ':' " +Str0->Str1
End

Du coup la lisibilité au niveau des boucles est meilleurs, et c'est plus rapide d'écrire ALORS et FIN ( remplacés par { et } ).
maxence
maxence
Or 4
Or 4

Sexe : Masculin
Age : 28
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-84+

TI-84+


Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par maxence Lun 4 Fév - 18:08

Double post -_- ...

Avant de commencer, dernière étape, choisir les variables à utiliser et se répartir les tâches Clin Oeil

Je propose la liste lCMD et la chaine Str8 comme variables permanentes, le reste des variables importe peu, et pourquoi pas Str0 et Str1 commes chaines temporaires, a vous de voir Content
maxence
maxence
Or 4
Or 4

Sexe : Masculin
Age : 28
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-84+

TI-84+


Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par maxence Mer 6 Fév - 16:28

Désolé pour le triple post, mais j'avais pas le choix si je voulis que ça se voit :/

Du coup j'attaque les menus, pour l'écriture des progs on verra sur le tas...
maxence
maxence
Or 4
Or 4

Sexe : Masculin
Age : 28
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-84+

TI-84+


Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par persalteas Lun 18 Fév - 14:19

Bon, j'ai eu le temps de griffonner un bout de code Content
J'ai refait l'éditeur (a partir de ton code a toi, avec une correction de bug), j'ai collé une interface graphique au menu de base (c'est celle de mathpowa mais on pourra changer au pire [Vous devez être inscrit et connecté pour voir cette image] ).

Code:

4->O
SetUpEditor CMD
dim(|LCMD->D
If not(D:" ->Str8
FnOff :AxesOff:ClrDraw
0->Xmin:1->DeltaX
0->Ymin:1->DeltaY
1->B
For(A,56,62
Horizontal A:End
For(A,1,11
For(I,0,1
Text(~1,3,6A+I,sub(" Algob0x  ",A,1
End:End
Horizontal 0
Vertical 94
Horizontal 49
Vertical 0
{2,2,2,28,92,28,92,2,2,2
For(A,3,9,2
Line(Ans(A-2),Ans(A-1),Ans(A),Ans(A+1
End
Line(88,2,88,28
Text(35,68,"<<
Text(10,10," TI-Basic IDE
Text(20,10,"Choisissez une tache:
{5,56,6,59,0,62,72,59,73,56
For(A,1,9,2
Pt-Change(Ans(A),Ans(A+1
End
StorePic 7
Lbl theta:FnOff
"Nouveau        Ouvrir          ComPiler        Supprimer                                                     
ClrDraw:RecallPic 7
For(A,0,3
Text(35+6A,5,sub(Ans,16(B+A)-15,16
End
Pt-On(90,28-24B/O,2
Repeat K
getKey->K
End
If K=25 and B>1:B-1->B
If K=34 and BB
B->|LM(1
If K=45 or K=22:Goto Z
If K!=105:Goto theta
ClrHome
If B=1:Then
Input "NOM(8max): ",Str1
1+dim(|LCMD->dim(|LCMD
1+D->D
Str8+sub(Str1+"      ",1,8->Str8
8->|LCMD(D
" ->Str1
"->Str0
1->A
ClrHome
Repeat Str0="QUIT
sub(":    ",1,min(5,max(1,A
Input Ans,Str0
If inString(Str0,"TANT-QUE") or inString(Str0,"ALORS
Then
Disp Ans+"{
A+1->A
End
If A>1 and inString(Str0,"FIN
Then
Disp Ans+"}
A-1->A
End
If not(inString(Str0,"QUIT
Str1+"..."+Str0->Str1
End
Str8+Str1->Str8
8+length(Str1->|LCMD(D
Pause "ENREGISTRE !
End
If B=2:Then
Pause "DISPONIBLE      PROCHAINEMENT !
End
If B=3:Then
0->D:1->A
Lbl RT
Input "NOM ?:",Str1
sub(Str1+"      ",1,8->Str1
For(A,1,dim(|LCMD),|LCMD(A
sub(Str8,A+1,8->Str0
If Str1=Str0:Then
A->D
sub(Str8,A+8,|LCMD(A)-8->Str1
End
End
If D=0:Disp "NON TROUVE !
If D=0:Goto RT

"CONVERTIR ICI Str1 en TI-Basic

End
If B=4:Then
Pause "DISPONIBLE      PROCHAINEMENT !
End
Goto theta
Lbl Z
ClrDraw:ZStandard
DelVar Pic7
AxesOn
ClrHome
Output(4,1,"
Petite explication de la structure du code:
Chaque action du menu est contenue dans un grand "If B=..."
Donc entre le "If B=1" et son End juste avant "If B=2" c'est le code pour "nouveau", entre "If B=2" et son End c'est "ouvrir" (bon pour l'instant y'a pas grand chose [Vous devez être inscrit et connecté pour voir cette image] , etc...

J'utilise le token spécial "trois points" "..." pour séparer les instructions dans la chaine finale.

Pour l'instant on peut enregistrer donc des programmes en français avec un nom de 8 lettres max, tout est sauvegardé dans Str8, les longueurs dans lCMD.
Le programme récupère aussi le code brut depuis CMD à l'ouverture d'un fichier mais ne le convertit pas encore en Basic, je fais ça dans la semaine je pense...
(Si t'as envie de t'éclater a faire un menu à partir des noms de fichiers présents, fais :P Moi j'ai la flemme, j'ai fait un Input "NOM:" ça va plus vite :P )

Un ptit screen.. Avec une belle erreur à la fin que je vais m'empresser de corriger Gni
[Vous devez être inscrit et connecté pour voir cette image]

Choses encore à faire (toi ou moi, selon ce que tu as déjà fait):
-Programmer un truc pour renommer un fichier (B=5)
-Programmer l'éditeur "visuel" automatique (Menus, etc...) (B=6)
-Compléter le parser TI-Basic (B=3)
-Compléter le truc pour supprimer un fichier (B=4)
-Inventer un moyen d'éditer le code (B=2)

Voilà, si jamais tu rajoutes des B=... a n'en plus finir et des fonctions dans le menu, n'oublie pas d'incrémenter le nombre de B possibles qui est stocké dans O a la première ligne du programme.
Ah, et aussi, les titres dans le menu graphique doivent faire 16 caractères de long (rajoute des espaces), et la chaine qui les contient doit finir par 48 espaces (attention on les voit mal sur le code)...
persalteas
persalteas
Platinum 2
Platinum 2

Sexe : Masculin
Age : 29
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :
  • - TI-Basic Z80
  • - xLib
  • - Grammer
  • - TI-Basic Nspire
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par maxence Lun 18 Fév - 17:53

Je peux pas encore me servir de ton code j'ai besoin d'un PC pour le récupérer, mais d'ici vendredi ça devrait être bon.

Sinon je sais pas si t'as vu mon MP, c'est plus trop rapport vu que j'avais pas encore vu ce post quand je te l'ai envoyé... faudras que tu me dise comment ça se passe du coup... Je sais que les porpositions que je t'ai données sont en désaccord avec ce que tu me propose la et que d'une certaine manière c'est un peu égoïste, mais ça pourais aussi être plus simple et rapide à faire et beacoup plus léger :/

Enfin bref, j'essaye de compléter ton code quand je peux, avec TXT je sais presque par coeur comment faire pour renommer, supprimer des fichiers de texte donc ça ira vite...
maxence
maxence
Or 4
Or 4

Sexe : Masculin
Age : 28
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-84+

TI-84+


Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par persalteas Mar 19 Fév - 12:33

J'avais bien vu ton MP (d'ailleurs sinon j'aurais pas appelé le programme Algobox EDIT: ah, zut, tu avais dit LOGICBOX... autant pour moi Gni )

L'un n'empêche pas l'autre, en fait, là j'ai fait un truc ou TXT est presque intégré, mais si tu veux faire un plugin pour le TXT originel c'est simple, suffit de garder que la partie "compiler" en rajoutant une détection de "LABEL DEBUT" dans le texte...

ça me dérange pas du tout, comme ça, ma version Celtic du truc paraitra moins redondante Gni

Ton MP m'a également fait retenir l'idée de pouvoir mettre des commentaires et les skipper à la compilation.

PS: De manière générale, tu as tendance à abréger le français... C'est dommage je trouve puisque c'était l'intérêt principal de CMD...
Par exemple là tu as mis "LBL DEBUT" au lieu de "LABEL DEBUT"...
persalteas
persalteas
Platinum 2
Platinum 2

Sexe : Masculin
Age : 29
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :
  • - TI-Basic Z80
  • - xLib
  • - Grammer
  • - TI-Basic Nspire
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par maxence Mar 19 Fév - 17:37

Pour le nom peut importe ça ne change rien.

Quand je mettais "LB DEBUT" et "LB FIN" LB représentais LogicBox, en fait c'etait juste pout que le programme puisse détecter le début du programme, et surtout pour qu'il y ai une différance entre la fin du programme et le "FIN" de la fin d'une condition, mais finalement j'ai trouvé plus simple:

Je te proposr une syntaxe, c'est tout simplement celle utilisée en cours (je met les deux points du début de ligne à chaque fois):

:(DEBUT) // Marque le début du programme
:(FIN) // Marque la fin du programme
:AFFICHER variableOuTexteAAfficher // = Disp
:EFFACER // ClrHome
:LIRE variablesSepareesParUneVirgule // Prompt, plus court et simple que DEMANDER
:SI condition // If
:FAIRE // Then, plus aproprié que ALORS qui est plus pour les théorème que pour la programmation
:SINON // Else
:FIN // End
:TANT QUE condition // While, il y auras peut-être des problèmes si les utilisateurs croient qu'il faut mettre FAIRE après une boucle :/
:[nomDeTexte] // Permet d'inclure un autre programme déjà présent, pas sur de l'utilité...
:PAUSE // Pause
:variable=valeur // Sto->
:/commentaire // pas d'équivalent à proprement dit ! Content

Pour le moment ça devrait sufir, j'ai pas vraiment verrifier, à toi de voir.

Si ça ne te dérange pas de faire un "plugin" de TXT je préfère autant, comme ça toutes les fonctions d'écriture, renommage etc etc sont déjà prêtes, en plus ça prend moins de place donc ça nous laisse le champ libre à des commandes nombreuses et bien faite, et ça ne gêne pas ton projet tout en favorisant le miens ^^
maxence
maxence
Or 4
Or 4

Sexe : Masculin
Age : 28
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-84+

TI-84+


Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par persalteas Mar 19 Fév - 18:36

Parfait pour la syntaxe. Je me penche dessus ce soir.
persalteas
persalteas
Platinum 2
Platinum 2

Sexe : Masculin
Age : 29
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :
  • - TI-Basic Z80
  • - xLib
  • - Grammer
  • - TI-Basic Nspire
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par maxence Mar 19 Fév - 19:04

Moi de même. Je fait la partie menu plus découpage du texte à traiter, vu que je connais le fonctionnement de TXT. Je stocke la partie "programme" du texte à partir des premiers ":" (pas ceux de "(DEBUT)") jusqu'au caractère juste avant les ":" devant "(FIN)", j'espère que tu m'as compris, le tout dans Str1.

En gros je te donne les entrées, tu n'auras plus qu'à les utiliser pour créer l'algotithme traduit en sortie Content
maxence
maxence
Or 4
Or 4

Sexe : Masculin
Age : 28
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-84+

TI-84+


Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par persalteas Mer 20 Fév - 10:19

Bon, alors j'ai des problèmes incompréhensibles avec la traduction Oh

Je commence peut être a me faire vieux... Scratch

Pour des raisons inconnues, mes conditions inString ne sont pas détectées.

Par exemple, j'ai une Str1="LIRE A,B".

Je pose comme condition:
Code:

If 1=inString(Str1,"LIRE "
"Prompt "+sub(Str1,5,M-5->Str1

Je ne comprends pas pourquoi ça ne passe pas, d'autant plus que 1=inString(Str1,"LIRE " est bien égal à 1 (testé en dehors).

La chaine 1 ne veut pas se modifier. J'ai du rater un détail quelque part, ça va prendre un peu plus de temps.
persalteas
persalteas
Platinum 2
Platinum 2

Sexe : Masculin
Age : 29
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :
  • - TI-Basic Z80
  • - xLib
  • - Grammer
  • - TI-Basic Nspire
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par maxence Mer 20 Fév - 13:20

Je pense avoir trouvé:

Je suppose que la variable M contient la longueur de Str1 ?

Déjà il faut couper à partir du 6ème caractère et non le 5ème, sinon tu prend l'espace avec et ça ne marchera pas. Ensuite pour ton problème, j'ai rencontré le même avec TXT à ses début ^^:

Code:

il faut que tu mette:

"Prompt"+sub(Str1, 6, M-5 ->Str1

et non pas:

"Prompt"+sub(Str1, 6, M-6 -> Str1

Pour la simple et bonne raison qu'il faut que tu soustraie le nombre de caractères se trouvant AVANT le caractère auquel commence la nouvelle chaîne Clin Oeil

Si tu obtient une erreur alors la c'est vraiment bizarre car normalement avec ton ancien code tu aurais du obtenir "Prompt A,"

De mon côté j'ai créer un menu qui ressemble à celui de TXT, pour rester dans l'esprit même si il n'est pas très beau. Il indique si le texte actuellement sélectionné est compatible ou non, et on peut le traduire seulement si c'est le cas.
Il stocke ensuite comme promis le chaîne dans Str1 Content

EDIT:
En relisant ton post je me suis aperçu que je ne répondais pas à ta question, du coup je ne sais pas :/
J'aurais au moins évité une erreur future ^^
maxence
maxence
Or 4
Or 4

Sexe : Masculin
Age : 28
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-84+

TI-84+


Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par persalteas Jeu 21 Fév - 8:42

Exact, merci Oh

Décidément, je me fais vieux Scratch ^^

j'ai pas encore eu le temps d'y réfléchir, je suis en vacances ce WE je regarderai.

J'attends donc également ton code pour adapter mon traducteur au format de chaine de TXT qui est un peu différent du format de mon Algobox (tu utilises quoi, comme token de séparation de lignes ?)
persalteas
persalteas
Platinum 2
Platinum 2

Sexe : Masculin
Age : 29
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :
  • - TI-Basic Z80
  • - xLib
  • - Grammer
  • - TI-Basic Nspire
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par maxence Jeu 21 Fév - 18:28

Pour l'instant mon code pése 340 octets, j'essaierais de le poster samedi vu que je serais en vacance Content

Je ne comprend pas pourquoi tu veu le format de texte ? La partie que j'ai créer découpe une chaîne de caractère à l'interieur d'une texte de TXT qui ne contient que le code à traduire, une simple phrase en quelque sorte:

par exemple Str1 peut être:
|:LIRE A,B :SI A>B:AFFICHER "A" :SI A
maxence
maxence
Or 4
Or 4

Sexe : Masculin
Age : 28
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-84+

TI-84+


Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par persalteas Jeu 21 Fév - 21:43

par exemple Str1 peut être:
|:LIRE A,B :SI A>B:AFFICHER "A" :SI A
La réponse a ma question était donc: "le symbole deux points ':' " Clin Oeil

Merci !
persalteas
persalteas
Platinum 2
Platinum 2

Sexe : Masculin
Age : 29
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :
  • - TI-Basic Z80
  • - xLib
  • - Grammer
  • - TI-Basic Nspire
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par samsam Ven 22 Fév - 18:43

Désolé du retard, voilà ma version de CMD
Je l'ai faite il y a longtemps donc la structure est plutôt mauvaise, il compile directement et si on veut visionner, on doit décompiler Colère
Code:
:While 1
:   Menu("ALGO>BASIC","CREER PRGM",1,"AIDE",Θ,"REPRENDRE",H,"QUITT",K
:   Lbl H
:   Menu("PROGRAM","Str4",C4,"Str5",C5,"Str6",C6,"Str8",C8,"ARRET",A
:   Lbl C4
:   Str4+":→Str0
:   Goto A
:   Lbl C5
:   Str5+":→Str0
:   Goto A
:   Lbl C6
:   Str6+":→Str0
:   Goto A
:   Lbl C8
:   Str8+":→Str0
:   Goto A
:   Lbl 1
:   " →Str0
:   Lbl A
:   If not(length(Str0
:      " →Str0
:   ":→Str7
:   ClrHome
:   Repeat Str1="STOP
:      " →Str2
:      Asm(prgmALPHLOCK
:      Input Str7,Str1
:      If Str1="O.
:      Input "OPERATION:",Str2
:      If Str1="EFFACE
:      "ClrHome→Str2
:      If Str1="ASK
:      Then
:            Input "VARS:",Str1
:         "Prompt "+Str1→Str2
:      End
:      If Str1="STO
:      Then
:            Input "VALEUR:",Str1
:         Input "VARIABLE:",Str2
:         Str1+":For("+Str2+",Ans,Ans-1:End→Str2
:      End
:      If Str1="ARRET
:      "Stop→Str2
:      If Str1="DEMANDER
:      Then
:            Input "VARIABLE:",Str1
:         "Input "+Str1→Str2
:      End
:      If Str1="AFFICHER
:      Then
:            Input "TXT:",Str1
:         "Disp "+Str1→Str2
:      End
:      If Str1="TANT QUE
:      Then
:            Input "CONDITION:",Str1
:         "While "+Str1→Str2
:         "FAIT:→Str7
:      End
:      If Str1="SI
:      Then
:            Input "CONDITION:",Str1
:         "If "+Str1+":Then→Str2
:         "ALORS:→Str7
:      End
:      If Str1="POUR
:      Then
:            Input "VARIABLE:",Str1
:         Input "VALEUR MIN:",Str2
:         "For("+Str1+","+Str2+",
:         Input "VALEUR MAX:",Str1
:         Ans+Str1→Str2
:         "FAIT:→Str7
:      End
:      If Str1="PAUSE
:      "Pause →Str2
:      If Str1="SINON
:      Then
:            "Else→Str2
:         Str1+":→Str7
:      End
:      If Str1="SEE
:      Goto Z
:      If Str1="FIN
:      Then
:            "End→Str2
:         ":→Str7
:      End
:      If Str1="BACK
:      Then
:            sub(Str0,1,length(Str0)-1-length(Str3→Str0
:         DelVar Str3
:      End
:      If Str1≠"BACK" and Str1≠"STOP" and Str2="
:      Disp "COMMANDE NON","RECONNUE
:      If Str2≠"
:      Str0+Str2+":→Str0
:         Str2→Str3
:   End
:   If length(Str0)>3 and Str0≠"
:   Then
:         sub(Str0,2,length(Str0)-2→Str0
:      Disp Ans
:      Menu("SAUVER?","Str4",S4,"Str5",S5,"Str6",S6,"Str8",S8,"NON",SO
:      Lbl S4
:      Str0→Str4
:      Stop
:      Lbl S5
:      Str0→Str5
:              Stop
:      Lbl S6
:      Str0→Str6
:      Stop
:      Lbl S8
:      Str0→Str8
:   End
:   Lbl SO
:   Stop
:   Lbl Θ
:   "?BACK (EFFACE LA DERNIERE INSTRUCTION)?SEE (AFFICHE LE CODE)?{ANNUL}(TOUCHE) (ARRETE SEE)?ASK + [VAR1] + [,VAR2] + [,VAR3] ECT...?EFFACE (EFFACE L'ECRAN)?DEMANDER + (''TEXTE'',) + [VARIABLE]?SI + [CONDITION] + (ALORS) + {INSTRUCIONS} + SINON + {INSTRUCTIONS} + FIN?POUR + [VARIABLE] + [VALEUR MIN] + [VALEUR MAX] + {INSTRUCTIONS} + FIN?PAUSE?STO + [VALEUR] + [VARIABLE]?O. + [OPERATION]?AFFICHER + [''TEXTE'' or VARIABLE]?TANT QUE + [CONDITION] + {INSTRUCTIONS} + END?ARRET (ARRETE LE PROGRAMME)?STOP (TERMINE L'EDITION)?→Str3
:   ClrHome
:   1→X
:   Repeat X=length(Str3
:      inString(Str3,"?",X→X
:      inString(Str3,"?",X+1→B
:      Pause sub(Str3,X+1,B-X-1
:      B→X
:   End
:   Goto 89
:   Lbl Z
:   DelVar AStr0→Str9
:   " →Str9
:   ClrHome
:   Repeat A=length(Str0
:      A+1→A
:      Output(1,1,iPart(Aᴱ2/length(Str0
:      " →Str2
:      sub(Str0,A,1
:      If Ans="If
:      "SI→Str2
:      If Ans="Then
:      "ALORS→Str2
:      If Ans="Else
:      "SINON→Str2
:      If Ans="End
:      "FIN→Str2
:      If Ans="Pause
:      "PAUSE→Str2
:      If A+9≤length(Str0
:      Then
:         If sub(Str0,A,10)="For("+sub(Str0,A+1,1)+",Ans,Ans-1:End
:         Then
:               A+10→A
:            sub(Str9,1,length(Str9)-1→Str9
:            "="+sub(Str0,A-9,1→Str2
:         End
:      End
:      If Ans="Prompt
:      "ASK→Str2
:      If Ans="For(
:      "POUR→Str2
:      If Ans="While
:      "TANT QUE→Str2
:      If Ans="Disp
:      "AFFICHER→Str2
:      If Ans="Input
:      "DEMANDER→Str2
:      If Ans="ClrHome
:      "EFFACE→Str2
:      If Str2≠"
:      Then
:            Str9+Str2+":→Str9
:      Else
:         Str9+Ans→Str9
:      End
:      
:      Output(2,1,sub(Str9,A,15(A+15≤length(Str9))+(length(Str9)-A)(length(Str9)<A+15
:      Output(3,1,"     
:      
:      getKey→G
:      If G=45
:         length(Str0→A
:   End
:   
:   If length(Str9)>3
:      Pause sub(Str9,2,length(Str9)-2
:   Disp "
:End
:Lbl K
ALPHLOCK est juste le programme qui active le mode alpha:
Code:
FDCB12E6
FDCB12F6
C9

Pour l'éditeur visuel, j'ai pensé à travailler dessus en axe même si avec le Input ça devient un peu galère Gni
samsam
samsam
Argent 4
Argent 4

Sexe : Masculin
Age : 29
Messages : 83
Date d'inscription : 21/06/2012
Etudes : TS spé math (pas enc
Points Forum : 4
Points Concours : 2
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-Collège
  • - TI-82 Stats.fr
  • - TI-84 Pocket.fr
  • - TI-Nspire CAS
  • - TI-Nspire CX

TI-84+ SE


Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par persalteas Sam 23 Fév - 8:14

Moui c'est pas mal, mais tu gaspilles des variables :P
On pourrait faire avec moins.

Pour l'éditeur visuel, j'ai pensé à travailler dessus en axe même si avec le Input ça devient un peu galère

Apprends le Grammer Gni
persalteas
persalteas
Platinum 2
Platinum 2

Sexe : Masculin
Age : 29
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :
  • - TI-Basic Z80
  • - xLib
  • - Grammer
  • - TI-Basic Nspire
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par maxence Sam 23 Fév - 17:20

As tu réussis à régler ton programme persateas ?

A partir de maintenant, je pense qu'on se met tous sur le système de traduction du texte en programme.

Ça serait pas mal de créer un système qui remplace des mot par un autre (comme une traduction mot par mot finalement).

Par exemple, il remplace tous les ":LIRE" par des ":Prompt". La différence, c'est qu'au lieu de créer une nouvelle chaîne qui est elle traduite, on garde l'originale mais en changeant juste les mots. J'ai remarqué que ça marchais presque pour toutes les commandes du Basic.

Et on pourrais même créer un système qui permet aux utilisateurs de créer leur propre commandes, je m'explique:

Admettons que notre programme comporte une liste de mots avec leur équivalent, comme ":LIRE=:Prompt", on pourrais mettre une commande "CREER", qui permetrais à l'utilisateur de rajouter une mot et son équivalent dans la liste avant la traduction, où la syntaxe serait quelque chose comme:

Code:

:CREER GRAPHIQUE=DispGraph // Le vrai token
:CREER TABLE=DispTable
:CREER POINT(=PtOn(

La par exemple, si on met ces lignes, on indique au traducteur que désormais, quand on écriras "GRAPHIQUE", il faudra le remplacer par "DispGraph", on a en quelque sorte créer la commende DispGraph en CMD.

Qu'est-ce que vous en pensez ?
maxence
maxence
Or 4
Or 4

Sexe : Masculin
Age : 28
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-84+

TI-84+


Revenir en haut Aller en bas

CMD version 2 ! - Page 2 Empty Re: CMD version 2 !

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 2 sur 2 Précédent  1, 2

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum