Page 1 sur 1

Global ou constantes ?

Publié : sam. 04/juil./2015 19:50
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

Re: Global ou constantes ?

Publié : sam. 04/juil./2015 19:55
par G-Rom
Bonjour est bienvenu , ce choix n'a pas vraiment d'importance.

Re: Global ou constantes ?

Publié : sam. 04/juil./2015 20:01
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:

Re: Global ou constantes ?

Publié : sam. 04/juil./2015 20:11
par majikeyric
Bienvenue Cyrion81 :D

Re: Global ou constantes ?

Publié : sam. 04/juil./2015 20:50
par Micheao
Bienvenu Cyrion81

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

https://www.youtube.com/watch?v=eBu2KMGBOh0

Re: Global ou constantes ?

Publié : sam. 04/juil./2015 21:09
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.

Re: Global ou constantes ?

Publié : sam. 04/juil./2015 22:31
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.

Re: Global ou constantes ?

Publié : dim. 05/juil./2015 8:08
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.

Re: Global ou constantes ?

Publié : dim. 05/juil./2015 8:25
par Fig
Bienvenue Cyrion, avec un peu de retard.

Au plaisir de te lire. :D

Re: Global ou constantes ?

Publié : dim. 05/juil./2015 9:17
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

Re: Global ou constantes ?

Publié : dim. 05/juil./2015 9:30
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 ;).