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
» Logiciel de planétarium.
Pseudo-objets GLIST et TAB avec des procédures Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Pseudo-objets GLIST et TAB avec des procédures Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Pseudo-objets GLIST et TAB avec des procédures Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Pseudo-objets GLIST et TAB avec des procédures Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Pseudo-objets GLIST et TAB avec des procédures Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Pseudo-objets GLIST et TAB avec des procédures Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Pseudo-objets GLIST et TAB avec des procédures Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Pseudo-objets GLIST et TAB avec des procédures Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Pseudo-objets GLIST et TAB avec des procédures Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Pseudo-objets GLIST et TAB avec des procédures Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Pseudo-objets GLIST et TAB avec des procédures Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Pseudo-objets GLIST et TAB avec des procédures Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Pseudo-objets GLIST et TAB avec des procédures Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Pseudo-objets GLIST et TAB avec des procédures Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Pseudo-objets GLIST et TAB avec des procédures Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

 

 Pseudo-objets GLIST et TAB avec des procédures

Aller en bas 
4 participants
AuteurMessage
Klaus

Klaus


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

Pseudo-objets GLIST et TAB avec des procédures Empty
MessageSujet: Pseudo-objets GLIST et TAB avec des procédures   Pseudo-objets GLIST et TAB avec des procédures EmptyMer 26 Sep 2012 - 23:17

Avant de mettre ce gros morceau sur mon site internet, j'ai tout mis à disposition s=ur MyDrive.

C'est la version actualisée de GLIST et TAB réalisée à l'aide de procédures. Le programme principal en devient beaucoup plus lisible, et c'est beaucoup plus facile à utiliser. Chaque fonction est exécutée par une procédure avec des paramètres simples, et d'éventuelles valeurs sont retournées avec des variables créées automatiquement au nom de la procédure, éventuellement avec un % ou un $ à la fin, selon les cas.

Un regret: pour le moment, il y a un BUG avec la directive #INCLUDE: si le module inclus par #INCLUDE contient une procédure, on ne peut pas appeler celle-ci depuis le programme principal ! C'est pourquoi il faut inclure mes modules GLIST_SUB.bas et TAB_SUB.bas par copier/coller, à la fin du programme application au lieu d'utiliser #INCLUDE. J'espère que ce sera provisoire.

Essayez demo_TAB_SUB.bas - vous serez surpris !

Voici l'accès:
Site: http://www.mydrive.ch/
Identifiant: panoramic@klausgunther
Mot de passe: panoramic123
Dossier: GLIST et TAB avec SUB

Voici, à titre d'exemple, le programme principal de demo_TAB_SUB.bas:
Code:
' demo_TAB_SUB.bas


height 0,600

TAB_initialize()

TAB_create(20,200,400,40,90,6)    : ' créer le TAB 20 avec 6 onglets
TAB_mode("silent")
TAB_font(20,"Arial Black","BI")  : ' police et attributs pour le TAB 20
TAB_tab_font(20,3,"Arial","U")    : ' police et attributs pour l'onglet 3

TAB_create(30,200,500,250,50,9)  : ' créer le TAB 30 avec 9 onglets
TAB_color(30,255,255,0)          : ' couleur du tab 30
TAB_tab_color(30,5,78,190,230)    : ' couleur de l'onglet 5
TAB_inactive(30,6)                : ' inactiver l'onglet 6

TAB_create(40,100,300,10,150,3)  : ' créer el TAB 40 avec 3 onglets
TAB_TAB_add(30,5,40)              : ' placer le TAB 30 dans l'onglet 5 du TAB 40

' créer les objets qui seront placés dans les différents onglets
alpha 100 : top 100,10 : left 100,10 : caption 100,"Onglet 1 alpha 1"
alpha 101 : top 101,30 : left 101,30 : caption 101,"Onglet 1 alpha 2"
alpha 102 : top 102,60 : left 102,10 : caption 102,"Onglet 3 alpha 3"

edit 300 : top 300,20 : left 300,20 : text 300,"Onglet 3 edit 1"
edit 301 : top 301,50 : left 301,20 : text 301,"Onglet 3 edit 2"
edit 302 : top 302,80 : left 302,20 : text 302,"O. 1 et 3 editg 3"


TAB_label(20,3,"Essai")          : ' remplacer le libellé de l'onglet 3 to TAB 20
TAB_label(20,4,"Test")            : ' remplacer le libellé de l'onglet 4 to TAB 20
TAB_insert(20,2,"Insertion")      : ' insérer un onglet après l'onglet 2
TAB_object_add(20,1,100)          : ' placer l'objet 100 dans onglet 1 de TAB 20
TAB_object_add(20,1,101)          : ' placer l'objet 101 dans onglet 1 de TAB 20
TAB_object_add(20,3,102)          : ' placer l'objet 102 dans onglet 3 de TAB 20
TAB_delete(20,2)                  : ' supprimer onglet 2
TAB_remove(20,1,100)              : ' enlever l'objet 100 de l'onglet 1
TAB_object_add(30,3,300)          : ' placer l'objet 300 dans onglet 3 de TAB 30
TAB_object_add(30,3,301)          : ' placer l'objet 301 dans onglet 3 de TAB 30
                                  : ' placer l'objet 302 dans
TAB_object_add(30,1,302)          : '  onglet 1 de TAB 30
TAB_object_add(30,3,302)          : '  ET dansonglet 3 de TAB 30
TAB_select(30,3)                  : ' sélectionner onglet 3 de TAB 30

TAB_Event_on(30)                  : ' autoriser les évènements sur TAB 30
TAB_Event_on(40)                  : ' autoriser les évènements sur TAB 40

' ajout Nardo26

GLIST_initialize()
GLIST_create(50,8,90,10,190)      : ' créer une GLIST de 8 lignes
color 51,220,220,220              : ' avec une couleur
TAB_GLIST_add(20,3,50)            : ' placer la GLIST 50 dans l'onglet 3 de TAB 20
GLIST_create(60,8,90,10,190)      : ' créer une GLIST de 8 lignes
TAB_GLIST_add(30,3,60)            : ' placer la GLIST 60 dans l'onglet 3 de TAB 30

end


' ============== fin application (ici, programme de démo)

' #INCLUDE "TAB_SUB.bas"
' #INCLUDE "GLIST_SUB.bas"


Les #INCLUDE sont mis en commentaire à la fin du programme pour la raison indiquée ci-dessus. Le module du même nom sur MyDrive contient la totalité du source (2234 lignes).
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Pseudo-objets GLIST et TAB avec des procédures Empty
MessageSujet: Re: Pseudo-objets GLIST et TAB avec des procédures   Pseudo-objets GLIST et TAB avec des procédures EmptyJeu 27 Sep 2012 - 1:14

hello Klaus !
Je viens de récupérer demo_TAB_sub sur mydrive et je retrouve un vieux problème :
impossible de charger TAB_vide.bmp en ligne 986... Wink

Heureusement que j'avais le bmp qui trainait dans un coin...

Une question : pourquoi l'appel de TAB_Initialize tu ne le fait pas dans TAB_create ? on gagnerai un appel... (même remarque pour GLIST)
tu déplaces le test de l'existence TAB_create_exit dans TAB_create pour lancer TAB_Initialize et le tour est joué...
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Jack
Admin
Jack


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

Pseudo-objets GLIST et TAB avec des procédures Empty
MessageSujet: Re: Pseudo-objets GLIST et TAB avec des procédures   Pseudo-objets GLIST et TAB avec des procédures EmptyJeu 27 Sep 2012 - 11:03

@Klaus:
Bizarre.
Ca fait 2 fois que tu me dis qu'un SUB dans un include n'est pas pris en compte.
Pourtant, si je fais ce programme principal:

Code:
dim a$
affiche()
message a$
end
#include "sub.bas"
avec dans le fichier sub.bas:

Code:
sub affiche()
a$="OK"
end_sub
Tout fonctionne !

Est-ce que tu ne serais pas en train d'utiliser directement la version panoramic.exe que je t'avais donné et qui permet de court-circuiter l'éditeur ?
Car dans ce cas, ça ne peut pas fonctionner, il y a l'erreur "157 Call of unknown SUB"

#include étant une directive pour l'éditeur, c'est l'editeur qui inclut le fichier avant de passer le source complet à panoramic.exe
#include est totalement inconnu de panoramic.exe
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Pseudo-objets GLIST et TAB avec des procédures Empty
MessageSujet: Re: Pseudo-objets GLIST et TAB avec des procédures   Pseudo-objets GLIST et TAB avec des procédures EmptyJeu 27 Sep 2012 - 13:13

Je viens de faire le test Embarassed , en effet cela fonctionne... (bizarre que tous le monde ce soit fait piégé et qu'on n'a pas vérifié chacun de notre côté Embarassed )
même en faisant ceci:
Code:
#include "..\..\Lib\sub.bas"
dim a$
affiche()
message a$
end

sub.bas:
Code:
LABEL LibEndSub : GOTO LibEndSub
sub affiche()
  a$="OK"
end_sub
LibEndSub:

Il n'y pas de pb...
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


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

Pseudo-objets GLIST et TAB avec des procédures Empty
MessageSujet: Re: Pseudo-objets GLIST et TAB avec des procédures   Pseudo-objets GLIST et TAB avec des procédures EmptyJeu 27 Sep 2012 - 23:33

@Jack:

J'ai refait les tests et vérifié: il est certain que je n'utilise PAS PANORAMIC.exe. Je suis bien sous l'éditeur V0.24i2. Et j'avais bien le message "157 Call of unknown SUB".

Maintenant, j'ai tout reconstruit et refait les tests, ET CA PASSE !

Je ne comprends absolument pas ce qui se passe, car il n'y a pas d'autre version de Panoramic entretemps, je n'ai pas changé mes sources. Simplement, comme je me suis absenté aujourd'hui, j'ai arrêté l'ordinateur et je l'ai relancé. Et miracle - plus de problème avec les SUB dans des fichiers ajoutés par #INCLUDE !

C'est génial, quoique un peu troublant pour moi. J'ai l'habitude de vérifier les choses, en faisant de petits morceaux de code, un peu à la manière de l'exemple que tu as donné. C'est ce que j'avais fait avant de faire la première mention avec le mot "bug", quoique pas dans la rubrique officielle réservée au signalement des bugs.

Aujourd'hui, je me trouve un peu bête d'avoir suscité tant de remous pour un problème en apparence sans lien direct avec Panoramic.

Il est vrai que les jours précédents, j'avais simplement mis mon système en "veille prolongée" pour pouvoir garder mes utilitaires ouverts, Firefox dans la configuration de recherche en cours, etc. Hier soir, j'ai fait un véritable arrêt, et je viens de tout relancer. Et il n'y a plus de problème. Et dorénavant, c'est ce que je vais faire systématiquement si j'ai l'impression d'avoir découvert une anomalie.

Alors, je te présente mes excuses et je promets d'être encore plus circonspect à l'avenir !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Pseudo-objets GLIST et TAB avec des procédures Empty
MessageSujet: Re: Pseudo-objets GLIST et TAB avec des procédures   Pseudo-objets GLIST et TAB avec des procédures EmptyJeu 27 Sep 2012 - 23:47

@Nardo26

1. Tu as parfaitement raison pour TAB_vide.bmp. J'ai oublié de le mettre dans le dossier sur MyDrive. Voilà qui est rectifié.

2. Pour la fonction d'initialisation, je pourrais effectivement la déplacer dans la fonction "create", et ce qussi bien pour GLIST que pour TAB. Ceci dit, cela n'aurait un sens que si la fonction "create" était systématiquement la première fonction utilisée, ce qui n'est pas forcément le cas. On pourrait par exemple choisir d'utiliser d'abord la fonction "mode" pour déterminer la manière de gérer les erreurs, avant de faire la première création. En fait, il faudrait l'inclure dans toutes les fonctions, en réalité.

J'ai préféré de séparer clairement l'initialisation du système du reste des fonctions, et en cela je suis cohérant avec la façon de gérer d'autres gros groupes de fonctions dans Delphi, par exemple. C'est le cas par exemple des fonction MIDI par KGF.dll, pour nommer que celle-ci. Et pour le moment, la fonction d'initialisation pour GLIST et TAB n'a aucun paramètre, mais cela changera certainement dans un proche avenir, ne serait-ce que pour paramétrer le nombre maxi de pseudo-objets possible (actuellement 20), ou le nombre maxi d'objets sur un seul onglet d'un objet TAB. Là encore, c'est codé en dur actuellement.

C'est donc pour me garder cette souplesse que je préfère rester avec une fonction d'initialisation séparée. Par contre, ce que je vais ajouter rapidement, c'est un test au début des autres fonctions pour vérifier que l'initialisation a bien été faite (ou dans l'initialisation pour interdire un second appel).
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Pseudo-objets GLIST et TAB avec des procédures Empty
MessageSujet: Re: Pseudo-objets GLIST et TAB avec des procédures   Pseudo-objets GLIST et TAB avec des procédures EmptyJeu 27 Sep 2012 - 23:49

@tous:

GLIST et TAB sont pleinement opérationnels. Il suffit d'ajouter, à la fin de votre programme, les lignes suivantes:

pour GLIST:
Code:
#INCLUDE GLIST_SUB.bas

pour TAB (incluant automatiquement GLIST):
Code:
#INCLUDE TAB_SUB.bas
#INCLUDE GLIST_SUB.bas

Toutes les procédures GLIST_xxx et TAB_xxxd sont alors utilisables.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Pseudo-objets GLIST et TAB avec des procédures Empty
MessageSujet: Re: Pseudo-objets GLIST et TAB avec des procédures   Pseudo-objets GLIST et TAB avec des procédures EmptyVen 28 Sep 2012 - 0:29

Je viens d'ajouter des contrôles pour empêcher la double initialisation ainsi que l'emploi des procédures autres que l'initialisation si cette dernière n'est pas encore faite. Simple, mais efficace.

EDIT

J'ai ajouté le fichier TAB_SUB.rtf qui est la doc du pseudo-objet TAB dans cette version, avec les procédures. Cette documentation reprend l'ensemble des procédures utilisables, en expliquant leurs paramètres.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Pseudo-objets GLIST et TAB avec des procédures Empty
MessageSujet: Re: Pseudo-objets GLIST et TAB avec des procédures   Pseudo-objets GLIST et TAB avec des procédures EmptyVen 28 Sep 2012 - 1:45

Klaus a écrit:
@Nardo26

1. Tu as parfaitement raison pour TAB_vide.bmp. J'ai oublié de le mettre dans le dossier sur MyDrive. Voilà qui est rectifié.

2. Pour la fonction d'initialisation, je pourrais effectivement la déplacer dans la fonction "create", et ce aussi bien pour GLIST que pour TAB. Ceci dit, cela n'aurait un sens que si la fonction "create" était systématiquement la première fonction utilisée, ce qui n'est pas forcément le cas.

Hello Klaus!
  1. Pour le Tab_vide, pourquoi tu ne génèrerais pas le fichier si celui-ci est absent ? (un FILE_SAVE d'un picture...) scratch
  2. Je pensais que la fct Create était forcément la 1ère... j'avais zappé "mode" Wink

C'est vraiment cool les GLIST ! Pseudo-objets GLIST et TAB avec des procédures 18

Maintenant que les sub apportent un peu plus de souplesse, il y aurait peut être moyen de revoir GLIST_select_on et GLIST_select_off (choix/définition de la couleur par exemple) Pseudo-objets GLIST et TAB avec des procédures 01
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Invité
Invité




Pseudo-objets GLIST et TAB avec des procédures Empty
MessageSujet: Re: Pseudo-objets GLIST et TAB avec des procédures   Pseudo-objets GLIST et TAB avec des procédures EmptyVen 28 Sep 2012 - 8:35

Klaus a écrit:
J'ai refait les tests et vérifié: il est certain que je n'utilise PAS PANORAMIC.exe. Je suis bien sous l'éditeur V0.24i2. Et j'avais bien le message "157 Call of unknown SUB".
J'ai l'impression que Panoramic s’abîme avec le temps. Je ne sais pas si c'est Panoramic qui est en cause ou Windows. C'est pareil pour les problèmes avec les commentaires. Je remarque aussi qu'à la fermeture d'un programme, il reste souvent une trace dans le gestionnaire de tâche.
Revenir en haut Aller en bas
Klaus

Klaus


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

Pseudo-objets GLIST et TAB avec des procédures Empty
MessageSujet: Re: Pseudo-objets GLIST et TAB avec des procédures   Pseudo-objets GLIST et TAB avec des procédures EmptyVen 28 Sep 2012 - 9:04

@Nardo26:
Qu'est-ce que tu entends par
Citation :
il y aurait peut être moyen de revoir GLIST_select_on et GLIST_select_off (choix/définition de la couleur par exemple)

Il s'agit de la "révélation" qui est définie par la foncton GLIST_revelation(R%). La révélation désigne la manière dont une ligne sélectionnée est affichée. Une ligne est sélectionnée par un clic sur la ligne, ou lar la fonction GLIST_item_select(n%). La paramètre R% de GLIST_revelation peut avoir les valeurs suivantes:
Citation :

0 = pas de révélation
1 = révéler par une flèche "=> "
2 = révéler par écriture en gras
3 = révéler par le écriture en sousligné
4 = révélation par écriture blanche sur fond bleu

Il est très facile à ajouter d'autres révélations, en changeant les couleurs du fond et des caractères pour la révélation, pour des codes 5, 6, ... C'est de ça que tu parles ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Pseudo-objets GLIST et TAB avec des procédures Empty
MessageSujet: Re: Pseudo-objets GLIST et TAB avec des procédures   Pseudo-objets GLIST et TAB avec des procédures EmptyVen 28 Sep 2012 - 12:57

Oui c'est bien de cela que je parle : pouvoir définir une couleur rvb pour la révélation.

Mais on peut aller plus loin:
En partant de ton code des GLISTs, je l'avais adapté pour mes besoins : chaque ligne (même celles qui ne sont pas sélectionnées) avaient des attributs graphiques.
Exemple :


Pseudo-objets GLIST et TAB avec des procédures Ecran_large
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Yannick




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

Pseudo-objets GLIST et TAB avec des procédures Empty
MessageSujet: re   Pseudo-objets GLIST et TAB avec des procédures EmptyVen 28 Sep 2012 - 13:10

@ Nardo26,

Belle interface !Pseudo-objets GLIST et TAB avec des procédures Number-one-45
Revenir en haut Aller en bas
Klaus

Klaus


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

Pseudo-objets GLIST et TAB avec des procédures Empty
MessageSujet: Re: Pseudo-objets GLIST et TAB avec des procédures   Pseudo-objets GLIST et TAB avec des procédures EmptyVen 28 Sep 2012 - 14:54

Bien sûr, Nardo26 ! C'est à cela que servent les attributs graphiques, et c'est la raison du G dans GLIST: Cela signifie GraphicLIST. C'est la procédure GLIST_attributs qui fait cela. Dans la démo, je me suis limité aux attributs 1 )à 3, mais on peut aller jusqu'à 20 attributs différents ( encore une limite à rendre paramétrable par GLIST_initialize...)
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Pseudo-objets GLIST et TAB avec des procédures Empty
MessageSujet: Re: Pseudo-objets GLIST et TAB avec des procédures   Pseudo-objets GLIST et TAB avec des procédures Empty

Revenir en haut Aller en bas
 
Pseudo-objets GLIST et TAB avec des procédures
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Nouvelle version de mon pseudo-objet GLIST
» Nouveau pseudo-objet GLIST utilisable par #INCLUDE
» Liste de contacts avec 2 GLIST synchronisées
» Problème avec ADR() et procédures
» Bug avec les objets MEMO.

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: