LeeWee, pseudo langage de programmation développé avec Lazarus : nouvelle syntaxe
Salut amis Lazarussiens... :D
Cela fait un bout de temps que je travaille sur un pseudo langage de programmation orienté objet.
Je vous présente LeeWee, il a été développé avec Lazarus sous licence Art Libre.
C'est un petit langage sans prétention. La syntaxe est en français; il permet de créer des petites interfaces en deux ou trois clics.
Il est disponible pour Linux et Windows; bien entendu, la source est dispo.
LeeWee Simple Syntaxe
http://www.ckdevelop.org/leewee/LeeWee-48.png
Qu'est devenu LeeWee depuis plus d'un an :
Mise à jour 1
mise à jour 2
...
mise à jour 50
....etc
bref vous aurez compris que des mise à jour pour arriver au final à une syntaxe complètement remaniée et un code source intégralement retapé.
Mais je reste fidèle à ceux qui me le rendent dans le bon sens et Lazarus fait partie de cette catégorie d'applications qui m'a presque tout le temps donné satisfaction, oui des fois en trouvant des subterfuges aux bugs initiaux, mais il y a toujours moyen de passer au travers. :mrgreen:
Donc un LeeWee remanié, recodé mais toujours avec les même outils. On va pouvoir commencer :
Au début un trip de curieux ayant soif d'apprendre, ensuite l'envie de partager (dans le vent mais bon rien est acquis même le partage ahahah!!!)
et pour finir l'envie de développer quelque chose de ludique et utilisable à 100%.
Le principal objectif de de LeeWee :- GUI
- Internationalisation
- communiquant avec le SHELL
- communiquant avec le PYTHON
A terme, j'ai même l'intention de faire une variante de Lazarus style ('LazaShell'). :mouarf:
Avant tout je vais vous donner quelques liens qui peuvent servir :- La documentation et la petite histoire de LeeWee en 3 chapitres :)
- La source
- Installateur Debian/Ubuntu (Version alpha omega tango charlie bientôt dispo)
- Installateur Windows (pas prévus au programme (une âme charitable s'en occupera à ma place peu être))
- Installateur Mac (ahahah!!! vus la politique actuelle, les utilisateurs vont bientôt plus pouvoir développer)
- Peut-être un peu moins de sarcasmes
Pour vous donner une idée d'interprétation du langage LeeWee :
extrait de la documentation en cours
Pseudo code
Code:
1 2 3 4 5 6 7 8
|
SI à gauche du premier espace de la ligne actuelle = au mot 'fenêtre' ALORS
Nom_de_la_fenetre = à droite du premier espace
Création de la fenêtre Nom_de_la_fenetre
SINON SI à gauche du premier espace de la ligne actuelle = au mot 'bouton' ALORS
Nom_du_composant = entre le premier espace et le mot 'dans'
Nom_de_la_fenetre = à droite du mot 'dans'
Création du bouton dans la fenêtre Nom_de_la_fenetre |
Extrait d'un code LeeWee
Code:
1 2 3
|
Fenêtre fen01
Bouton btn01 dans fen01 |
Exemple de code de création d'une fenêtre avec des composants avec gestion du support de langues.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
#! /bin/bash
./leewee $0
exit 0
lang fr
fenêtre f1
titre fenêtre.f1 (Fenêtre 1)
dimension fenêtre.f1 (170,30)
zone z1 dans f1
dimension zone.z1 (170,30)
alignement zone.z1 (haut)
édition edt1 dans z1
dimension édition.edt1 (100,15)
titre édition.edt1 (Tape un truc:)
alignement étiquette.edt1 (plein)
bouton b0 dans z1
dimension bouton.b0 (50,15)
titre bouton.b0 (ok)
alignement bouton.b0 (droite)
zone z2 dans f1
dimension zone.z2 (170,35)
alignement zone.z2 (plein)
visible zone.z2 (oui)
lang en
button b1 in z2
dimension button.b1 (170,35)
title button.b1 (Close)
alignment button.b1 (bottom)
display f1
wait
PROCEDURE click b0:
message("press $edt1.change")
dimension window.f1 (170,65)
visible zone.z2 (yes)
wait
PROCEDURE click b1:
quit |
Exemple de code utilisant un fichier LFM (je suppose Lazarus ForM)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
#! /bin/bash
./leewee $0
exit 0
gui ./gui.lfm
display fenetre
wait
procedure click btn1:
quit
procedure close fenetre:
quit |
Fichier LFM générer par Lazarus
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
object fenetre: Tfenetre
Left = 548
Height = 120
Top = 390
Width = 344
Caption = 'LeeWee Name'
ClientHeight = 120
ClientWidth = 344
Constraints.MinHeight = 120
Constraints.MinWidth = 344
Visible = True
object btn1: TBitBtn
Height = 30
Caption = 'Quitter'
Parent = fenetre
align = albottom
end
object lbl1: tlabel
Caption = 'Votre Nom:'
Alignment = tacenter
Parent = fenetre
autosize = false;
align = altop
end
object Edit1: TEdit
Left = 10
Height = 27
Top = 25
Width = 324
Anchors = [akTop, akLeft, akRight]
TabOrder = 0
Text = 'Edit1'
end
end |
J'espère que cela vous donnera le maximum d'information et surtout vous aura donné envie de participer à un projet long, par moment rébarbatif, à ses frais, fatigant, mais au final tellement cool. On apprend, on conceptualise on CRÉE quoi (yop là je m'enflamme).
Pour toute autre info je suis dispo sur jabber ckdevelop@jabber.org et sur identi.ca http://identi.ca/ckdevelop
++CKDevelop
Page Officiel LeeWee sur CKDevelop.org
Bonjour à tous.
Pour facilité l'accès à mon projet, j'ai mis en ligne la documentation, ce qui me permettras de la mettre à jour plus facilement.
http://www.ckdevelop.org/articles/ar...hp?cat=1&id=10
si vous avez des idées de mise en page je suis preneur.
++