Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

INTERPRÉTEUR DE SYNTAXE


Information sur la source

Catégorie :Divers Classé sous : Analyseur syntaxique, saut, interpréteur, condition, interface Niveau : Débutant Date de création : 04/12/2007 Date de mise à jour : 10/07/2008 19:49:00 Vu : 3 055

Note :
Aucune note

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

Salut a tous!!

Pour mettre les chose en clair, ce code n'est pas une mise à jour de LVL++Editor.
Ce code est moins déguisé d'artifice et rentre plus dans le vif du sujet:

le code analyse ligne par ligne le richedit ou un fichier et
interprète les commandes tapées.

Je n'ai pas utiliser de parser juste un composant de colorisation
qui n'est n'est pas obligatoire vu que vous pouvez le remplacer par un TRichEdit, les autres composants sont à installer et voilà.
Rien de bien intéressant, juste des utilitaires, un composant pour associer une extention au programme, et un composant qui facilite la manipulation de chaines String. Mais bon, le code peut être allégé je sais
mais je n'ai pas les connaissance requises pour le faire, désolé.

Sachez aussi qu'une partie du code est de foxy, mtanil m'avait donné un coup de main sur 2 ou 3 trucs, alors je les remercie.
Un fichier Tutorial.lvl et disponible dans le zip. Ouvrez le avec LevelScript.exe.
 

Source

  • Mise à Jour Level Script
  • Pour
  • afficher un message:
  • msg "ton message"
  • Pour
  • faire une pause:
  • stp !1000!
  • Variable
  • + et - :
  • LevelScript
  • fonctionne avec 2 Variable (Ouais pas grand chose....)
  • +: -valeur- ou -:
  • +valeur+
  • exemple:
  • +: -Valeur-
  • bouton "+"   //la Caption du bouton
  • affichera "Valeur"
  • Pour
  • créer une Form:
  • titre "LvlMe"
  • autosize: .oui.
  • //dimension de la fenetre automatique activé
  • trans: !235!
  • //Opacité de la fenêtre
  • h: !100!
  • //Hauteur
  • w: !230!
  • //Largeur
  • t: !250!
  • //Position Vertical
  • l: !250!
  • //Position horizontal
  • Pour créer un Label:
  • label
  • "Password:"  //Creation et Caption du label
  • labl: !10!
  • //Position Horizontal
  • labt: !15!
  • //Position Vertical
  • labh: !20!
  • //Hauteur
  • Pour créer un Edit:
  • edit ""
  • edtl: !10!
  • //Position Horizontal
  • edtt: !25!
  • //Position Vertical
  • edtw: !130!
  • //Largeur
  • edtxt
  • //valeur de l'Edit
  • Pour créer un Bouton:
  • bouton "Analyser"
  • //Creation et Caption du bouton
  • btnl: !150!
  • //Position Horizontal
  • btnt: !25!
  • //Position Vertical
  • btnw: !70!
  • //Largeur
  • btnh: !22!
  • //Hauteur
  • btnclick: $=$ +edtxt+ -password- @!!Good!!!@ |!!Bad!!|
  • //Procedure de Clique
  • Procédure Clique:
  • btnclick: $=$ +edtxt+ -password- @!!Good!!!@ |!!Bad!!|
  • //Procedure de Clique
  • $=$ 
  • //Type de Condition
  • +edtxt+
  • //variable +edtxt+ que l'on compare
  • -password-
  • //avec la variable -password-
  • @!!Good!!!@ 
  • //Si egal a la contition alors afficher le message !!Good!! entre les @ (AltGr+0)
  • |!!Bad!!|
  • //Sinon on affiche le message !!Bad!! entre le | (AltGr+6)
  • Procédure Clique avec saut sur un autre script:
  • btnclick: $=$ +edtxt+ -password- >ok.lvl> <bad.lvl<
  • ...
  • ...
  • -> "ok.lvl"
  • //Si egal alors on va sur un nouveau script ok.lvl qui doit se trouvé avec
  • run.lvl
  • <bad.lvl&lt<
  • //Sinon on va sur un autre script bad.lvl
  • Saut sur un autre script:
  • -> "ok.lvl"
  • //Ferme le script en cours ensuite il ouvre et execute le script 'ok.lvl'
  • Fermer le script:
  • fin
  • //Kill l'application
  • Pseudo-Compilation:
  • Ouvrir un Script, dans le menu [Action]-&gt;[Compile Script] et enregistrez le avec
  • le nom 'run.lvl' dans
  • un répertoire .
  • Le Script d'entrée se nomme toujours run.lvl
  • Faite de même avec vos autre Script si il y en a avec leur nom initial.
  • une fois fini, dans le menu [Action]->[Generate Executable] et enregistrez le
  • dans le m&ecirc;me r&eacute;pertoire que vos Scripts
  • Pseudo-Compiler.
  • Et
  • voilà executez le....Je vous laisse regardez
Mise à Jour Level Script 



Pour
afficher un message:

msg "ton message"

Pour
faire une pause:

stp !1000!

Variable
+ et - :

LevelScript
fonctionne avec 2 Variable (Ouais pas grand chose....)



+: -valeur- ou -:
+valeur+

exemple:

+: -Valeur-

bouton "+"&nbsp;&nbsp; //la Caption du bouton
affichera "Valeur"

Pour
créer une Form:

titre "LvlMe"
autosize: .oui.
//dimension de la fenetre automatique activé

trans: !235!
//Opacité de la fenêtre

h: !100!
//Hauteur

w: !230!
//Largeur

t: !250!
//Position Vertical

l: !250!
//Position horizontal

Pour créer un Label:

label
"Password:"&nbsp; //Creation et Caption du label

labl: !10!
//Position Horizontal

labt: !15!
//Position Vertical

labh: !20!
//Hauteur

Pour créer un Edit:

edit ""

edtl: !10!
//Position Horizontal

edtt: !25!
//Position Vertical

edtw: !130!
//Largeur

edtxt
//valeur de l'Edit

Pour créer un Bouton:

bouton "Analyser"
//Creation et Caption du bouton

btnl: !150!
//Position Horizontal

btnt: !25!
//Position Vertical

btnw: !70!
//Largeur

btnh: !22!
//Hauteur

btnclick: $=$ +edtxt+ -password- @!!Good!!!@ |!!Bad!!|
//Procedure de Clique

Procédure Clique:



btnclick: $=$ +edtxt+ -password- @!!Good!!!@ |!!Bad!!|
//Procedure de Clique

$=$&nbsp;
//Type de Condition

+edtxt+
//variable +edtxt+ que l'on compare

-password-
//avec la variable -password-

@!!Good!!!@&nbsp;
//Si egal a la contition alors afficher le message !!Good!! entre les @ (AltGr+0)

|!!Bad!!|
//Sinon on affiche le message !!Bad!! entre le | (AltGr+6)

Procédure Clique avec saut sur un autre script:

btnclick: $=$ +edtxt+ -password- >ok.lvl> <bad.lvl<

...

...

-> "ok.lvl"
//Si egal alors on va sur un nouveau script ok.lvl qui doit se trouvé avec
run.lvl

<bad.lvl&lt<
//Sinon on va sur un autre script bad.lvl

Saut sur un autre script:

-> "ok.lvl"
//Ferme le script en cours ensuite il ouvre et execute le script 'ok.lvl'

Fermer le script:

fin
//Kill l'application

Pseudo-Compilation:

Ouvrir un Script, dans le menu [Action]-&gt;[Compile Script] et enregistrez le avec
le nom 'run.lvl' dans
un répertoire .



Le Script d'entrée se nomme toujours run.lvl




Faite de même avec vos autre Script si il y en a avec leur nom initial.



une fois fini, dans le menu [Action]->[Generate Executable] et enregistrez le
dans le m&ecirc;me r&eacute;pertoire que vos Scripts



Pseudo-Compiler.



Et
voilà executez le....Je vous laisse regardez

Conclusion

Bon voilà, bien sur je suis loin du résultat que je veux obtenir mais,
comme je l'ai dit, c'est un projet a long termes.

Voilà, si vous avez des choses a dire, laissez vos commentaires, constructifs si possible.


Je ne peux pas Upload la source car elle est trop grosse (2 062,93 ko)

donc pour accéder au lien de téléchargement

http://www.craft-koderz.org/programs.php?dir=concepts
 

Historique

05 décembre 2007 23:59:33 :
je voulais voir si on pouvez interpréter des syntaxes pour manipuler une interface. Bon je sais vous allez me dire que je me suis pas foulé!! oui j'ai dejà ajouter au projet une fiche vide..du moins avec des composants standard: Tbuttons, Label...etc Bref cette idée me trottée dans le cerveau cette aprés midi qu'en j'été au boulot et une fois la débauche je me suis penché sur ça je précise que le fichier Tutorial.lvl et un condensé de tous se que l'on peut faire donc il est mis a jour lui aussi.
22 avril 2008 02:00:11 :
Création d'une interface Graphique, création d'une syntaxe de Condition, de saut vers d'autre scripts, Pseudo-Compilation
22 avril 2008 02:02:24 :
lien de téléchargement mort
10 juillet 2008 19:49:00 :
Mise à jour du lien de téléchargement et encore toute mets exuse

Commentaires et avis

signaler à un administrateur
Commentaire de John Dogget le 05/12/2007 00:15:49

Ca a l'air interessant mais il manque pleins de compo pour la compilation ...
Et au niveau optimisation, il y a surement moyen de se debarraser de tous ces "if then"

signaler à un administrateur
Commentaire de craftsystem le 05/12/2007 07:12:46

Oui c'est sur (pour l'optimisation)

pour les composant ils sont dans le zip:
fonctionchaine.pas, gardepositionfiche.pas, firecolorsynth.pas,  shellExt.pas

voilà il sont tous là:

oui si quelqu'n peu me trouver un trucpour me viré tous c'est "end else If then" sa serait cool

après j'aurais un autr question:

esque pendat l'analyse ligne par ligne je peu analyse une ligne pécise, je m'esplique:

imaginons la syntaxe:

--> start
fin
start:

en gros je voudrai que arrrivé a "--> start" l'analyse saute diectement jusqu'a "start:"  sans passé par "fin"

merci

signaler à un administrateur
Commentaire de Keneda le 07/12/2007 16:54:58

Excellent !!!

je bosse sur un compilateur CHTI, je te balancerai les sources
une fois terminé

signaler à un administrateur
Commentaire de craftsystem le 07/12/2007 17:11:56

ok sa m'interresse fortement
je te remercie Keneda

tiens si tu veut les mises a jour en premier
http://coding.xooit.org/t9-Delphi-Level-Script.htm
c'est un petit forum que j'ai fait pour les developpers
débutant.
biensure je n'ai pas l'intention de concurencer code-source
mais vus qu'il n'y a pas de parti Newbees alors voilà:
http://coding.xooit.org/index.php

biensure que continurez a poster sur delphifr car malgré tous c'est mon lieu de prédilection

voili voiloo


signaler à un administrateur
Commentaire de LandTech le 12/12/2007 14:36:19

Bonjour, pourriez-vous insérer un exécutable dans le zip.

Merci.

signaler à un administrateur
Commentaire de craftsystem le 12/12/2007 16:59:41

il y est c'est le fichier LevelScript.ex
tu n'a juste a jouter le 'e' de l'extention .exe
'levelscript.exe'

voilà

signaler à un administrateur
Commentaire de craftsystem le 22/04/2008 02:04:26

Grosse Mise Jour de LevelScript je vous laisse regarder

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Nouvelle interface [ par Yoann ] Voici la nouvelle interface de Delphipage.Beaucoup de changements :-livre d'or-news des sites Delphi-publiez vos articles-liste de diffusion-lexique D Savegarder les resultat de requetes [ par liangyu ] J'ai une interface qui afficher les résultat d'une requete sur une base de donnée. Je voudrais enregistrer cette interface ou les résultat en RTFou PD Ini : Saut de ligne à la fin d'une section [ par Bruto ] Salut,Je recherche une petite astuce :Je manipule des fichiers ini et je voudrais séparer chaque section ( [Key] ) par un saut de ligne.J'ai essayer d Integration Word dans interface Delphi [ par freud2000 ] Bonjour, je cherche à créer une application delphi qui aurais dans sa propre interface un document word modifiable . Comment peut on faire ?Merci par Saut, jeux [ par lan0sic ] Bonjour,J'aimerait fair bouger une image, comme si c'etait un type qui saute. (donc l'image doit monter et redecendre). Eseque quelqu'un pourrait m'ai [quick report] Test sur données et saut de page [ par manudel ] Je dois me servir de quick report, sans utiliser les bandes. Mes données arrivent séquentiellement. A chaque fois que j'ai un libellé "total", je dois Création d'une GUI [ par manu00 ] Salut tout le monde,je suis debutant et j'ai une question a poser.J'aimerai créer une interface pour un programme DOS (en mode console).Le probleme c' Interface SAARI (SAGE) [ par mfondi ] Slut !qqun peut me dire comment envoyer des données à SAARI compta Ligne 100. Type de fichier de transfert, codes, etc ...A++ Saut [ par lan0sic ] Bijour!J'ai fait un jeu, a la mario. j'aimerais savoir si quelqu'un a un bon moyen de faire sauter le personnage (C'est une image). Peut etre avec un demande d'aide. [ par rodriguez26000 ] salut a toi!!!je fait un programme en delphi qui lit les données d'un interface externe reliez avec le pc par le port joystick.pour cela j'ai une peti


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.