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
» Simuler l’appui de n’importe quelle touche.
par papydall Hier à 23:54

» Le Forum est en vacances.
par JL35 Hier à 21:20

» Une autre façon de terminer une application.
par JL35 Mar 22 Aoû 2017 - 14:27

» Compilateur FBPano
par Mike Lun 21 Aoû 2017 - 23:17

» Pb 20 (en analyse): plantage à l'appel d'un SUB
par Jack Lun 21 Aoû 2017 - 21:58

» Pb 19 (en analyse): libellé d'erreur dans des IF imbriqués
par Jack Lun 21 Aoû 2017 - 21:55

» Copier / coller du texte à partir de la fenêtre de commandes
par jean_debord Lun 21 Aoû 2017 - 9:46

» COMPILATEUR V 0.9 beta 8 du 18 aout 2017
par papydall Lun 21 Aoû 2017 - 5:01

» Mettre en windows en veille
par papydall Lun 21 Aoû 2017 - 4:15

» Stretch_on ne stretch plus...
par papydall Dim 20 Aoû 2017 - 15:22

» Pb 18 (en analyse): RESTORE_LABEL avec DATA à la fin
par Jack Dim 20 Aoû 2017 - 13:21

» Problème de traitement des opérateurs avec le compilateur.
par Pedro Alvarez Sam 19 Aoû 2017 - 20:01

» Pb 17 (résolu): ITEM_SELECT ne fonctionne pas
par Jack Jeu 17 Aoû 2017 - 19:26

» un nouveau editeur panobasic
par Jean Claude Jeu 17 Aoû 2017 - 10:18

» Le compilateur.
par Pedro Alvarez Jeu 17 Aoû 2017 - 8:36

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
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 : 10062
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
-
» Paramétrer le choix multiple pour un sondage
» [Administration] Un choix multiple pour une liste d'images, profil d'utilisateur
» Vote multiple pour les administrateurs
» Choix multiple pour liste d'images
» Structure pour un programme Windows 1/4

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