Quoi, tu ne connais pas PB ? Va falloir parcourir tout le forum alors !

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.
  • Index
  •  » Powerscripts
  •  » [RESOLU] Argument de type fenêtre dynamique dans une fonction

#1 15-01-2011 15:06:07

Doctor Z  
Moderador
Award: PanchoeNacho
Lieu: Vale Figueira (Lisbonne)
Date d'inscription: 30-05-2006
Messages: 756
Pépites: 1,003,082
Banque: 877,135,234,297,804

[RESOLU] Argument de type fenêtre dynamique dans une fonction

Bonjour à tous,

Je souhaite passer un certain type de fenêtre à une fonction, ce type de fenêtre va être différent
en fonction des cas de figure.

En effet, je voudrais passer à ma fonction f_xxx, tantôt la fenêtre w_aaa, tantôt, la fenêtre w_bbb
ou bien encore w_ccc.

Comment puis-je déclarer un tel paramêtre dans la fonction f_xxx, sachant que si je déclare un
paramêtre de type window, cela sera incorrect ? Par ailleurs, si je déclare un argument de type
w_aaa, cela va fonctionner pour la fenêtre w_aaa mais pas pour les autres (w_bbb et w_ccc).
Comment puis-je faire ?

Par avance, merci.

Pour info, je suis sous PB9.

Doctor Z.


http://www.userbars.com/i/543606.gif
Olivença, l'oubliée
Si tu es alentejane, que Dieu te bénisses, si tu ne l'es pas, que Dieu te pardonnes.

Hors ligne

 

#2 16-01-2011 20:24:13

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: [RESOLU] Argument de type fenêtre dynamique dans une fonction

Salut,
tout dépend de ce que tu vas faire dans la fonction.
tu peux utiliser un type window et interroger la classe de ton objet dans la fonction, petit exemple:

Code: pb

//function f_xxxx( window aw_primitive )
choose case aw_primitive.classname()
   case "w_aaa"  // accés à une propriété connaissant le type réel
      w_aaa lw_une_instance_aaa
      lw_une_instance_aaa = aw_primitive
      lw_une_instance_aaa.is_une_proprieté = "test"
      lw_une_instance_aaa.wf_une_fonction_aaa( 'blablabla' ) 
   case "w_bbb"  // appel dynamique à une méthode
      aw_primitive.DYNAMIC wf_une_fonction( "test") 
   case else messagebox("f_xxxx", aw_primitive.classname() + " n'est ni w_aaa, ni w_bbb !")
end choose


Maintenant si c'est pour créer dynamiquement une instance de fenetre tu peux utiliser la fonction system open.


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#3 16-01-2011 20:38:37

Doctor Z  
Moderador
Award: PanchoeNacho
Lieu: Vale Figueira (Lisbonne)
Date d'inscription: 30-05-2006
Messages: 756
Pépites: 1,003,082
Banque: 877,135,234,297,804

Re: [RESOLU] Argument de type fenêtre dynamique dans une fonction

Bonsoir,

Avant tout chose merci pour ta réponse.

En fait, je souhaite faire une fonction générique qui permette d'ouvir une fenêtre particulière en fonction
de l'endroit où cette même fonction f_xxx.

J'avais d'abord imaginer un système avec un CHOOSE CASE et en fonction de la fenêtre, dans laquelle
elle est appelé, j'aurai ouvert w_aaa, w_bbb ou bien w_ccc.

M'étant que cela pourrait vite devenir relativement complexe (si j'ai 30 fenêtre, ça va commencer à
devenir pénible pour ce retrouver dans le CHOOSE CASE de la fonction f_xxxx), du coup c'est pour cela
que je demandais s'il était possible d'avoir un type de fenêtre dynamique.

Déjà je vais essayer ce que tu m'as donner, je vais tester cela pour voir ce que cela donne.

Encore une fois merci.

Doctor Z.


http://www.userbars.com/i/543606.gif
Olivença, l'oubliée
Si tu es alentejane, que Dieu te bénisses, si tu ne l'es pas, que Dieu te pardonnes.

Hors ligne

 

#4 17-01-2011 09:09:22

shahin  
Modérateur
Award: bf
Lieu: val de marne
Date d'inscription: 26-09-2006
Messages: 938
Pépites: 8,675,050,269
Banque: 16,218,225,127,617

Re: [RESOLU] Argument de type fenêtre dynamique dans une fonction

Pour ouvrir une fenêtre dynamiquement, c'est déjà prévu.

PB a écrit:

window w_to_open
string s_w_name
..
Open(w_to_open, s_w_name)

D'autre part, t u devrait avoir un ancêtre commun afin de pouvoir passer facilement des messages à tes fenêtres


never let people work on more than one thing at once.

Hors ligne

 

#5 17-01-2011 09:54:24

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: [RESOLU] Argument de type fenêtre dynamique dans une fonction

j'appuis la remarque de shahin surtout si le nombre de fenêtre doit évoluer, utiliser du code générique pourra nécessiter quelques aménagement de code mais ponctuellement, tandis que l'utilisation du "choose case" n'est qu'une bouée de secours, à éviter pour traverser la mer.


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#6 20-01-2011 09:32:45

Doctor Z  
Moderador
Award: PanchoeNacho
Lieu: Vale Figueira (Lisbonne)
Date d'inscription: 30-05-2006
Messages: 756
Pépites: 1,003,082
Banque: 877,135,234,297,804

Re: [RESOLU] Argument de type fenêtre dynamique dans une fonction

xlat a écrit:

j'appuis la remarque de shahin surtout si le nombre de fenêtre doit évoluer, utiliser du code générique pourra nécessiter quelques aménagement de code mais ponctuellement, tandis que l'utilisation du "choose case" n'est qu'une bouée de secours, à éviter pour traverser la mer.

Bonjour à tous,

Oui effectivement j'ai du code générique et si un jour je rajoute une fenêtre, je n'aurai qu'à invoquer la fonction générique
et rien de plus.

Je méconnaissai totalement cette autre syntaxe du Open ; on se demande à quoi peuvent bien servir les choses jusqu'au
jour où nous en avons besoin

Merci pour votre aide, je clos le sujet.

Doctor Z.


http://www.userbars.com/i/543606.gif
Olivença, l'oubliée
Si tu es alentejane, que Dieu te bénisses, si tu ne l'es pas, que Dieu te pardonnes.

Hors ligne

 
  • Index
  •  » Powerscripts
  •  » [RESOLU] Argument de type fenêtre dynamique dans une fonction

Pied de page des forums

Propulsé par FluxBB 1.2.22