Visiteurs :
Si vous souhaitez soumettre un logiciel veuillez prendre contact avec un administrateur seuls à pouvoir ajouter des logiciels par mesure de sécurité.
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 :
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 :
--- 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 :
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 :
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
--- 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
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
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
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd