Nautilus, la saisie de texte dynamique au plus facile
Posté le 04/10/2014 17:15
Salut à tous,
Vous avez toujours rêvé d’intégrer une zone de saisie de texte dans vos programmes, mais vous n'avez jamais voulu vous prendre la tête avec une grosse salade de Str et de Getkey ? Je vous propose aujourd'hui une solution tout droit sortie du complexe secret des studios Red, j'ai nommé Nautilus
Ce sous programme vous mettra à disposition un rectangle d'édition, dont voici les caracteristiques:
Coordonnées de la zone d'édition entièrement paramétrables
N'accepte que les lettres de l'alphabet et les espaces
Ecriture en majuscule ou minuscule (Shift ou Alpha)
Curseur dynamique
Accepte un Str en entrée, si vous préférez modifier, plutôt que créer
Aucun bug majeur, à l'heure actuelle
Utilisation:
(Transférer le fichier en pièces jointe sur votre calculatrice)
Comme dit plus haut, il va falloir en premier le paramétrer, grâce à 7 lignes de code, contenues dans le fichier nautpr, qu'il vous faudra mettre dans votre projet avant de lancer la zone d'édition:
[b]20→Dim List 24[/b] Ne pas toucher
[b]X→List 24[1][/b] X abscisse du coin haut/gauche de la zone d'édition (compris entre 1 et 21)
[b]X→List 24[2][/b] X ordonnée du coin haut/gauche de la zone d'édition (compris entre 1 et 7)
[b]X→List 24[3][/b] X abscisse du coin bas/droite de la zone d'édition (compris entre 1 et 21)
[b]X→List 24[4] [/b] X ordonnée du coin bas/droite de la zone d'édition (compris entre 1 et 7)
[b]X→List 24[18] [/b] Si X=0 alors nautilus garde la valeur contenue dans Str16 au lancement, Si X=1 alors il la réinitialise
[b]X→List 24[19] [/b] Touche pour mettre fin à la zone d'édition, 31 conseillé (⇒touche EXE)
Une fois cela fait, Utiliser un simple prog"nautilus" pour lancer le sous programme et laisser la magie s'opérer.
Tout ce que l'utilisateur écrit sera ensuite automatiquement enregistré dans le str16 quand il quittera la zone d'édition.
Le programme utilise les variables suivantes:
Les Str de 14 à 16
La list 24
Il n'utilise virtuellement aucune variable basique (A~Z) grâce à un système de tampon.
Malgré mon engouement, j'ai tout à fait conscience que mon sous-programme est tout sauf une révolution. Mais j’espère qu'il pourra servir à des débutants ou plus expérimentés cherchant à créer des high-scores ou pseudo dans leur jeu sans se prendre la tête. Un simple outil, bien utilisé, peut devenir une arme très puissante (j'ai déjà des idées d'utilisation avancée, mais vous ne les découvrirez qu'à la sortie de mon jeu)
Fichier joint
Citer : Posté le 04/10/2014 17:23 | #
Salut,
Merci du partage !
Ton programme a l'air vraiment bien fait et il va s'avérer utile pour bon nombre d'entre nous !
Citer : Posté le 04/10/2014 17:27 | #
Hey, ça a l'air sympa !
C'est vrai que les zones de texte sont quelque chose dont on manque bien... >< Ça devrait plus poser de problème maintenant.
Mais... il renvoie le texte dans une Str je suppose ?
Citer : Posté le 04/10/2014 17:30 | #
Oui, bien sur x) ... J'avais tellement de choses à raconter que j'en ai oublié l'essentielle: tout ce que l'utilisateur a écrit est automatiquement sauvegardé dans Str16 quand il quitte la zone d'édition.
Citer : Posté le 04/10/2014 17:38 | #
Mais dans ce cas, pourquoi ne pas simplement utiliser la commande "?" ? Je crois qu'elle permet d'écrire en minuscules, non ?
Citer : Posté le 04/10/2014 17:45 | #
Oui mais elle n'est pas jolie et le résultat ne s'affiche pas dans la fenêtre graphique .
Citer : Posté le 04/10/2014 17:47 | #
Nautilus a l'avantage de s’intégrer parfaitement dans les interfaces en mode texte (il ne touchera qu'à ce qu'il y a hors de sa zone d'action), alors que ? efface brutalement les 2 lignes de bas. Il est donc surtout conçu pour donner une meilleur esthétique aux saisies de texte, même si il a d'autres avantages majeurs comme pouvoir offrir une zone d'édition plus grande que son adversaire ou encore pouvoir éditer une Str.
Citer : Posté le 04/10/2014 17:58 | #
Ah ben oui, du coup. C'est vraiment pratique !
Je te conseille si ça t'intéresse, d'ajouter une fonctionnalité permettant de limiter les caractères autorisés (A-Z, a-z, 0-9, symboles, ...) pour que ce soit encore plus polyvalent (je pense à des utilisations spécifiques).
Citer : Posté le 04/10/2014 18:04 | #
Tu pourrais le mettre dans utilitaire ;).