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
» PANORAMIC V 1
#INCLUDE Emptypar papydall Aujourd'hui à 5:28

» Je teste PANORAMIC V 1 beta 1
#INCLUDE Emptypar papydall Aujourd'hui à 2:48

» bouton dans autre form que 0
#INCLUDE Emptypar leclode Hier à 13:59

» KGF_dll - nouvelles versions
#INCLUDE Emptypar Klaus Hier à 11:41

» Gestion d'un système client-serveur.
#INCLUDE Emptypar Klaus Hier à 10:23

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
#INCLUDE Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
#INCLUDE Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
#INCLUDE Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
#INCLUDE Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
#INCLUDE Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
#INCLUDE Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
#INCLUDE Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
#INCLUDE Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
#INCLUDE Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
#INCLUDE Emptypar jjn4 Lun 22 Avr 2024 - 13:43

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-40%
Le deal à ne pas rater :
-40% sur le Pack Gaming Mario PDP Manette filaire + Casque filaire ...
29.99 € 49.99 €
Voir le deal

 

 #INCLUDE

Aller en bas 
3 participants
AuteurMessage
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

#INCLUDE Empty
MessageSujet: #INCLUDE   #INCLUDE EmptyJeu 18 Mar 2010 - 15:45

suite à une réponse de Jack sur le post "#include et l'application", j'apprends que #INCLUDE est un simple copier/coller.
Et çà me gêne un peu car si j'écris une routine "gestionclient.bas" par exemple, je vais intégrer des variables et des LABEL(s) après le END du "programme appelant".

Je propose 3 Fonctions pour cibler le "copier/coller" de la routine de la bibliotèque.

#INCLUDE_LABEL "routine1.bas" pour insérer seulement les lignes qui commencent par LABEL
#INCLUDE_DIM "routine1.bas" pour insérer seulement les lignes qui commencent par DIM
#INCLUDE_CODE "routine1.bas" pour insérer seulement les lignes qui se trouvent après END de la routine

Ceci permettrait d'écrire des routines complétes (il y aurait simplement à supprimer terminate).

Resterait à voir la gestion des numéros d'objets et leur nombre.

J'espère avoir été clair.

A+
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

#INCLUDE Empty
MessageSujet: Re: #INCLUDE   #INCLUDE EmptyJeu 18 Mar 2010 - 16:03

Citation :

#INCLUDE_CODE "routine1.bas" pour insérer seulement les lignes qui se trouvent après END de la routine

Je m'aperçois que celle-la serait plutot:
Code:
 #INCLUDE_CODE "routine1.bas" pour insérer seulement les lignes qui ne commencent pas par LABEL ou DIM

Car j'avais oublié le objets qui en général sont devant END
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

#INCLUDE Empty
MessageSujet: Re: #INCLUDE   #INCLUDE EmptyJeu 18 Mar 2010 - 16:10

Ou là là !

Citation :
si j'écris une routine "gestionclient.bas" par exemple, je vais intégrer des variables et des LABEL(s) après le END du "programme appelant".
Je ne comprends pas du tout. Ton fichier "gestionclient.bas" va être intégré là où tu mets le #include et pas ailleurs.
Ton fichier "gestionclient.bas" va remplacer le #include.

Citation :
Je propose 3 Fonctions pour cibler le "copier/coller" de la routine de la bibliotèque.

#INCLUDE_LABEL pour insérer seulement les lignes qui commencent par LABEL
#INCLUDE_DIM pour insérer seulement les lignes qui commencent par DIM
#INCLUDE_CODE pour insérer seulement les lignes qui se trouvent après END de la routine
Pour quoi ne fais-tu pas 3 fichiers:
label.bas ne contenant que les labels
dim.bas ne contenant que les déclarations
code.bas ne contenant que le code

Le #include est une fonction de traitement de texte au niveau de l'EDITEUR. C'est un simple copier/coller. Il n'y a encore eu aucune analyse du source à ce niveau et c'est comme ça dans tous les langages. Un traitement de texte ne distingue absolument pas un label une variable ou un code !

J'étais prêt à introduire les constantes dans PANORAMIC (mais je vais attendre que le include soit assimilé...), ce qui est exactement la même chose: une fonction de traitement de texte.

#CONST "abc" ,"def"

à chaque fois que dans le source la suite de caractères abc est rencontrée, elle est remplacée par la suite de caractères def

Exemple:
Si dans l'EDITEUR je tape:
Code:
dim diametre
#const "pi" , "3,14159"
input diametre
print "circonférence = "+str$(pi*diametre)

AVANT d'analyser le source, les 2 caractères pi sont remplacés par les 7 caractères 3,14159
Et ce que traitera PANORAMIC, c'est:
Code:
dim diametre
input diametre
print "circonférence = "+str$(3,14159*diametre)

Pour #include, c'est exactement pareil, mais avec un fichier...
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

#INCLUDE Empty
MessageSujet: Re: #INCLUDE   #INCLUDE EmptyJeu 18 Mar 2010 - 16:24

Citation :
Pour quoi ne fais-tu pas 3 fichiers:
label.bas ne contenant que les labels
dim.bas ne contenant que les déclarations
code.bas ne contenant que le code

Hé oui ! vu comme çà, c'est simple.

Et finalement je me rends compte que je pourrais aussi utiliser EXECUTE_WAIT "gestionclient"

#CONST "abc" ,"def" çà ce sera intéressant

Merci pour ta réponse.

A+
Revenir en haut Aller en bas
Klaus

Klaus


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

#INCLUDE Empty
MessageSujet: Re: #INCLUDE   #INCLUDE EmptyVen 19 Mar 2010 - 0:13

Pour l'utilisation des INCLUDE pour inclure des sousprogrammes, il est clair qu'il faut faire, pour chaque sous-programme, autant de fichiers à inclure que de "sections" à utliser (labels, dim, objets, procedure, routines on_click, ...)

Je l'ai déjà décrit depuis un moment et utilisé dans mes routines publiés sur ce forum (voir les routines de manipulation de dates, de calendrier Pop-Up, ...)

C'est une habitude de programmation à prendre et permet de faire quand-même des choses très élégantes; il faut juste définir une stratégie pour nmmer les variables et les labels afin de ne pas créer des conflits.

Peut-être aurons-nous un jour des sous-programmes externes appelés par une instruction "call sousprogramme(par1,par2,...)", mais ça, c'est une autre histoire...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





#INCLUDE Empty
MessageSujet: Re: #INCLUDE   #INCLUDE Empty

Revenir en haut Aller en bas
 
#INCLUDE
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos souhaits d'amélioration de Panoramic-
Sauter vers: