Répétez apres moi :J'aime PBAdonf. J'aime PBAdonf. J'aime PBAdonf.

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.

#1 10-02-2015 16:57:33

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

[RESOLU] Présentation des variables

Je reviens sur le sujet du post
http://pbadonf.fr/forum/viewtopic.php?pid=31576#p31576

qui donnait la manière d'ajouter une page d'onglet pour présenter les variables.

Code: pb

String is_toto descriptor "pb_format"="DataType=string~tGroup=PBaDonf~tDivider=Astuce 1~tLabel=Combien de pépites pour chrnico" = "1000 pépites"

Dans les exemples plus complet qui ont suivis je n'ai pas trouvé une liste déroulante personnalisée

Exemple :

Une variable peut prendre trois valeurs A, B ,C

Est'il possible de construire une liste déroulante avec ses propres valeurs A, B, C ?
Permettant ainsi aux descendants de choisir l'une d'entres elles.

Dernière modification par Dadone (04-06-2015 13:51:39)

Hors ligne

 

#2 11-02-2015 09:47:21

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

Re: [RESOLU] Présentation des variables

Cela semblait intéressant comme astuce mais dans les faits cela n'est pas opérationnel car il y a trop de dysfonctionnements que l'on ne maîtrise pas.
Par exemple la page d'onglet personnalisée peut ne pas apparaître et on a aucune idée de la raison et encore une initialisation des variables "aléatoires".

Dernière modification par Dadone (11-02-2015 11:41:21)

Hors ligne

 

#3 21-04-2015 08:10:42

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

Re: [RESOLU] Présentation des variables

En lisant le post de xlat on a le code suivant :

Code: pb

//EditMenu
string is_PopupMenu descriptor  "pb_format"="Group=Edits~tStyle=EditMenu~tLabel=Mask~tItems=Text1|Text2~tValues=Val1|Val2"


Il y a bien des valeurs personnalisées, donc je pense que cela doit être possible de faire de même mais en changeant le style avec un mot clé qui spécifie que l'on a une liste déroulante.

J'ai essayé plusieurs mots clé  :
Style=DropDownListBox
Style=DropDown
Style=Ddlb

aucun n'a fonctionné.
Personne n'a une idée ?

Hors ligne

 

#4 22-04-2015 12:16:57

_francois_  
Bienfaiteur du site
Lieu: TOULOUSE
Date d'inscription: 25-03-2010
Messages: 151
Pépites: 178,983,268,111
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Présentation des variables

Pour les listes déroulantes personnalisées j'ai utilisé ça

Style=SingleChoice

Code: pb

integer  ii_quel_prm descriptor "pb_format"="Group=Liaison paramètres~tLabel=Numéro de valeur~tStyle=SingleChoice~tItems=Valeur 1|Valeur 2~tValues=1|2" = 1

Dernière modification par _francois_ (22-04-2015 12:18:38)

Hors ligne

 

#5 22-04-2015 15:17:40

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

Re: [RESOLU] Présentation des variables

_francois_ a écrit:

Pour les listes déroulantes personnalisées j'ai utilisé ça

Style=SingleChoice

Code: pb

integer  ii_quel_prm descriptor "pb_format"="Group=Liaison paramètres~tLabel=Numéro de valeur~tStyle=SingleChoice~tItems=Valeur 1|Valeur 2~tValues=1|2" = 1

Super le mot clé est bien  "SingleChoice" et  cela fonctionne !

Merci !

Mais j'ai une autre question  :

Si j'ai plusieurs degrés d'héritage cela fonctionne pour le premier degré avec la méthodologie en edit source pour la déclaration des propriétés.

En revanche, pour le second degré d'héritage même en utilisant une classe intermédiaire destinée uniquement à la déclaration des variables  (donc utilisée en edit source) j'ai une mauvaise initialisation des données dans les descendants uniquement pour ces variables (les autres déclarées dans le premier degré d'héritage continuent a être correctement initialisées).

Pour contourner ce dysfonctionnement, j'ai déclaré l'ensenble des variables dans le premier degré d'héritage, cela fonctionne mais pour la première classe d'héritage il y des propriétées qui ne la concerne pas.

Comment faire pour éviter que s'affiche des propriétés pour une classe qui ne la concerne pas tout en ayant des données correctement initialisées ?

Dernière modification par Dadone (22-04-2015 15:18:31)

Hors ligne

 

#6 23-04-2015 07:24:21

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] Présentation des variables

Ce n'est pas lié à cette remarque d'xlat (le point "juste après le global") ?


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#7 23-04-2015 09:40:49

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

Re: [RESOLU] Présentation des variables

seki a écrit:

Ce n'est pas lié à cette remarque d'xlat (le point "juste après le global") ?

J'ai respecté cette consigne.

Dans les faits les variables ne sont pas initialisées et donc possèdent la valeur nulle.

Hors ligne

 

#8 21-05-2015 11:49:55

_francois_  
Bienfaiteur du site
Lieu: TOULOUSE
Date d'inscription: 25-03-2010
Messages: 151
Pépites: 178,983,268,111
Banque: 9,223,372,036,854,776,000

Re: [RESOLU] Présentation des variables

Je n'ai pas rencontré de soucis pour ma part sur l'héritage sur plusieurs niveaux (PB 12.5)

D'abord ma classe de base pour les custom visual class
u_customvisual_base
Me sert aux déclarations de premier niveau

Code: pb

forward
global type u_customvisual_base from userobject
end type
end forward

global type u_customvisual_base from userobject
public    boolean  ib_ancrage_haut descriptor "pb_format"="DataType=boolean~tGroup=Ancrage~tDivider=Ancrage~tLabel=En haut" = true
public    boolean  ib_ancrage_bas descriptor "pb_format"="DataType=boolean~tGroup=Ancrage~tLabel=En bas" = false
public    boolean  ib_ancrage_droite descriptor "pb_format"="DataType=boolean~tGroup=Ancrage~tLabel=A droite" = false
public    boolean  ib_ancrage_gauche descriptor "pb_format"="DataType=boolean~tGroup=Ancrage~tLabel=A gauche" = true
public    boolean  ib_redim_pct_hauteur descriptor "pb_format"="DataType=boolean~tGroup=Ancrage~tDivider=Redimensionner la taille du contrôle~tLabel=En pourcentage de la hauteur" = false
public    boolean  ib_redim_pct_largeur descriptor "pb_format"="DataType=boolean~tGroup=Ancrage~tLabel=En pourcentage de la largeur" = false

public    boolean  ib_pos_rel_hauteur descriptor "pb_format"="DataType=boolean~tGroup=Ancrage~tDivider=Postionnement relatif~tLabel=non utilisé" = false
public    boolean  ib_pos_rel_largeur descriptor "pb_format"="DataType=boolean~tGroup=Ancrage~tLabel=non utilisé" = false
integer width = 571
integer height = 600
long backcolor = 67108864
string text = "none"
long tabtextcolor = 33554432
long picturemaskcolor = 536870912
end type
global u_customvisual_base u_customvisual_base

on u_customvisual_base.create
end on

on u_customvisual_base.destroy
end on


Puis mon u_customvisual qui me sert pour la partir graphique

Code: pb

forward
global type u_customvisual from u_customvisual_base
end type
end forward

global type u_customvisual from u_customvisual_base
end type
global u_customvisual u_customvisual

type variables
private  long    il_dist_haut = 0
private  long    il_dist_bas = 0
private  long    il_dist_gauche = 0
private  long    il_dist_droite = 0
private  dec{5}  idc_pct_hauteur_objet = 0
private  dec{5}  idc_pct_largeur_objet = 0
private  long    il_taille_controle_origine
private  dec{5}  idc_pos_rel_haut
private  dec{5}  idc_pos_rel_bas
private  dec{5}  idc_pos_rel_gauche
private  dec{5}  idc_pos_rel_droite
end variables

forward prototypes
public subroutine of_resize ()
public subroutine of_get_ancrage_controle (ref s_ancrage astr_ancrage)
public subroutine of_get_dist_controle (ref s_distance_controle astr_dist)
public function integer resize (integer w, integer h)
public subroutine of_get_mesures (boolean ab_constructor)
public function integer move (integer x, integer y)
end prototypes


Puis une classe héritée de u_customvisual (pas de u_customvisual_base)
Elle me sert à la déclaration des variables pour le "second" niveau

Code: pb

forward
global type u_barre_status_base from u_customvisual
end type
end forward

global type u_barre_status_base from u_customvisual
long  il_couleur_texte_normal descriptor "pb_format" = "Divider=Couleur de base (N)ormal~tDataType=long~tGroup=Statut~tStyle=Color~tLabel=Texte"
long  il_couleur_fond_normal descriptor "pb_format" = "DataType=long~tGroup=Statut~tStyle=Color~tLabel=Fond"
long  il_couleur_texte_erreur descriptor "pb_format" = "Divider=Couleur message d'(E)rreur~tGroup=Statut~tDataType=long~tStyle=Color~tLabel=Texte"
long  il_couleur_fond_erreur descriptor "pb_format" = "DataType=long~tGroup=Statut~tStyle=Color~tLabel=Fond"
long  il_couleur_texte_succes descriptor "pb_format" = "Divider=Couleur message de (S)uccès~tDataType=long~tGroup=Statut~tStyle=Color~tLabel=Texte"
long  il_couleur_fond_succes descriptor "pb_format" = "DataType=long~tGroup=Statut~tStyle=Color~tLabel=Fond"
string    is_quelle_base descriptor "pb_format"="DataType=boolean~tGroup=Boutons~tLabel=Base Habilitations~tStyle=SingleChoice~tItems=GED|Métier~tValues=G|M" = "M"

boolean  ib_afficher_bouton_ok descriptor "pb_format" = "Divider=Bouton Valider~tDataType=boolean~tGroup=Boutons~tLabel=Afficher le bouton"
string  is_objet_bouton_ok descriptor "pb_format" = "DataType=string~tGroup=Boutons~tStyle=PBObject~tSystemType=Userobject~tLabel=Objet bouton"
string  is_reagit_clavier_ok descriptor "pb_format" = "DataType=string~tGroup=Boutons~tLabel=Réagit à la touche~tStyle=SingleChoice~tItems=(Aucune)|Entrée|Echap~tValues=A|R|E" = "R"
string  is_event_ok descriptor "pb_format" = "DataType=string~tGroup=Boutons~tLabel=Event déclenché" = "ue_click_ok"
long    il_id_action_ok  descriptor "pb_format" = "DataType=long~tGroup=Boutons~tLabel=id_action pour contrôle habilitations (0 si pas d'action)" = 0
boolean  ib_afficher_bouton_cancel descriptor "pb_format" = "Divider=Bouton Fermer~tDataType=boolean~tGroup=Boutons~tLabel=Afficher le bouton"
string  is_objet_bouton_cancel descriptor "pb_format" = "DataType=string~tGroup=Boutons~tStyle=PBObject~tSystemType=Userobject~tLabel=Objet bouton"
boolean  ib_fermer_auto descriptor "pb_format" = "DataType=boolean~tGroup=Boutons~tLabel=Fermeture automatique de la fenêtre" = true
string  is_reagit_clavier_cancel descriptor "pb_format" = "DataType=string~tGroup=Boutons~tLabel=Réagit à la touche~tStyle=SingleChoice~tItems=(Aucune)|Entrée|Echap~tValues=A|R|E" = "E"
string  is_event_cancel descriptor "pb_format" = "DataType=string~tGroup=Boutons~tLabel=Event déclenché" = "ue_click_annuler"
long    il_id_action_cancel  descriptor "pb_format" = "DataType=long~tGroup=Boutons~tLabel=id_action pour contrôle habilitations (0 si pas d'action)" = 0
boolean  ib_afficher_bouton_autre descriptor "pb_format" = "Divider=Troisième bouton~tDataType=boolean~tGroup=Boutons~tLabel=Afficher le bouton"
string  is_objet_bouton_autre descriptor "pb_format" = "DataType=string~tGroup=Boutons~tStyle=PBObject~tSystemType=Userobject~tLabel=Objet bouton"
string  is_reagit_clavier_autre descriptor "pb_format" = "DataType=string~tGroup=Boutons~tLabel=Réagit à la touche~tStyle=SingleChoice~tItems=(Aucune)|Entrée|Echap~tValues=A|R|E" = "A"
string  is_event_autre descriptor "pb_format" = "DataType=string~tGroup=Boutons~tLabel=Event déclenché" = "ue_click_autre"
long    il_id_action_autre  descriptor "pb_format" = "DataType=long~tGroup=Boutons~tLabel=id_action pour contrôle habilitations (0 si pas d'action)" = 0
boolean  ib_afficher_bouton_quatre descriptor "pb_format" = "Divider=Quatrième bouton~tDataType=boolean~tGroup=Boutons~tLabel=Afficher le bouton"
string  is_objet_bouton_quatre descriptor "pb_format" = "DataType=string~tGroup=Boutons~tStyle=PBObject~tSystemType=Userobject~tLabel=Objet bouton"
string  is_reagit_clavier_quatre descriptor "pb_format" = "DataType=string~tGroup=Boutons~tLabel=Réagit à la touche~tStyle=SingleChoice~tItems=(Aucune)|Entrée|Echap~tValues=A|R|E" = "A"
string  is_event_quatre descriptor "pb_format" = "DataType=string~tGroup=Boutons~tLabel=Event déclenché" = "ue_click_quatre"
long    il_id_action_quatre  descriptor "pb_format" = "DataType=long~tGroup=Boutons~tLabel=id_action pour contrôle habilitations (0 si pas d'action)" = 0
boolean  ib_afficher_bouton_cinq descriptor "pb_format" = "Divider=Cinquième bouton~tDataType=boolean~tGroup=Boutons~tLabel=Afficher le bouton"
string  is_objet_bouton_cinq descriptor "pb_format" = "DataType=string~tGroup=Boutons~tStyle=PBObject~tSystemType=Userobject~tLabel=Objet bouton"
string  is_reagit_clavier_cinq descriptor "pb_format" = "DataType=string~tGroup=Boutons~tLabel=Réagit à la touche~tStyle=SingleChoice~tItems=(Aucune)|Entrée|Echap~tValues=A|R|E" = "A"
string  is_event_cinq descriptor "pb_format" = "DataType=string~tGroup=Boutons~tLabel=Event déclenché" = "ue_click_cinq"
long    il_id_action_cinq  descriptor "pb_format" = "DataType=long~tGroup=Boutons~tLabel=id_action pour contrôle habilitations (0 si pas d'action)" = 0
boolean  ib_afficher_redim descriptor "pb_format" = "Divider=Divers~tDataType=boolean~tGroup=Statut~tLabel=Autoriser le redimensionnement" = true
string    is_position_bouton descriptor "pb_format" = "DataType=string~tGroup=Statut~tLabel=Positionnement des boutons~tStyle=SingleChoice~tItems=Droite|Centré|Gauche~tValues=D|C|G" = "D"
boolean  ib_afficher_texte_stat descriptor "pb_format" = "DataType=boolean~tGroup=Statut~tLabel=Afficher le texte du statut" = true
end type
global u_barre_status_base u_barre_status_base

on u_barre_status_base.create
call super::create
end on

on u_barre_status_base.destroy
call super::destroy
end on


Et enfin ma dernière classe pour la partie graphique de mon "second niveau"

Code: pb

forward
global type u_barre_status from u_barre_status_base
end type
type st_status from u_statictext within u_barre_status
end type
type p_resize from u_picture within u_barre_status
end type
end forward

global type u_barre_status from u_barre_status_base
integer width = 1833
integer height = 104
long backcolor = 27943989
boolean ib_ancrage_haut = false
boolean ib_ancrage_bas = true
boolean ib_ancrage_droite = true
long il_couleur_texte_normal = 16777215
long il_couleur_fond_normal = 27943989
long il_couleur_texte_erreur = 16777215
long il_couleur_fond_erreur = 25198847
long il_couleur_texte_succes = 16777215
long il_couleur_fond_succes = 23565379
boolean ib_afficher_bouton_ok = true
string is_objet_bouton_ok = "u_bouton_valider"
boolean ib_afficher_bouton_cancel = true
string is_objet_bouton_cancel = "u_bouton_fermer"
event ue_click_annuler ( )
event ue_click_ok ( )
st_status st_status
p_resize p_resize
end type
global u_barre_status u_barre_status

type variables
private:
long    il_off_x, il_off_y, il_width_avant_resize, il_height_avant_resize
boolean  ib_mouse_over_redim = false
boolean  ib_resize_fenetre = false
long    il_largeur_de_base, il_hauteur_de_base
ulong    iul_hdc_mdi, iul_hdc_parent, iul_handle_parent, iul_handle_mdi
s_rect  istr_rect_mdi, istr_rect_parent
u_bouton_status_bar iuo_bouton_ok
u_bouton_status_bar iuo_bouton_cancel
u_bouton_status_bar iuo_bouton_autre
u_bouton_status_bar iuo_bouton_quatre
u_bouton_status_bar iuo_bouton_cinq
boolean  ib_fenetre_child = false
end variables

forward prototypes
public subroutine of_set_msg (string as_texte, string as_statut)
public function string classname ()
public subroutine of_active_bouton (string as_lequel, boolean ab_active)
end prototypes


En espérant que ça puisse t'aiguiller et désolé pour le retard de réponse.

Hors ligne

 

#9 04-06-2015 13:53:18

Dadone  
Membre Power Geek
Lieu: Avon (Seine et Marne)
Date d'inscription: 19-02-2007
Messages: 252
Pépites: 985
Banque: 0
Site web

Re: [RESOLU] Présentation des variables

Merci pour la réponse.
Je pensais avoir fait de même sans succes.
J'ai réessayé sur une nouvelle fois cela semble fonctionner.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22