FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Problème de math
par papydall Aujourd'hui à 1:53

» A propos des attributs de fichier
par papydall Hier à 14:33

» Problème de math
par Marc37 Sam 21 Oct 2017 - 23:04

» I Love You
par papydall Sam 21 Oct 2017 - 19:22

» Un petit "coucou" à tous les Panoramiciens !
par mindstorm Sam 21 Oct 2017 - 17:06

» MARK_ON déclenche un événement ON_CLICK à la place de ...
par Jean Claude Mer 18 Oct 2017 - 18:08

» mise a jour calculatrice
par joeeee2017 Mer 18 Oct 2017 - 15:57

» [solved] 3D_LINE How to ?
par Jicehel Mer 18 Oct 2017 - 11:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Mar 17 Oct 2017 - 18:49

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» Calculatrice
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Lanceur multiple pour un programme découpé.

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Invité
Invité



MessageSujet: Lanceur multiple pour un programme découpé.   Mer 30 Déc 2015 - 1:05

Je me dis que pendant les retouches de Synedit_Editor, ma méthode actuelle pour faire fonctionner un programme qui a des bibliothèques en construction pourrait intéresser quelqu'un. Pas sûre mais va savoir.

La méthode habituelle est de mettre des portions de programme en INCLUDE. Mais cela a un inconvénient: c'est le lancement du programme. Tant qu'on est en Panoramic, en étant dans l'onglet du programme principale, la chose se fait normalement, mais si on est dans une partie Include, ce n'est plus le cas.
Pour synedit_Editor, il y a un autre problème: c'est panoramic.exe qui fait l'exécution, mais les includes ne sont pas incorporés.

Donc j'ai mis au point il y a quelque temps une méthode qui comble les inconvénients de celaà.

J'ai fait un chargeur, et pour l'exemple, je le sauvegarde: "C:\PRG_BASIQUE\Lanceur_pano.bas"
le voici:
Code:
' raccourcis cde
' cumul de chaque partie du nouveau éditeur sans événement " directement en ajoutant chaque morceaux
' ------------------------------------------------------------------------------

' width 0,1200
dim dos$,f1$,f2$,f3$,f4$,f5$,f6$
dos$ = "C:\PANO\RE-editeur"
f1$ = dos$ + "prg_en_cours.bas"
f2$ = dos$ + "format_fonte.bas"
f3$ = dos$ + "biblio_bouton.bas"
f4$ = dos$ + "biblio_MEMO_COLOR.bas"

dLIST 10 :' on charge le premier programme, et on ajoute les autres dans le dlist
   file_load 10,f1$
   file_add 10,f2$
   file_add 10,f3$
   file_add 10,f4$
  
' =============== suite ==================
' on supprime la 5 lignes, et on remplace par ligne vide  pour retirer CHAIN
item_delete 10,5 : item_insert 10,5,"' retiré chain >C:\PANO\RE-editeur\new_lanceur.bas<"
file_save 10,dos$ + "execute.bas" : wait 100
chain dos$ + "execute.bas"

Dans les variables f1$ f2$ ..., il y a le nom de chaque partie du programme. Dans la démonstration,la 5ème du programme sauvegardé dans la variable f1$, il y a:CHAIN "C:\PRG_BASIQUE\Lanceur_pano.bas"

Cela a pour effet de lancer le chargeur.
Dans les autres programme, il y a aussi au début, mais peut importe que ce soit la 5ème ou la proemière ligne, il y a aussi cette instruction. A partir du moment quelle est avant de lire une sub ou procédure, il y a pas de problème. Ce qui fait qu'une fois la page sauvegardée, que l'on soit dans le programme principal ou dans une librairie, le programme fonctionne.

Je mets en exemple différente page pour vous montrer.
1er programme
Code:
rem "==================================="
rem "          programme de démo        "
rem " - C:\PRG_BASIQUE\Démo.bas         "   ' NOM du programme principal
rem "==================================="
CHAIN "C:\PRG_BASIQUE\Lanceur_pano.bas"
' chaque onglet à une ligne de lancement d'un programme principal
' qui rassemble les différents onglets ou librairie
' puis l'execute
rem " ce programme est la première page d'un programme principal
rem " le programme est disons coupé, et les autres autres parties sont soit dans les onglets suivants, ou en mémoire

' lignes du programme de départ
if 1=2
   init()
   gui()
   execution()
   ' des subs qui pourraient être mise ici, et bien d'autre.
end_if

END
' -------------
sub init()
end_sub

sub gui()
end_sub

sub execution()
end_sub

' on a coupé le programme ici, et mis des librairie ailleurs.

2eme programme
Code:
' librairie 1 sauvegardée en pour l'exemple: "C:\PRG_BASIQUE\lettre.bas"
CHAIN "C:\PRG_BASIQUE\Lanceur_pano.bas" : ' cela lancera l'exécution du programme
sub format_lettre() :' n'importe quoi
   message "format_lettre()"
end_sub

etc...

3eme programme:
Code:
' librairie 2  sauvegardée en pour l'exemple: "C:\PRG_BASIQUE\boite.bas"
CHAIN "C:\PRG_BASIQUE\Lanceur_pano.bas" : ' cela lancera l'exécution du programme
sub format_boite() :' n'importe quoi
   message "format_boite()"
end_sub

etc...
" ET ON POURRA FAIRE PAREIL AVEC AUTANT DE LIBRAIRIE QU'ON VEUT............

Cela fait que de cette façon le programme est lancé par deux instructions CHAIN. La première appelle à l'assembleur des morceaux du programme, et dans celui, on retrouve CHAIN du programme assemblé. Quelque soit l'onglet où on se trouve, on peut exécuter notre programme principal.

RESTE UN PROBLÈME: c'est de pouvoir savoir où se situe une erreur si elle ne se situe pas dans la page 1 du programme.

J'utilise un éditeur de texte qui est Edit-Pad. Celui-ci a la particularité et il n'est pas le seul, selon le réglage des options, de recharger les pages automatiquement, à chaque sauvegarde du texte. Donc dans EditPat, j'ouvre dans l'exemple du haut: dos$ + "execute.bas". Le programme bas étant chargé, et ayant les n° de lignes, à chaque lancement du programme basic, il y a sauvegarde du programme assemblé, et automatiquement, celui-ci est à jour. Une erreur en ligne 1200, on y va, et on sait où elle se trouve.

Histoire de mettre un lien pour EDIT-PAD

Pour moi, il est deulement dommage qu'au lancement du programme avec Synedit_Editor, il n'y ait pas de sauvegarde automatique. A propos pour Synedit, il manque l'instrucion: 2D_FILL_COLOR
Revenir en haut Aller en bas
Klaus

avatar

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

MessageSujet: Re: Lanceur multiple pour un programme découpé.   Mer 30 Déc 2015 - 1:50

Tu as fait une belle description de ton outil, et je pense qu'on arrive à bien cerner le but et l'utilité d'un tel projet. J'ai du mal à me sortir de Synedit_Editor en ce moment, car il impose de jongler simultanément avec le code Panoramic de l'éditeur et avec le code Delphi de KGF.dll, mais j'ai le sentiment que ton concept est également utilisable par Synedit_Editor. A voir. Pour le moment, je me bats avec une erreur "survenant" de temps en temps - un blocage sur le presse-papier. Et comme toujours dans le cas des erreurs en apparence aléatoires, c'est extrêmement chronophage.

PS.
J'ai pris bonne note pour 2D_FILL_COLOR et ce sera dans la prochaine version.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Invité
Invité



MessageSujet: Re: Lanceur multiple pour un programme découpé.   Mer 30 Déc 2015 - 2:45

Merci Klaus.

Cela fonctionne indifféremment avec Panoramic et Synedit_Editor.

Je te souhaite bon courage pour ton programme, et j'ai le même problème pour le mien.
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Lanceur multiple pour un programme découpé.   

Revenir en haut Aller en bas
 
Lanceur multiple pour un programme découpé.
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Structure pour un programme Windows 1/4
» Installer plusieurs logiciels en une seule opération
» Conseils pour un programme simple de création de roadbooks
» Les meilleures extensions Firefox pour protéger sa vie privée
» Bloquer son programme au bout de X joures ??

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: