Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Vos tutoriels et astuces


Index du Forum » Vos tutoriels et astuces » Débuter le Luafx
Vebveb Hors ligne Membre Points: 791 Défis: 14 Message

Débuter le Luafx

Posté le 21/06/2012 13:39

Bonjour,

Comme le CPC en luafx approche, je décrit ici une des méthodes possibles pour aborder rapidement le Lua.

Tout d'abord: pas de précipitation! Passer du temps à apprendre le langage vous permettra de ne pas perdre de temps à corriger vos erreurs futures.

Le Luafx est un implémentation du langage Lua pour vos calculatrices, c'est à dire que le Luafx reprend la syntaxe du Lua et ajoute des fonctions spécifiques pour la calculatrice. Elle ne reprend par contre que peu des fonctions supplémentaires (les librairies) du Lua.

On peut donc se documenter sur le langage à partir de la documentation sur internet sur le Lua en général, mais il ne sert à rien d'apprendre à se servir des librairies standart Lua: Regardez plutôt la documentation Luafx pour savoir quelles sont les fonctions disponibles.
Le Luafx se base sur la version 5.1.4 du Lua. Il y a peu de différences avec la version 5.2.1 actuelle ( la majeure étant que la version 5.1.4 n'a pas de goto).


Je conseille donc dans cette ordre:

. Installer le Luafx sur votre calculatrice et transférez les .lc exemples pour voir ce qui peut se faire en Luafx.

. Installez un éditeur de code qui soit colorateur syntaxique pour le lua. J'utilise SciTE.

. Débuter la syntaxe Lua avec de la documentation sur internet. Par exemple:
-> http://lua.gts-stolberg.de/fr/index.php
ou si vous comprenez un peu l'anglais, je vous conseille les 5 premiers chapitres de:
http://www.lua.org/pil/index.html#P1

. Lire une première fois en entier la documentation Luafx disponible dans l'archive Luafx (logiciels>divers). C'est long, mais vous aurez une bonne idée de ce que vous pourrez faire en Luafx, et vous saurez où chercher des informations. Si vous ne comprenez pas tout tout de suite, ce n'est pas grave, vous comprendrez plus tard en pratiquant.

. Lire les readme de l'archive pour savoir comment précompiler du code avant de l'executer.

. Faites vos tests sur de petits programmes (afficher quelque chose à l'écran, utiliser un tableau, des fonctions, ....). Pour ceux qui ont une calculatrice de la famille de la g85, vous pouvez programmer ces petits programmes on-calc avec Edit ou les envoyer direct sur calculatrice sans les précompiler ( .lua : non précompilé , .lc : précompilé).
Regardez les sources des exemples pour voir comment programmer certains trucs en Lua (regardez notamment ltest.lua)

. Faites encore des tests plus complets, avec par exemples des commandes graphiques. N'hésitez pas à regarder le manuel pour connaître le nom exact des fonction, le numéro des touches, ...

. Pour pouvoir créer des sprites pour le mode gris, installez le Lua pour windows (il sert uniquement pour les sprites en mode gris) ainsi que le spritemaker (N'oubliez pas les .dll supplémentaires à mettre dans le répertoire d'installation). Regarder le manuel pour savoir comment créer les sprites.

Voilà vous êtes prêts!


Pour ceux qui veulent approfondir, n'hésitez pas à regarder les documentations supplémentaires (wiki) sur le site du Lua.




Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 21/06/2012 13:42 | #


Thanks intéressant ! Je vais essayer de participer au 48hCPC.
Ziqumu Hors ligne Membre d'honneur Points: 3055 Défis: 9 Message

Citer : Posté le 21/06/2012 14:11 | #


Merci pour ce petit tuto

Mais je serait pas la au moment du CPC
Totoyo Hors ligne Membre d'honneur Points: 15991 Défis: 102 Message
Stexupery Hors ligne Membre Points: 144 Défis: 0 Message

Citer : Posté le 23/06/2012 21:00 | #


Questions diverses:

comment on copie le fichier .lc sur sa graph 85 exactement ? Je n'ai pas de port sd sur mon pc uniquement le cable usb d'origine.

C'est quoi un library module ? comment l'utilise-t-on ?

Comment utiliser lua16 exe il se lance puis il se ferme automatiquement j'ai rien compris.

En Bref comment on fait en français pour que sa marche de A à Z ? de l'installation au lancement du programme. Pour la programmation je pense avoir compris [Edit] j'ai pas encore compris! [Edit] mais j'aimerais bien tester (puisqu'à mon avis sa va pas marcher du premier coup ce serai trop facile [Edit] sa n'a pas marché du premier coup cqfd.
Vebveb Hors ligne Membre Points: 791 Défis: 14 Message

Citer : Posté le 24/06/2012 09:26 | #


-> je n'ai pas de graph85, mais normalement tu dois pouvoir, avec fa124 par exemple, envoyer des fichiers dans la mémoire de stockage.

-> le système des modules permet de charger puis exécuter un .lc ou .lua qui contient un marquage spécial (voir le manuel). Lorsque tu exécutes un fichier avec des fonctions, ça te les définie. Tu peut donc te servir de ce système pour charger des librairies. Dans l'archive, je donne deux librairies qui utilisent le système de module. Si tu envois ces .lc sur ta calculatrice, tu peut les charger comme expliqué das le manuel: regarde le code de ltest.lua qui charge ces deux librairies.

-> lua16.exe a besoin d'arguments pour fonctionner. Pour appeler un exe avec des arguments, il faut utiliser la ligne de commande (cmd sur windows, mais tu peut aussi utiliser dosbox, surtout si windows est 64 bits). J'explique dans les fichiers lisez-moi quelles sont les arguments de lua16.exe


Stexupery Hors ligne Membre Points: 144 Défis: 0 Message

Citer : Posté le 24/06/2012 14:59 | #


Merci pour ta réponse.

J'ai lu les fichiers lisez moi mais dès que je lance lua 16 exe, il se ferme direct j'ai même pas le temps de taper une lettre. Je pense que c'est à cause de Norton antivirus que j'ai désinstallé mais qui a laissé des fichiers cachés et des clés registres un peu partout pour se réinstaller tout seul !!)

J'ai compris pour FA 124: il faut d abord mettre le fichier dans FA 124 ( cadre de droite) avant de l'envoyer. Si on essaye de le mettre directement dans la calculette (cadre de gauche) il ne se passe rien.

Merci beaucoup pour ces explications j'ai plus qu'à tester.

Sinon dernières questions:
le fichier debug qu'on doit mettre au debut, comment peut-on savoit si il est bien au début, est-ce uniquement avec la graph 100 ?

Des fois, impossible de lancer ou de quitter lua FX c'est normal ?

Comment faire pour que lua FX lise un fichier placé dans un dossier de la carte SD?



Ajouté le 24/06/2012 à 15:42 :
C\'est ÉNOoOoOoRME comment ça va vite !!! (cf castaldi aux guignols). Surtout avec CPU Speed. Merci pour cette magnifique avancée technologique!

je prépare un jeu qui va être du feu de dieu !!! (si j\'arrive à le coder sans les pieds parce j\'suis pas encore au point sur le langage )
Dark storm Hors ligne Membre d'honneur Points: 11141 Défis: 176 Message

Citer : Posté le 25/06/2012 01:06 | #


Tu as essayé les addins ?
Ca va encore plus vite
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Eiyeron Hors ligne Ancien modérateur Points: 5525 Défis: 57 Message

Citer : Posté le 25/06/2012 17:37 | #


Stexupery a écrit :

Merci pour ta réponse.

J'ai lu les fichiers lisez moi mais dès que je lance lua 16 exe, il se ferme direct j'ai même pas le temps de taper une lettre. Je pense que c'est à cause de Norton antivirus que j'ai désinstallé mais qui a laissé des fichiers cachés et des clés registres un peu partout pour se réinstaller tout seul !!)

J'ai compris pour FA 124: il faut d abord mettre le fichier dans FA 124 ( cadre de droite) avant de l'envoyer. Si on essaye de le mettre directement dans la calculette (cadre de gauche) il ne se passe rien.

Merci beaucoup pour ces explications j'ai plus qu'à tester.

Sinon dernières questions:
le fichier debug qu'on doit mettre au debut, comment peut-on savoit si il est bien au début, est-ce uniquement avec la graph 100 ?

Des fois, impossible de lancer ou de quitter lua FX c'est normal ?

Comment faire pour que lua FX lise un fichier placé dans un dossier de la carte SD?



Ajouté le 24/06/2012 à 15:42 :
C\'est ÉNOoOoOoRME comment ça va vite !!! (cf castaldi aux guignols). Surtout avec CPU Speed. Merci pour cette magnifique avancée technologique!

je prépare un jeu qui va être du feu de dieu !!! (si j\'arrive à le coder sans les pieds parce j\'suis pas encore au point sur le langage )


Pour lua16.exe à coté, crées un fichir .bat qui contient
lua16.exe
pause
Vebveb Hors ligne Membre Points: 791 Défis: 14 Message

Citer : Posté le 26/06/2012 15:28 | #


normalement, si tu lances lua16 dans une fenètre en l'appelant de cmd, il ne doit pas se fermer automatiquement. Pour acéder à cmd, trouve 'ligne de commande' dans le menu windows ou bien tape cmd dans la barre exécuter. Une fois la fenètre cmd ouverte, tu tapes cd C://chemin_du_repertoire avec C la lettre de ton disque dur et le chemin_du_repertorie l'adresse du dossier où tu as mis lua16 et tes .lua.
Ensuite tu peut appeler lua16 avec des arguments sans qu'il se ferme.

Je ne connais pas bien fa124, mais en gros ça devrait être comme l'envoi de g1a.

il n'y a pas de fichier débug, en fait il s'agit d'une partie du .lc qui est attribué au débug (vide si tu as mis l'option '-s' avec lua16, sinon elle contient le numéro des lignes des commandes et le nom des variables)

Normalement luafx doit se lancer normalement, ce n'est pas normal si tu as un bug. Dis dans quelle situation tu as le bug (rappel : si tu viens de quitter luafx, tu ne peut pas le relancer directement, il faut lancer autre chose et le quitter avant de pouvoir relancer luafx)

Lorsque tu est dans le menu, deux boutons permettent de passer de la mémoire de stockage à la mémoire SD et inversement (je ne sais plus si c'est f1-f2 ou f5-f6)
Je ne sais pas si le menu est capable de charger un fichier dans un dossier, ce sera peut-être une fonctionnalité à rajouter.





Stexupery Hors ligne Membre Points: 144 Défis: 0 Message

Citer : Posté le 27/06/2012 08:56 | # | Fichier joint


VebVeb Merci pour cette réponse très complète, ton rappel correspond à ce que j'ai ce n'est donc pas un nouveau bug de lua fx.

J'ai essayé plusieurs commandes comme le montre le fichier ci joint mais aucune ne fonctionne. Auriez vous une capture d'écran qui me montre quoi taper ?

Appeler lua16 avec des arguments quesaco??????

Eiyeron : Que veut dire créer un fichier .bat c'est un .txt dont on change l'extension ?



Vebveb Hors ligne Membre Points: 791 Défis: 14 Message

Citer : Posté le 27/06/2012 10:41 | #


essaie de mettre lua16 et tes .lua dans un dossier à la racine de ton disque dur (C://MONLUA/ par exemple). ensuite il te faudra faire:
cd C://MONLUA/
lua16.exe -o sortie.lc entree.lua

avec sortie.lc correspondant à la sortie de lua16 et entree.lua le nom du fichier d'entrée. Comme je l'ai expliqué dans le lisezmoi, si l'on rajoute l'option '-s', il n'y a pas d'informations debug dans le .lc
Stexupery Hors ligne Membre Points: 144 Défis: 0 Message

Citer : Posté le 27/06/2012 10:42 | #


J'essaie cela tout de suite.
Stexupery Hors ligne Membre Points: 144 Défis: 0 Message

Citer : Posté le 27/06/2012 10:56 | # | Fichier joint


Voici la capture d'écran des commandes que j'ai essayés. Mais cela ne marche pas. J'ai pris le fichier ballon.lua pour faire un test.

Ajouté le 27/06/2012 à 10:58 :
On est obligés de passer par ce truc y\'a pas une méthode plus simple ?

Ajouté le 27/06/2012 à 11:27 :
Ce serait possible de faire un compilateur dans luafx qui compilerait les .lua en .lc sur la graph ?

Ajouté le 27/06/2012 à 11:28 :
Ou un .lc dont le but serait de convertir les .lua en .lc ?
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 27/06/2012 12:03 | #


Oh mon Dieu
Pour partager une image tu la mets dans un .docx que tu mets dans un .rar ??
Word est un logiciel de traitement de texte !!
Tu sais qu'il existe des format d'image qui servent à contenir des images et qu'on peut générer avec des logiciel de traitement d'image (genre Paint) ?

Bref, mon infarctus étant passé, faut que je t'apprennes comment on se sert d'une console.
Au début de chaque nouvelle ligne, tu as ce qu'on appelle le chemin courant. C'est l'emplacement actuel. Celui duquel on va partir si tu écris un chemin relatif.
Car il faut bien différencier les chemins absolu des chemins relatifs. "C:\LUAFX\lua16.exe" est un chemin absolu, comme si tu donnais l'adresse complète d'une maison à un pote, il la trouvera sans problème. "LUAFX\lua16.exe" est un chemin relatif, on part du chemin courant, de là où on est actuellement, et on cherche un dossier LUAFX.
Pour changer le chemin courant il faut utiliser la commande cd.

Si je te parles de ça c'est parce que tu fais référence au fichier ballon.lua en étant dans "C:\Documents and Settings\Administrateur.DLO", alors qu'aucun fichier ballon.lua ne s'y trouve.
Dans ta console t'as fait n'importe quoi, appel de cd avec un chemin contenant des '//' (sous windows les éléments d'un chemin sont séparés par des antislashes), appel d'un exécutable lua.exe qui n'existe pas, un appel de l'invité de commande cmd DANS l'invité de commande -_-

Bref pour te prémâcher le travail :
cd C:\LUAFX
lua16.exe -o ballon.lc ballon.lua

Stexupery Hors ligne Membre Points: 144 Défis: 0 Message

Citer : Posté le 27/06/2012 13:33 | #


Merci bien et désolé pour ton infarctus. J'ai trouvé une méthode qui marchait donc je l'ai utilisée (compliquée en effet) je vais changer en passant par paint pour mettre les fichiers image directement.

Sinon j'ai fait comme vebveb m'a dit donc avec des slash
Vebveb a écrit :

essaie de mettre lua16 et tes .lua dans un dossier à la racine de ton disque dur (C://MONLUA/ par exemple). ensuite il te faudra faire:
cd C://MONLUA/
lua16.exe -o sortie.lc entree.lua


Vu que sa marchait pas j'ai essayé tout et n'importe quoi Si il y avait eu un bouton rouge j'aurai appuyé !

Merci pour cette réponse qui fait que sa marche !!!
Merci aussi pour cet enseignement sur l'utilisation de la commande Windows.
Merci aussi pour le sarcasme sur paint. Je le ferai plus promis.


Vebveb Hors ligne Membre Points: 791 Défis: 14 Message

Citer : Posté le 27/06/2012 14:58 | #


Bizarre, je croyais que ça marchait avec les 2...

Comme je l'explique dans mon premier post, il n'y a pas besoin de convertir en .lc pour les petits programmes, c'est nécessaire uniquement pour les gros programmes

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
Pour coloriser votre code, cliquez ici.
Sinon cliquez sur le bouton ci-dessous.
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2020 | Il y a 86 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

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