Autorisation : Membre
Nb de messages : 6
Inscrit le : Mer 03 Juil 2013, 17:30
Posté le : Mer 03 Juil 2013, 17:36
PrgmMEMO
Salut à tous : )
Ptit nouveau sur ce forum (17 ans 3/4, Ti-82stats.fr depuis 3-4 ans, j'ai appris a programmer grâce au pdf dispo ici https://tout82.pages-perso.free.fr/manuels/TI82STATS.pdf, grand lecteur de l'actu de ce site et du fofo), je propose de partager un de mes programmes.
Le programme en question est un programme de "mémo" qui permet de noter rapidement des idées qui nous passent par la tête quand on n'a que sa calculatrice sous la main.
Fonctionnalités :
- Tous les mémos sont stockés dans une UNIQUE chaîne (Chaine5). Avantages : le nombre de mémos ne dépend pas du nombre de chaînes. La seule limite est la mémoire de la calculatrice. Inconvénients : si vous supprimez cette chaîne, vous perdez tous vos mémos d'un coup : )
- Tous les caractères sont acceptés, mais si vous mettez des caractères tels que cos( ou encore abs( , vous verrez un joli bug d'affichage (car ils ne comptent que pour 1 caractère mais prennent plus de place sur l'écran. )De plus, la commande "->" (sto->) n'est pas acceptée à cause des restrictions de la calculatrice.
- Affichage des mémos : chaque mémo est affiché l'un en dessous de l'autre sous forme de tiret lors du démarrage du programme et lorsque l'on le quitte.
- Consultation rapide des mémos : lors du lancement du programme, les mémos sont directement affichés sur l'écran, en plusieurs "pages" si besoin. Ensuite est affiché le menu de démarrage.
- Édition des mémos : il est possible à partir du menu de démarrage de supprimer un ou plusieurs mémos en allant dans l'onglet "EFFACER" ("1" efface alors le 1er mémo, "2" le 2ème mémo, etc. "TOUT" efface tous les mémos.) On peut aussi "annuler l'annulation" en entrant "RIEN" ou "ANNULER" ou "0".
- Le menu permet bien sur de créer un nouveau mémo, qui sera ajouté à la Chaine5 (chaîne dans laquelle sont stockés les mémos). Pour une meilleure ergonomie, le programme se ferme après avoir entré un nouveau mémo, mais c'est tout à fait modifiable.
- Taille du programme : 775 octets environ. Je n'ai pas de câble Ti-PC, donc pas de lien pour télécharger le prgm, désolé !
// blabla : commentaires, à ne pas écrire !
Code
// -> représente la commande "sto->", Ø est le signe grec thêta (alpha+3).
If longueur(Chaine5)=0
Then
EffEcr
Output(8,7,"AUCUN MEMO
Pause
Goto 0
End
longueur(Chaine5) -> L
-127 -> A
1 -> B
0 -> E
While L>128
L-128 -> L
E+1 -> E
A+128 -> A
B+128 -> B
EffEcr
Output(1,1,sous-Chaine(Chaine5,A,B
Pause
End
A+128 -> A
B+128 -> B
longueur(Chaine5) -> L
EffEcr
Output(1,1,sous-Chaine(Chaine5,A,L-128E
Pause
Lbl 0
EffEcr
Menu(" MEMO ","NOUVEAU",1,"EFFACER",2,"QUITTER", Ø
Lbl Ø
"" -> Chaine4 // deux guillemet se suivent : on initialise la chaîne 4
EffEcr
Output(1,1,Chaine5
Stop
Lbl1
EffEcr
Output(7,1,"----------------'0' POUR ANNULER" //16 "-" pour remplir la 7ème ligne.
Input "-", Chaine4
If Chaine4 = "0"
Then
Goto 0
End
Output(7,1,"----------------ENREGISTREMENT.." //pareil, 16 "-" pour remplir la 7ème ligne.
If longueur(Chaine5) = 0
Then
"-" + Chaine4 -> Chaine5
Else
Chaine5 + "-" + Chaine4 -> Chaine5
End
longueur(Chaine5) -> L
While L>16
L-16 -> L
End
For(A,L+1,16
Chaine5+" " ->Chaine5 //1 espace entre les guillemets
End
Goto Ø
Lbl 2
Input "SUPPRIMER:",Chaine0
Output(7,1,"----------------SUPPRESSION... //Pareil, 16 "-" pour remplir la 7ème ligne.
If Chaine0 = "TOUT"
Then
"" -> Chaine5 // initialisation de la chaîne 5
Goto Ø
Else
If Chaine0 = "RIEN" ou Chaine0 = "ANNULER" ou Chaine0 = "0
Then
Goto Ø
End
longueur(Chaine5) -> L
EffListe L1
0 -> N
For(X,1,L,8 //le dernier chiffre signifie "par pas de 8".
If sous-Chaine(Chaine5,X,1) = "-
Then
1+N -> N
X -> L1(N
End
End //Pendant cette boucle, le nombre de mémos et leur place sont stockés dans la chaîne L1.
expr(Chaine0)- > S
If S > N
Then
Output(7,1,"ERREUR : NOMBRE TROP GRAND //2 espaces entre "NOMBRE" et "GRAND" puis 4 espaces après "GRAND" pour l'affichage.
Goto 0
End
If S=N et N=1
Then
"" -> Chaine5
Goto Ø
End
If S=N
Then
sous-Chaine(Chaine5,1,L1(S)-1) -> Chaine5
Else
L1(S) -> A
L1(S+1) -> B
sous-Chaine(Chaine5,1,A) + sous-Chaine(Chaine5,B+1,L-B) -> Chaine5
End
Goto Ø
Voili voilà, n'hésitez pas à poser vos questions, je connais mon programme par cœur ; )
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 03 Juil 2013, 20:33
Intéressant. La gestion des notes est correcte, l'ensemble est excellent.
La présentation est efficace pour prendre rapidement des notes.
Mais je suis déçu par l'abscence d'édition des notes, au moins comme TXT de maxence avec 2nde+sto(rappel)+2nde+[( - )](Rép).
Je préfèrerais lancer la lecture avec le menu principal et revenir à ce menu en quittant, plutôt qu'à l'allumage.
Ce serait intéressant de pouvoir se ballader aussi.
(pour faire ça, on remplace la pause par une boucle avec conditions de touches.)
J'ai un problème de longueur de page.
J'ajoute une note très longue mais inférieure à la zone délimitée après des notes d'une page commencée, et j'ai une erreur de dimension sur Output(1,1,sub(Str5,A,B
Une chose est dommage : on peut faire la même chose dans l'éditeur de programme, cela réduit l'intérêt de ce programme.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
C'est un bug que je n'avais jamais rencontré, bien que j'ai utilisé le programme plusieurs fois...
Il arrive quand on entre plusieurs fois de suite un mémo de taille très importante.
Pour le corriger, je propose d'insérer le code suivant juste avant la ligne "Output(1,1,sous-Chaine(Chaine5,A,B (Ligne où l'erreur est signalée) :
Code
If L=<128
Then
128-L ->B
End
Il y aura une petite différence d'affichage sur la dernière page mais après, ça me dépasse, vu que ce programme m'a demandé beaucoup de concentration et de réflexion ^^'
Si vous avez mieux n'hésitez pas : )
@linkakro :
Pour l'édition des notes, j'y ai pensé mais c'est beaucoup pour l'utilisation générale du programme... on peut quand même supprimer la note qu'on veut et non toute la chaine ; )
La prochaine fois que je posterai un prgm, je penserai à utiliser un émulateur et une version téléchargeable la prochaine fois. Quel émulateur me conseillerais-tu ?
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 03 Juil 2013, 23:53
Je testerai cette modification. Sans Then et End facultatifs (en effet une seule action est dedans).
Je pense que j'utiliserais des carChaîne/inString plutôt qu'une boucle à pas de 8 et des sous-chaîne/sub pour compter les notes et repérer les tirets. Mais ce n'est pas forcément plus rapide ou léger.
Ta remarque sur les "caractères" tel que "cos(" par exemple) qui compte pour 1 tout en prenant plus de place est très pertinente, mais parle au moins de "mot" dans ce cas là. Le jargon dit que ces mots sont des "tokens" (en anglais), et on fait alors la différence avec les caractères : les tokens sont tous affichés sur un ou plusieurs caractères, mais les opérations de texte comptent les tokens.
========
========
========
VirtualTI est très stable mais se fait vieux, WabbitEmu est probablement le plus pratique tout en permettant beaucoup de choses facilement, je n'ai pas essayé TilEm et je ne connais pas les autres. Je te conseillerai Wabbitemu. Il y a des émulateurs en ligne aussi : JsTIfied et TI8XEmu(c'est le même que sur TI-Planet), ?.
Le site TI-Planet fournit des OperatingSystem, c'est moins évident de trouver des roms. Je pense que tu devrais laisser tomber l'idée de dumper (charger depuis ta TI) ta rom, il n'y a pas de logiciel vraiment pratique pour le faire, alors télécharge plutôt celles d'internet.
Ma signature pointe vers "ma" rom de ti82statfr. (c'est pas la mienne mais c'est moi qui l'ai popularisée). Le lien "mes programmes" pointe vers toutes les données que j'ai personnellement publiées, tu trouveras un pack 2011 avec vti et des roms faciles à trouver à l'époque. N'essai pas mon wabbitemu.exe car il est largement dépassé, procures-toi directement celui à jour sur son site.
Le site tiemulation a eu des bricoles d'hébergement, on ne compte plus dessus pour les roms. C'est dommage que les autres rares sites aient laché aussi.
EDIT: TilEm fonctionne très bien, maintenant je le recommande. (testé celui-ci après avoir testé tous les autres que j'ai déjà cité, pour gérer les ports de la ti82)
L'émulation n'est souvent pas la méthode la plus pratique pour créer un code, mais plutôt pour tester. Il te faut un éditeur. Je te conseille TokenIDE. Mais il y a aussi :
- TI-Program-Editor qui s'intègre à TI-Connect le logiciel de connexion (jusqu'à la version 1.6, TIPE était inclus, maintenant il faut le télécharger séparément et l'utiliser après avoir installé l'ensemble (quoique j'ai pas essayé de l'utiliser seul)). Il supporte les fichier de ti83/82statfr mais il ne sait pas les créer !!!
- TI-Editor malgré son excès de balises
- SourceCoder vraiment pratique grâce à l'ascii et à ses suppléments
(- on oublie celui de tout82 qui fait seulement une création d'un programme d'affichage de texte, mais sous forme de texte lui-même.)
- ?
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 85
Inscrit le : Sam 20 Juil 2013, 17:00
Posté le : Sam 20 Juil 2013, 17:22
Tilem est un tres bon emulateur de ti 82, 82 stats, 83, 83+(se), 84, 84+ (se) et aussi ti85 et 86.
c'est beaucoup mieux que wabbitemu, car il ne fait pas que lancer le prog, il calcule aussi comme la vraie (avant d'acheter la vraie, c'estcplutot bien d'essayer avec tilem d'abord. Cependant, il faut la rom de la calto que ti veux emuler, et ca, t'as le droit seulement si tu as la vraie calto !
---------------------- je prefere la ti-82stats a la fumette ^^
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 20 Juil 2013, 18:21
J'ai testé la modifiaction que CaltoDev' a indiqué précédemment, et j'ai encore un soucis à vérifier.
Lorsque je dépasse la taille de l'écran avec une quelconque note, chaque fois que j'execute le programme une ligne de fin de la page trop grande disparait de l'affichage de démarrage.
==============
==============
==============
Citer : rpgcreator
Tilem est un tres bon emulateur de ti 82, 82 stats, 83, 83+(se), 84, 84+ (se) et aussi ti85 et 86.
c'est beaucoup mieux que wabbitemu, car il ne fait pas que lancer le prog, il calcule aussi comme la vraie
Tu as raison concernant la grande fiabilité de TilEm.
Je ne l'avais jamais testé. J'ai justement pris le temps récemment de rechercher quelque chose qui permette correctement d'échanger des données avec une ti82, et TilEm est la solution.
Je ne suis pas d'accord avec une telle opposition entre WabbitEmu et TilEm. Certes TilEm semble s'adapter à chaque modèle et utiliser des ressources de la rom contrairement aux autres. Par exemple l'extraction de données execute les opérations commandées normalement par le menu Link/Echange.
Bien que TilEm semble plus proche des machines pour les raisons que j'ai mentionné, je ne pense pas que WabbitEmu en soit si éloigné. WabbitEmu simule absoluement toutes les actions et réactions de la calculatrice, au moins en ce qui concerne le software. Il est simplement bien meilleur pour les calculatrices flashs (83+ à 84+CSE), et subit quelques énormes incompatibilités avec les autres Z80. Les seuls défauts que je connais sont les skins qui déconnent avec les SilverEdition, l'écran qui ne s'éteint pas lors du bug de la fonctionnalité Rappel, et l'extraction de données des non-flashs.
Chaque émulateur a ses avantages et chaque personne ses préférences, je continuerai à utiliser tous les émulateurs selon la situation (besoin, envie, patience, hasard)
Citer : rpgcreator
Cependant, il faut la rom de la calto que ti veux emuler, et ca, t'as le droit seulement si tu as la vraie calto !
Je dispose de roms sans état d'âme. Ce n'est pas avoir des roms qui m'empêche de les acheter et cela m'apporte quand même des avantages. Ce ne sont pas les avantages que je tire de la simulation et comparaison des modèles qui me feront acheter d'autres calculatrices.
Je crois que TI n'a jamais agit contre la distribution des roms jusqu'à 2013, et que leur seule action a été d'ajouter une phrase ambigüe (selon des gens de TI-Planet) et contestable à la licence en 2013. https://tiplanet.org/forum/portal.php/forum/viewtopic.php?f=49&t=11296
De toute façon ce thème est embrouillé par des rumeurs et un manque de législation. Par exemple il semblerait que l'argument de possession d'équivalent n'existe pas.
Fais ce que tu veux mais je ne te déconseille rien en ce qui concerne les roms.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 85
Inscrit le : Sam 20 Juil 2013, 17:00
Posté le : Mer 24 Juil 2013, 14:19
Ca, c'est ton probleme. C'est la meme chose quand on a un linker sur ds et qu'on a mario kart et pokemon perle sans avoir achete les cartouches. C'est vrai que c'est un peu hypocrite de ma part, puisque j'ai les roms de ti-83+, de ti85, de ti86, de ti82(que je vais supprimer) et de ti89 alors que je n'ai que la 82stats.fr. enfin, personne n'ira verifier...
---------------------- je prefere la ti-82stats a la fumette ^^