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 06-08-2010 11:41:57

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] Connaître la structure d'une datawindow

Bonjour à tous,

Je suis sur PB9 et je souhaiterai connaître la structure de la datawindow en cours d'analyse.

Par exemple, j'ai la dw_1 qui contient les champs A, B, C et D. Je souhaiterai boucler sur ces 4 champs de
manière à vérifier pour chacun d'entre eux une caractéristique (par exemple, s'ils sont en gras).

Comment puis-je faire cela ?

Merci.


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 06-08-2010 12:04:29

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5122
Pépites: 97,200
Banque: 2,147,483,647

Re: [RESOLU] Connaître la structure d'une datawindow

Exemple de script pour boucler sur les colonnes :

Code: pb

ll_count = Long ( dw_1.Describe( 'DataWindow.Column.Count' ) )
For ll_cpt = 1 To ll_count
  
  ls_colname  = Lower( dw_1.Describe( '#' + String( ll_cpt ) + '.Name' ) )
    
Next

N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#3 06-08-2010 12:06:14

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] Connaître la structure d'une datawindow

Merci erasorz, c'est exactement ce que je cherchais, cependant pour les computed field, comment puis-je
faire ?


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 06-08-2010 12:34:12

Yanis  
Modérateur
Lieu: paris
Date d'inscription: 16-06-2010
Messages: 349
Pépites: 665
Banque: 150

Re: [RESOLU] Connaître la structure d'une datawindow

salut,

     il existe une méthode qui te permet d'obtenir la liste complète des champs de la datawindow
     
     

Code: pb

   String   ls_value
     ls_value = dw_1.describe ( "datawindow.objects")


    La chaine retounée comprend tous les champs ( label , data , compute filed etc. ) séparé par une tabulation. A toi de découper cette chaine pour éliminer les champs label etc ( ex : si tu as respecté le nommage des champs label avec _t  à la fin il est facile de les retirer) et ne prendre que ce qui t'interress

    NB : Attention le mot objects prend un S dans ce cas

Cdt
Yanis

Dernière modification par Yanis (06-08-2010 12:34:30)

Hors ligne

 

#5 06-08-2010 12:55:30

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] Connaître la structure d'une datawindow

Merci beaucoup Yanis pour cette réponse, je pourrai ainsi résoudre mon problème !

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

 

#6 06-08-2010 13:48:27

Yanis  
Modérateur
Lieu: paris
Date d'inscription: 16-06-2010
Messages: 349
Pépites: 665
Banque: 150

Re: [RESOLU] Connaître la structure d'une datawindow

salut,
     Voici un script pb qui te permettra de faire ce que tu désire

Code: pb

string    ls_list_object 
integer  li_pos 
integer  li_pos_debut 
String    ls_nom_col

ls_list_object = dw_column_list.describe ( "datawindow.objects" ) 
li_pos = pos ( ls_list_object, char ( 9) ) 
li_pos_debut = 1
do while li_pos > 0 
  ls_nom_col = mid ( ls_list_object , li_pos_debut , li_pos -  li_pos_debut ) 
  ls_nom_col = trim (ls_nom_col ) 
  Choose case dw_column_list.describe ( ls_nom_col + ".type" ) 
    Case "text"
      //.............
      //.............
      
    Case "column"
      //.............
      //.............
      
    Case "compute"
      //.............
      //.............
  End choose
  li_pos ++
  li_pos_debut = li_pos
  li_pos = pos ( ls_list_object , char ( 9) , li_pos ) 
loop


cdt
Yanis

Hors ligne

 

#7 06-08-2010 14:44:57

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] Connaître la structure d'une datawindow

Yanis a écrit:

salut,
     Voici un script pb qui te permettra de faire ce que tu désire

Code: pb

string    ls_list_object 
integer  li_pos 
integer  li_pos_debut 
String    ls_nom_col

ls_list_object = dw_column_list.describe ( "datawindow.objects" ) 
li_pos = pos ( ls_list_object, char ( 9) ) 
li_pos_debut = 1
do while li_pos > 0 
  ls_nom_col = mid ( ls_list_object , li_pos_debut , li_pos -  li_pos_debut ) 
  ls_nom_col = trim (ls_nom_col ) 
  Choose case dw_column_list.describe ( ls_nom_col + ".type" ) 
    Case "text"
      //.............
      //.............
      
    Case "column"
      //.............
      //.............
      
    Case "compute"
      //.............
      //.............
  End choose
  li_pos ++
  li_pos_debut = li_pos
  li_pos = pos ( ls_list_object , char ( 9) , li_pos ) 
loop


cdt
Yanis

Merci beaucoup Yanis pour ta réponse complète


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

 

Pied de page des forums

Propulsé par FluxBB 1.2.22