Accueil PalmAttitude.org Forums Dossiers Tests Logiciels Comparateur matériel Liens Association


Divers : PLUA ... dans la série je code SUR mon Palm

2003-04-09 22:34:36 - Contribution de palmipod - Transmis par arnouf

Plua est le portage de LUA (un langage d'origine Brésilien) sur notre machine préférée (... le Palm)
Vos premiers pas avec Plua sont dans cet article. Il est composé d'un mini IDE qui permet :

  • de "bosser" en mode commande (un peu comme Fox Pro ou DBASE pour ceux qui connaissent encore)
  • de compiler des mémos
  • de lancer le "bloc notes"
  • de compiler des .DOC
  • de lancer les scripts en mode "interprété"
  • Support Hires
  • ... ...

Il faut tout de même un run-time
Il existe aussi un compilateur sous Windows (et Linux)
Il est possible de créer des bibliothèques en C

Pour le moment Plua est un freeware (statut Beta), l'auteur n'exclu pas de passer en mode payant mais rien n'est fait.

Plutôt que de discuter, voici 3 petits exemples commentés qui seront plus clairs :
(PS : ne pas juger l'élégance du code, juste son aspect éducatif ;-) merci ...)


* L'incontournable "Hello World"


-- HelloWorld.lua

function MonFormulaire()

-- Destruction des objets à l'écran
pdestroy()
-- Efface l'écran
pclear()

ptitle("Mon Titre")

-- On saute 2 lignes et décale vers la droite
pnl() pnl() ptab()

-- no comment ... (l'objet "label" existe aussi)
print('Hello World')

-- on suate 2 lignes et décale vers la droite (3 fois)
pnl() pnl() ptab() ptab() ptab()

-- Création d'un bouton "OK"
BtnOK = pbutton("OK")

-- on traite les évènements

while 1 do
ev,id = pevent()

if id == BtnOK then
-- on sort et c'est fini
break
end

end


end

MonFormulaire()

-- et voiloù ...


* Enregistrer des éléments dans une base de données


-- MyDatabase.lua

ptitle("Création ...")

-- Ouverture de la base en lecture-écriture (si elle n'existe pas elle est créée)

dbID, Rec = opendb('MaBase', 'r+')

-- Enregistrement d'une longueur de 40 puis y écrire des données
Rec = createrec(dbID,40)
openrec(dbID,Rec)
write(dbID,"Salut à tous !!!")

-- ... un deuxième ...

Rec = createrec(dbID,40)
openrec(dbID,Rec)
write(dbID,"Hello World !!!")

-- On ferme la base

closedb(dbID)

palert("2 enregistrements créés ...")

-- pour les "string" on peut utiliser les " ou les '


* Lire ces éléments et les afficher à l'écran


-- ReadMyDatabase.lua

ptitle("Lecture ...")
pnl() pnl()

dbID, Rec = opendb('MaBase', 'r+')

n=0
Res="#"

while Res~='' do

openrec(dbID,n)
Res=read(dbID,'*a')
print(Res)

n=n+1
end


pevent()

-- appuyez n'importe où pour quitter ...

Voici donc quelques exemples qui vous permettront de commencer rapidement.
Plua dispose de plusieurs éléments d'interfaces (boutons, combo, liste, ...),
Plua peut aussi utiliser les ressources d'un fichier (bitmaps, ...)
vous trouverez des fonctions graphiques, de traitement des chaînes de caractères, ...
Mais je vous laisse découvrir la doc :

URL du Site : http://netpage.em.com.br/mmand/plua.htm
le Yahoo Group où les dernières versions sont publiées plus rapidement
(en effet sur le site nous en sommes à la V° 1.0B21 contre 1.0B23 sur le "Groupe")
http://groups.yahoo.com/group/plua/

REMARQUES :

Cela pourra peut-être vous servir :

j'ai fait un long programme (en tout cas sur un palm cela paraît long),
il fonctionne très bien en mode interprété,
si je le lance après une compilation à partir d'un mémo, il plante (error)
si je le lance après une compilation à partir d'un .DOC, "ça fonctionne !!!"
(Le problème existe également avec le compilateur Windows)

Palmipod