FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» SineCube
Nouveauté: des scripts en Panoramic ! Emptypar Marc Aujourd'hui à 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Nouveauté: des scripts en Panoramic ! Emptypar Marc Aujourd'hui à 12:22

» Philharmusique
Nouveauté: des scripts en Panoramic ! Emptypar jjn4 Hier à 13:58

» PANORAMIC V 1
Nouveauté: des scripts en Panoramic ! Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Nouveauté: des scripts en Panoramic ! Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Nouveauté: des scripts en Panoramic ! Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Nouveauté: des scripts en Panoramic ! Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Nouveauté: des scripts en Panoramic ! Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Nouveauté: des scripts en Panoramic ! Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0
Nouveauté: des scripts en Panoramic ! Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Nouveauté: des scripts en Panoramic ! Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Nouveauté: des scripts en Panoramic ! Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
Nouveauté: des scripts en Panoramic ! Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
Nouveauté: des scripts en Panoramic ! Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Nouveauté: des scripts en Panoramic ! Emptypar leclode Sam 27 Avr 2024 - 17:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le deal à ne pas rater :
Réassort du coffret Pokémon 151 Électhor-ex : où l’acheter ?
Voir le deal

 

 Nouveauté: des scripts en Panoramic !

Aller en bas 
3 participants
AuteurMessage
Klaus

Klaus


Nombre de messages : 12295
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Nouveauté: des scripts en Panoramic ! Empty
MessageSujet: Nouveauté: des scripts en Panoramic !   Nouveauté: des scripts en Panoramic ! EmptyVen 11 Jan 2013 - 18:58

J'ai fait une nouvelle implémentation de l'utilisation de scripts. Cette fois, les scripts sont réalisés entièrement en Panoramic ! Donc, nul besoin d'apprendre un autre langage quelconque !

Quelle utilité ?
On peut créer dynamiquement des programmes et les exécuter en récupérant les résultats. On peut aussi laisser l'utilisateur saisir des programmes et les faire exécuter.

Comment on fait ?
Cela est réalise via des fonctions dans KGF.dll, et qui sont "enveloppées" également par KGF_SUB.bas. Dans le programme appelant, il faut faire 3 choses:
1. initialiser le système de script
2. fournir le script à exécuter en Panoramic
3. exécuter le script

C'est tout. La DLL va se charger de créer l'environnement nécessaire. Pour les paramètres à fournir en entrée, c'est élémentaire: comme on crée le script en Panoramic, il suffit de déclarer des variables dans lesquelles on place les valeurs nécessaires, puis on travaille avec, dans le script. Pour les paramètres de retour, il faut prévoir un objet LIST (l peut être invisible) et passer le numéro de l'objet à la procédure KGF_SUB, ou le handle de l'objet à la fonction DLL. Et dans le script en Panoramic, on utilise une procédure spéciale, créée automatiquement, de la manière suivante:
Code:
ParamicScriptResult(nom$,valeur$)

comme par exemple:
ParamicScriptResult("Taux","34")
ParamicScriptResult("Date",date$)
Cette procédure envoie une ligne dans l'objet LIST des résultats, comme ceci:
Citation :

Taux=34
Date=11/01/2013
Et la valeur de COUNT(numero_du_LIST) donne le nombre de valeurs retournées. On obtient ainsi des résultats "nommés" qu'il est facile d'exploiter.

Les 3 phases sont:

1. initialiser le système de script
Code:

dim f$ : f$ = "C:\Program files\Panoramic Editor\Panoramic_64.exe"
InitializePanoramicScript(f$)
...ou...
res% = dll_call1("InitializePanoramicScript",adr(f$))
Dès cet instant, le système est prêt à exécuter - un script par défaut est disponible. Comme exécutable, j'ai choisi le Panoramic.exe que Jack avait mis à disposition brièvement lors du début de son appel pour les beta-testeurs, mais toute version de Panoramic.exe fait l'affaire, à condition d'être au moins de la version qui gère les procédures.

2. fournir le script à exécuter en Panoramic
Ceci peut être fait de deux manières:
2.1. un script dans une chaîne de caractères
Code:
s$ = "... mon script ici..."
LoadPanoramicScriptFromString(s$)
...ou...
res% = dll_call1("LoadPanoramicScriptFromString",adr(s$))
2.2. un script dans un mémo
Code:
memo 10 : ' construire le script dans ce mémo
LoadPanoramicScriptFromMemo(10)
...ou...
res% = dll_call1("LoadPanoramicScriptFromMemo",handle(10))
Dans les deux cas, cela met simplement le script dans une mémoire dans la DLL.

3. exécuter le script
Code:
dir$ = ".\"
list 31 : hide 31 : ' recevoir les résultats ici
ExecutePanoramicScript(1,dir$,31)
...ou...
res% = dll_call3("ExecutePanoramicScript",1,adr(dir$),handle(31))
Le premier paramètre est le mode opératoire. 1 signifie "attendre la fin de l'exécution du script pour continuer. Ceci est obligatoire si l'on veut récupérer des résultats. 0 signifie ne pas attendre, mais on ne peut alors pas retourner des résultats. Le paramètre dir$ donne le répertoire dans lequelle le script doit être exécuté. ".\" signifie "dossier par défaut".

Et voici un petit programme de démo:
Code:
' test_PanoramicScript.bas

label init, str, mem, exec

dim res%, s$
dim f$ : f$ = "C:\Program files\Panoramic Editor\Panoramic_64.exe"

KGF_initialize("KGF.dll")

button 1 : top 1,10 : left 1,10 : caption 1,"Initialze"
  on_click 1,init

button 2 : top 2,40 : left 2,10 : caption 2,"String"
  on_click 2,str

button 3 : top 3,70 : left 3,10 : caption 3,"Memo"
  on_click 3,mem

button 4 : top 4,100 : left 4,10 : caption 4,"Exécute"
  on_click 4,exec


edit 12 : top 12,40 : left 12,150 : width 12,400

memo 13 : top 13,70 : left 13,150 : width 13,400
  height 13,350 : bar_both 13
 
memo 21 : top 21,130 : left 21,10 : width 21,130

list 31 : top 31,230 : left 31,10 : width 31,130 : height 31,200

end

init:
  InitializePanoramicScript(f$)
  item_add 21,"Initialize: "+str$(InitializePanoramicScript)
  return
 
str:
  s$ = trim$(text$(12))
  LoadPanoramicScriptFromString(s$)
  item_add 21,"Load string: "+str$(LoadPanoramicScriptFromString)
  return
 
mem:
  LoadPanoramicScriptFromMemo(13)
  item_add 21,"Load memo: "+str$(LoadPanoramicScriptFromMemo)
  return
 
exec:
  s$ = ".\"
  ExecutePanoramicScript(1,s$,31)
  item_add 21,"Execute: "+str$(ExecutePanoramicScript)
  message "Le script a retourné "+str$(count(31))+" valeurs."
  return
 
#INCLUDE "KGF_SUB.bas"

Il faut télécharger KGF.dll et KGF_SUB.bas !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12295
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Nouveauté: des scripts en Panoramic ! Empty
MessageSujet: Re: Nouveauté: des scripts en Panoramic !   Nouveauté: des scripts en Panoramic ! EmptySam 12 Jan 2013 - 14:20

Et un autre pas en avant: il y a les mêmes fonctions maintenant avec AutoIt ! Prenez le post précédent dans sa totalité, remplaces ...Panoramic... par ...AutoIt... - c'est tout ! Il faut faire attention à choisir le bon chemin vers l'exécutable de AutoIt, pour la fonction InitializeAutoItScript - chez moi, c'est:
Code:
dim f$ : f$ = "C:\Program files\AutoIt3\AutoIt3.exe"

Télécharger:
KGF.dll
KGF_SUB.bas
demo_KGF_SUB.bas

Un programme Panoramic peut maintenant utiliser des scripts en Panoramic et en AutoIt !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Nouveauté: des scripts en Panoramic ! Empty
MessageSujet: Re: Nouveauté: des scripts en Panoramic !   Nouveauté: des scripts en Panoramic ! EmptySam 12 Jan 2013 - 15:16

AutoIt des nei - ges, mon coeur amoureux....
Bon je traduis:
Spoiler:
Je ne sortirais pas de mon programme maintenant, qui est trop prenant et compliqué. J'empile les choses à voir pour plus tard.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12295
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Nouveauté: des scripts en Panoramic ! Empty
MessageSujet: Re: Nouveauté: des scripts en Panoramic !   Nouveauté: des scripts en Panoramic ! EmptySam 12 Jan 2013 - 15:51

J'ai traduit tout ça également en Lazarus/FreePascal, et ça marche donc également en environnement 64 bits, lorsque Panoramic sera prêt pour cela.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Nouveauté: des scripts en Panoramic ! Empty
MessageSujet: Re: Nouveauté: des scripts en Panoramic !   Nouveauté: des scripts en Panoramic ! EmptySam 12 Jan 2013 - 16:19

En parlant de Lazarus, je sais que tu as publié quelque chose là dessus, mais je ne vois pas où.
J'ai téléchargé CodeTyphon, 500 Mo, mais je n'arrive pas à l'installer. Il ne trouve pas des fichiers qui sont pourtant présent dans le pack, et ça concerne aussi Lazarus.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12295
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Nouveauté: des scripts en Panoramic ! Empty
MessageSujet: Re: Nouveauté: des scripts en Panoramic !   Nouveauté: des scripts en Panoramic ! EmptySam 12 Jan 2013 - 18:13

Je parle de Lazarus ici (deuxième post).

CodeTyphon ? Mon pauvre ! C'est GIGANTESQUE ! plus de deux heures de compilation à l'installation ! Et, malgré l'appel au forum de soutien, impossible d'installer le complément de cross-compilation de win32 vers win64.

CodeTyphon contient bien Lazarus. Personnellement, j'utilise Lazarus seul. C'est un IDE complet et riche, très proche de celui de Delphi. Le langage sous-jacent est FreePascal (contenu dans la distribution de Lazarus). Et l'installation du module de cross-compilation s'est faite sans problème, et tout est opérationnel.

Si je peux te donner un conseil: laisse tomber l'usine à gaz de CodeTyphon et passe à Lazarus. Le lien est ici.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Nouveauté: des scripts en Panoramic ! Empty
MessageSujet: Re: Nouveauté: des scripts en Panoramic !   Nouveauté: des scripts en Panoramic ! EmptySam 12 Jan 2013 - 19:12

Citation :
Mon pauvre !
Oui, c'est mon problème! Smile

J'ai retiré tout ce qui concernait CodeTyphon, j'avais pas encore pris le temps de le faire.
J'ai regardé ton lien sur Lazarus. Je suis assez perplexe. Je ne vois rien en français, et la traduction traduit aussi les codes. Je ne vois rien concernant les objets comme on les connait en Panoramic. Je ne sais pas si cela m'apportera quelque chose de plus que Delphi. Quant à la compilation avec Delphi en dehors de l'éditeur, cela ne va pas trop bien. Si je ne me sers pas de Delphi en premier, j'ai pas le fichier exe.

Quel avantage il y a en plus que Delphi pour Lazarus? Le code est-il plus simple?
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12295
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Nouveauté: des scripts en Panoramic ! Empty
MessageSujet: Re: Nouveauté: des scripts en Panoramic !   Nouveauté: des scripts en Panoramic ! EmptySam 12 Jan 2013 - 19:44

Lazarus est basé sur FreePascal, qui est très très proche du code Delphi. Mais surtout, il est portable pratiquement partout (Windows 32/64, diverses version Unix, Android, Palm, Symbian, ... et j'en oublie. Avec le même code source ! Rien que ça, c'est un argument important. Delphi 6 est limité à Win32, c'est tout. Même pas Win64...

Les objets sont quasiment la copie conforme de ce qui se fait en Delphi. L'IDE est quasiment identique. Et je l'ai installé en français sans problème. Voici par exemple la documentation Wiki en français. Version française du logiciel ici, et pour ma part, je l'ai pris ici sur la première ligne. Je n'ai eu aucun problème d'avoir la langue française.

En cas de problème: dans le dossier C:\Lazarus\langages\, il y a un fichier lazarusidr.fr.po qui est la traduction française, et dans le dossier C:\Lazarus\, il y a localize.bat qui permet de choisir et installer le langage.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Nouveauté: des scripts en Panoramic ! Empty
MessageSujet: Re: Nouveauté: des scripts en Panoramic !   Nouveauté: des scripts en Panoramic ! EmptySam 12 Jan 2013 - 19:48

@ Cosmos,

Citation :
Citation:
Mon pauvre !
Oui, c'est mon problème!

Si cela peut te consoler, c' est le mien aussi ! Laughing
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Nouveauté: des scripts en Panoramic ! Empty
MessageSujet: Re: Nouveauté: des scripts en Panoramic !   Nouveauté: des scripts en Panoramic ! EmptySam 12 Jan 2013 - 20:24

Perso, pas le temps, je laisse passer ce sujet très intéressant aussi faute de temps, mais ça à l'air génial Wink
Revenir en haut Aller en bas
Invité
Invité




Nouveauté: des scripts en Panoramic ! Empty
MessageSujet: Re: Nouveauté: des scripts en Panoramic !   Nouveauté: des scripts en Panoramic ! EmptySam 12 Jan 2013 - 21:01

Citation :
Lazarus est basé sur FreePascal, qui est très très proche du code Delphi.
Il n'y a pas lieu de téléchargé FreePascal je pense.
Et en ligne de commande, ça marche aussi?
Si oui, en plus facile, ou le contraire?
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12295
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Nouveauté: des scripts en Panoramic ! Empty
MessageSujet: Re: Nouveauté: des scripts en Panoramic !   Nouveauté: des scripts en Panoramic ! EmptySam 12 Jan 2013 - 21:22

FreePascal marche aussi en mode commande. Il faut alors lancer le compilateur, puis faire MAKE pour linker... Les options sont complexes et ce n'est réalisable qu'à condition de construire des fichiers de commande pour pouvoir spécifier tous les éléments. Et dans ce cas, il faut créer tous les objets visuels directement en Pascal, ce qui n'est pas simple.

Lazarus est en fait la couche IDE qui permet de constituer visuellement l'image de l'écran, en plaçant tous les objets dans la form, et en indiquant ses principaux attributs, y compris d'ailleurs les routines évènement. Et on a en parallèle une fenêtre de code dans laquelle le code évolue automatiquement, au fur et à mesure qu'on modifie l'aspect visuel, et dans laquelle on peut apporter ses modifications ou ajouts. Sur ce plan, c'est identique à Delphi.

Il y a une fonction dans le menu "Projet" qui est "Options du projet" qui est hyper importante, et il convient de bien étudier cela, en particulier les sus-rubriques "Chemins", "Génération de code" et "Edition des liens". Je partagerai volontiers mon expérience encore limitée.

FreePascal a également in IDE qui lui est propre, mais il n'est guère plus qu'un éditeur de code amélioré. Lazarus est un vrai IDE complètement intégré avec possibilité de debug et de génération d'exécutable. Tu peux d'ailleurs créer toutes sortes de projets: une application visuelle, un programme en mode console, une DLL, un programme non interactif, des programmes spécifiques pour les tests...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Nouveauté: des scripts en Panoramic ! Empty
MessageSujet: Re: Nouveauté: des scripts en Panoramic !   Nouveauté: des scripts en Panoramic ! EmptySam 12 Jan 2013 - 21:29

Merci bien. Je vais analyser cela, et faire mon choix.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12295
Age : 74
Localisation : Ile de France
Date d'inscription : 29/12/2009

Nouveauté: des scripts en Panoramic ! Empty
MessageSujet: Re: Nouveauté: des scripts en Panoramic !   Nouveauté: des scripts en Panoramic ! EmptyMer 16 Jan 2013 - 21:27

Sur MyDrive, j'ai créé un nouveau dossier: Lazarus\.

Dans ce dossier, il y pour le moment, un seul sous-dossier: Lazarus\scripting\.

Ce dossier contient deux projets complete Lazarus:
- FPC_KGF.lpi - projet pour la dll LPG_KGF.dll
- scripting_demo.lpi - projet pour le programme scripting_demo.exe

La DLL et l'EXE sont fournis également en binaire, pour ceux qui n'ont pas Lazarus.

Le programme scripting_demo.exe, lancé dans le même dossier que FPC_KGF.dll, permet de montrer les possibilités de script Panoramit ET script AutoIt, à partir d'un programme externe. Dans ce cas, c'est un programme Lazarus, mais cela pourrait être un programme Delphi ou un programme Panoramic. Le travail est effectué par des fonctions placées dans FPC_KGF.dll. Il s'agit des mêmes fonctions que celles placées dans KGF.dll, juste isolées et converties en Lazarus, mais fonctionnellement identiques.

Il t a aussi test_AutoItScript.bas et test_PanoramicScript.bas. Ces modules sont des programmes Panoramic montrant chacun une des possibilités de script, en utilisant KGF.dll telle qu'elle est publiée dans de dossier DLLs\. Mais on peut également remplacer KGF.dll par FPC_KGF.dll dans la commande DLL_ON de ces deux programmes, et cela fonctionnera de la même manière avec la DLL en Lazarus.

Il y a également des fichiers script_Panoramic.bas et script_AutoIt.bas qui sont des exemples de scripts possibles. Il suffit de copier/coller leur contenu dans le mémo correspondant pour avoir une démo de script avec ces deux langages.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Nouveauté: des scripts en Panoramic ! Empty
MessageSujet: Re: Nouveauté: des scripts en Panoramic !   Nouveauté: des scripts en Panoramic ! Empty

Revenir en haut Aller en bas
 
Nouveauté: des scripts en Panoramic !
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Panoramic et les scripts vbs.
» Exécution de scripts VBS sous Panoramic
» Nouveauté dans KGF.dll : les fonctions MIDI polyphoniques
» Exécution de scripts VBS
» Scripts en formules dynamiques

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: