Transfert | Imagerie | Divers | Snippets | Développement
Liste des logiciels
Nom Date
SDK G85 - EasyInput
SDK G85 - Memory and Files access
SDK G85 - Easy Coding
SDK G85 - Easy grayscales
SDK G85 - GrayScreenshotLib
SDK G85 - MonochromeLib
Lua - Tile Motor
Visiteurs :
Si vous souhaitez soumettre un logiciel veuillez prendre contact avec un administrateur seuls à pouvoir ajouter des logiciels par mesure de sécurité.
Logiciels >> Snippets >> SDK G85 - EasyInput
SDK G85 - EasyInput
Ajouté par :
Dark storm
Hors ligne
Administrateur
Niveau: Aucun
Points: 9597
Défis: 170
Message
Pour les calculatrices : Graph 75, 85, 95 seulement
Ajouté le : 2015-03-25 23:37
Nombre de visites de la page : 3888

Fichiers à télécharger :

¤ EasyInput_v3-2.zip 4 Ko (445 téléchargements)

Description :

INFORMATIONS IMPORTANTES

Nom : EasyInput
Auteur : Dark Storm (L.GATIN)
Dernière mise à jour : 16/02/2015
Version : 3.2
Licence : GNU General Public License
Topic officiel



Présentation

EasyInput est une librairie de fonctions destinée à simplifier les méthodes de saisie de texte par un utilisateur.
Elle est utilisable gratuitement, vous pouvez la télécharger en cliquant sur ce lien.


Utilisation

--- Fichiers ---
Quoi qu'il arrive, vous avez besoin des fichiers <EasyInput.c> et <EasyInput.h>
Selon votre compilateur, il vous faut chosir le bon fichier de syscalls :
- Pour le Fx9860 SDK : gardez le fichier <EasyInout_.src>
- Pour GCC : gardez le fichier <EasyInput_.s>

--- Initialisation ---
Utilisez EI_init() pour mettre toutes les valeurs de configuration par défaut.
Ensuite, vous pouvez modifier les paramètres suivants en appelant la fonction EI_manage_config(int parameter, int value).
→ EI_SET_COLUMN : Un nombre entre 1 et 21 qui correspond à la colonne de début de la zone de texte
→ EI_SET_ROW : Idem, mais entre 1 et 8 pour les lignes
→ EI_SET_BOX_LENGTH : La longueur de la zone de texte, en caractères.
→ EI_SET_ALIGN : Le mode d'alignement du texte (EI_ALIGN_LEFT, EI_ALIGN_CENTER, EI_ALIGN_RIGHT)
→ EI_SET_START_MODE : Le mode de départ du curseur (EI_NORMAL, EI_ALPHA, EI_ALPHA_LOCKED)
→ EI_SET_Aa_KEY : Le code de la touche qui servira à changer la casse
Exemple, pour fixer le mode de départ du curseur :
char var;
EI_manage_config(EI_SET_START_MODE, EI_ALPHA);

Si <value> est égale à 0, la fonction retourne un pointeur sur l'élément demandé. Cela permet de récupérer les valeurs de configuration.
Exemple, récupérer la valeur de la longueur de la box :
longueur = EI_manage_config(EI_SET_LENGHT_BOX, NULL);


--- Appel ---
La fonction EI_input_string(int string_length, const char *chars_allowed) retourne un pointeur sur la chaine et doit être appellée de la manière suivante :
my_string = EI_input_string(21, (const char*)".0123456789");

La chaine <chars_allowed> contient tout les caractères dont la saisie est autorisée.


Conversion numérique :

Il est souvent utile de demander un nombre à l'utilisateur. Le problème est que EasyInput n'est fait que pour gérer les chaines de caractères. Pour cela, voici quelques astuces :

Conversion vers un entier
1) Inclure la lib standard (stdlib.h)
2) Utiliser atoi :
my_string = EI_input_string(10, (const char*)"0123456789");
mon_int = atoi(my_string);


Conversion vers n'importe quel type numérique
1) Inclure la lib des i/o (stdio.h)
2) Utiliser sscanf en remplaçant les lettres bleues suivant le tableau disponible ici
my_string = EI_input_string(10, (const char*)"0123456789");
sscanf(my_string, "[blue]%d[/blue]", &ma_variable);


Changelog
Cliquer pour enrouler
--- V3.2 ---
- Ajout des caractères +, -, *, /, _, # à la liste de ceux traités.

--- V3.1 ---
- Simplification du système de configuration

--- V3.0 ---
- Réécriture de la boucle principale
- Correction des bugs concernant les syscalls à destination de l'OS 2.00 et ultérieur (merci à Nemhardy pour l'info)
- Correction des bugs concernant les ajouts de caractères impromptus
- Correction des bugs concernant les alignements de texte

--- V2.3 ---
- Refonte du système d'affichage

--- V2.2 ---
- Refonte du système de configuration
- Ajout de la gestion des minuscules

--- V2.1 ---
- Ajout de la "regex" pour les caractères autorisés
- Correction d'une fuite de mémoire lorsque l'on quitte avec Ac/ON
- Changement de licence

--- V2.0 ---
- Modification du mode de retour de la chaine

--- V1.2 ---
- Correction de quelques bugs

--- V1.0 ---
- Création de la librairie


Commentaires :


Dark storm
Hors ligne
Administrateur
Niveau: Aucun
Points: 9597
Défis: 170
Message
Posté le 20-06-2015 à 15:07
Ajout d'un petit truc sur les conversions vers des variables numériques.
-florian66-
Hors ligne
Rédacteur
Niveau: Aucun
Points: 2242
Défis: 19
Message
Posté le 13-07-2015 à 13:55
le 10^x c'est E mais comment je peux rajouter ce caractère (pas la lettre)

EDIT : c'est bon j'ai modifié un tout petit peu la lib

Dark storm
Hors ligne
Administrateur
Niveau: Aucun
Points: 9597
Défis: 170
Message
Posté le 13-07-2015 à 15:40
Est-ce que tu peux la partager (au moins en commentaire) ? Si tu l'utilise dans un programme qui sera disponible sur le site, tu dois partager ta version de la lib
Après, si c'est juste une petite modif, mets un zip ici ça ira bien
-florian66-
Hors ligne
Rédacteur
Niveau: Aucun
Points: 2242
Défis: 19
Message
Posté le 13-07-2015 à 21:33
En fait j'ai juste rajoutée une ligne (l.96) avec if(key == KEY_CHAR_EXP) key = 'e'; pour e=>exponentielle.
La lib sera dispo de toute façon quand je ferais la Maj de Periodiq, je dirais que je l'ai modifiée
Dark storm
Hors ligne
Administrateur
Niveau: Aucun
Points: 9597
Défis: 170
Message
Posté le 13-07-2015 à 21:42
Ok, tu distribuera au moins les sources de la lib modifiée
(C'est le GNU GPL v3 qui veut ça)
-florian66-
Hors ligne
Rédacteur
Niveau: Aucun
Points: 2242
Défis: 19
Message
Posté le 13-07-2015 à 21:45
oui tous sera inclus et je le signalerai
Dark storm
Hors ligne
Administrateur
Niveau: Aucun
Points: 9597
Défis: 170
Message
Posté le 13-07-2015 à 23:52
C'est parfait alors

Publicité et partenaires
Casio Education
Casio éducation

TI-Planet
Casiopeia
Casiopeia
CasioFan, la communauté ClassPad
CasioFan
CodeWalrus
CodeWalrus

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2015 | Il y a 42 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Rugby Manager | Jeu de basket | Jeu de handball | Construction maison Carcassonne

Planète Casio est un site communautaire indépendant, géré bénévolement et n'est donc pas affilié à Casio | Toute reproduction de Planète Casio, même partielle, est interdite
Les fichiers, programmes et autres publications présents sur Planète Casio restent la propriété de leurs auteurs respectifs et peuvent être soumis à des licences ou des copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd