Global ou constantes ?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Cyrion81
Messages : 26
Inscription : jeu. 25/juin/2015 20:13

Global ou constantes ?

Message par Cyrion81 »

Bonsoir,
le petit dernier, je n 'ai pas vu d 'endroit ou se présenter, d’où ce choix de forum.
Retraité, autodidacte, bcp de bénévolat (coté informatique) dans diverses associations.
Créateur de petites applications et bases de données ( Access), quelques scripts en python, beau langage, mais créer une interface est une vrai galère
Récemment test de vb2015 en version communauty mais ultra usine a gaz. Quelques 15 de jours, arpentant le net, je découvre par "Pure" hasard PureBasic qui m'a tellement enchanté que dans la foulée j ai pris la licence. mes premiers projets devraient être sur les bases de données et notamment avec sqlite.
Seulement voila, même si c'est un langage simple et performant, il faut quand même mettre les pattes dans le cambouis.
Ma première interrogation :
Lors de l étude de la construction des interfaces, j ai remarqué deux manières de faire, L'une ( notamment dans l aide) en déclarant les fenêtres et gadgets en variables globales, l autre sur diverses applications déclarant ceux ci en constantes Quel est le meilleurs choix ?

Etant le bleu de pureBasic, je serai amené à poster quelques questions et recueillir des conseils , je vous en remercie d'avances
Dernière modification par Cyrion81 le sam. 04/juil./2015 19:55, modifié 1 fois.
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Global ou constantes ?

Message par G-Rom »

Bonjour est bienvenu , ce choix n'a pas vraiment d'importance.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Global ou constantes ?

Message par Kwai chang caine »

Bonjour Cyrion81 et bienvenue chez nous...donc chez toi :D

Les deux méthodes sont utiles et fonctionnent très bien avec PB comme le dit GRom
Mais si par exemple tu créé dynamiquement des gadgets par une boucle, utiliser des variables globales ou même des tableaux globaux, qui seront remplis grâce à la constante #PB_Any devient une évidence.

Si par contre tu créé des gadgets ou fenêtres qui seront pas ou très peu modifié l'avantage des constantes réside dans la fonction Enumeration/EndEnumeration qui te permet de gérer ces constantes automatiquement, voila ce qui me vient à l'idée immédiatement.
Les copains en auront surement d'autres :wink:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
majikeyric
Messages : 602
Inscription : dim. 08/déc./2013 23:19
Contact :

Re: Global ou constantes ?

Message par majikeyric »

Bienvenue Cyrion81 :D
Micheao
Messages : 533
Inscription : dim. 07/déc./2014 10:12
Localisation : Sud-Est

Re: Global ou constantes ?

Message par Micheao »

Bienvenu Cyrion81

Notre ami MicroWeb as fait quelques videos sur les bases de PB :

https://www.youtube.com/watch?v=eBu2KMGBOh0
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Global ou constantes ?

Message par falsam »

Cyrion81 a écrit :Lors de l étude de la construction des interfaces, j ai remarqué deux manières de faire, L'une ( notamment dans l aide) en déclarant les fenêtres et gadgets en variables globales, l autre sur diverses applications déclarant ceux ci en constantes Quel est le meilleurs choix ?
Je confirme ce que viennent de dire mes camarades de jeux sur ce forum, ça n'a aucune importance à partir du moment ou tu t'y retrouves dans tes variables ou constantes.

En faites il y a même trois méthodes

■ Les constantes

Code : Tout sélectionner

Enumeration Window
  #MainForm
EndEnumeration

If OpenWindow(#MainForm, 0, 0, 1024, 768, "Mon application", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)      
  Repeat : Until WaitWindowEvent(10) = #PB_Event_CloseWindow
EndIf
■ Les variables

Code : Tout sélectionner

Mainform = OpenWindow(#PB_Any, 0, 0, 1024, 768, "Mon application", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)      

If Mainform
  Repeat : Until WaitWindowEvent(10) = #PB_Event_CloseWindow
EndIf
■ Les identifiants numériques

Code : Tout sélectionner

if OpenWindow(0, 0, 0, 1024, 768, "Mon application", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)      
  Repeat : Until WaitWindowEvent(10) = #PB_Event_CloseWindow
EndIf
mais les plus courtes ne sont pas forcément les meilleures.

Personnellement, je préfère la première méthode.

Et sinon ...... Bienvenu sur ce forum.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Global ou constantes ?

Message par microdevweb »

Bienvenue Cyrion81,

En général, j'utilise les constantes. Par contre si je crée, des gadgets, des sprites, des images dans un module (dans le but d'une réutilisation) j'utiliserais des variables et #Pb_any car je ne peux pas connaitre les énumérations qui auront été faites dans le programme appelant. Dans le cas également ou je veux mémoriser un objet dans la structure d'une liste, j' utilises également une variable et #Pb_any. Enfin voila c'est ma façon de faire.
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Cyrion81
Messages : 26
Inscription : jeu. 25/juin/2015 20:13

Re: Global ou constantes ?

Message par Cyrion81 »

Je vous remercie de votre accueil, d 'ailleurs je vous connais déjà, "buvant" tuto et explications le long du forum.
Donc pour faire court je vais créer un nouveau post pour vous présenter mon projet qui en est au stage de la conception. Ayant la chance d'avoir des membres experts, cela m évitera peut être quelques erreurs de débutant.
Je fais bcp de choses pour le centre social de mon coin, notamment des petites appli et mon gros travail à été une base de données pour leur recyclerie. Qu'est ce ? un genre de système proche des compagnons d'Emaus . On récupère , on répare, on revends. Avec tout un système de classement, tarif dégressif etc.
la base est "partagée par trois services, la direction, l 'atelier, le magasin de stockage vente.
Il y a une quinzaine d employés qui sont des personnes en phase de reprise de travail après de longues périodes d'inactivité. Donc qui ne connaissent rien en informatique et en gestion de quoi que ce soit. La base de données fonctionne depuis septembre 2014 et a déjà + de 8000 enregistrements.
Mais voila, comme je le précisais au début du post, pour des raisons de licence OEM, tout est à revoir ( sauf pour la recyclerie). Car le centre social gère aussi un bureau de poste local, l'accès à internet sur plusieurs postes, une borne pole emploi, divers services locaux - sociaux, une quinzaine d 'assoc la plus part d'utilité publique. Des ateliers divers cuisine, couture, etc......

Pourquoi je vous parle de cela, tout simplement pour savoir dans quel milieu j'opère.

J'espère publier au bon endroit sans que cela aille en contradiction avec la philosophie du forum.
Avatar de l’utilisateur
Fig
Messages : 1176
Inscription : jeu. 14/oct./2004 19:48

Re: Global ou constantes ?

Message par Fig »

Bienvenue Cyrion, avec un peu de retard.

Au plaisir de te lire. :D
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Global ou constantes ?

Message par Kwai chang caine »

Recyclerie, emmaus. ..que de doux mots à la lecture :D
Remettre en selle les objets, mais aussi les personnes, dans un même temps, une très belle initiative.

Mon épouse et moi même sommes clients et parfois donateurs matériel de ce genre d'établissements, et ceci dans toute la France. ..
Je ne prends jamais de vacances, mais lorsque je doit traverser la France pour x raisons, nous ne concevons pas de ne pas visiter l emmaus du coin.

La recup fait aussi partie de mes passions, sauver un objet est pour moi un de mes grand plaisirs.
Et puis les objets ne se plaignent jamais lorsque je leurs parlent trop, eux !! :mrgreen:

Quand tu récupères et rénoves un objet tu fais 5 actions bénéfiques en une seule :
1/ Tu sauves un objet et tout les efforts et le travail qui a été déjà fait pour le concevoir
2/ Tu participes à la protection de la planète en evitant un déchet de plus
3/ Tu peux te faire un peu d'argent qui arrondiront les fins de mois
4/ Tu fait un heureux qui profitera d'un objet au moins chers, ou même qui pourra l'acquérir alors qu'en neuf il n'aurait pas les moyens
5/ Tu enrichies tes connaissances dans le monde de la technologie et de l'outillage

Je ne crois pas qu'il y ai une autre action qui puisse réunir autant de bienfaits en un seul geste

Que de boulot, sacré projet, je pense que tu as bien choisi.
Pb sait se défendre dans quasi tous les domaines de la prog, et la puissance de ses forums, Fr, Us et Allemands décuple ses possibilités.

Alors à nouveau bienvenue ici
Dernière modification par Kwai chang caine le dim. 05/juil./2015 9:32, modifié 3 fois.
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: Global ou constantes ?

Message par blendman »

Bienvenue Cyrion

Alors, déjà pour certains "objets" tu es obligé de passer par des numéros ou des constantes : Les menus par exemple.

Pour les autres objets, comme les gadgets, je pense que s'ils sont "figés" connus à l'avance, les constantes sont sans doute plus simples à gérer. Si ce sont des gadgets créés dynamiquement, alors l'utilisation de :#pb_any est indiqué.

Après c'est aussi une question de choix et de préférences ;).
Répondre