PB à toute heure et à tout moment. (à parcourir avec modération)

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 29-08-2006 09:32:41

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

[SOURCE] Trouver la librairie d'un objet datawindow

Voila une fonction, qui permet de determiner la librairie d'un objet datawindow.
Je l'ai créé dans ce but...surtout lorsqu'on est sur un projet ou il y a plus de 50 pbls...
alors, pour trouver la datawindow d'une dropdowndatawindow, c'est plus pratique et surtout rapide !

Importer cette fonction (attention, ne fonctionne qu'à partir de la version 7 de powerbuilder)
puis tester avec le petit script qui suit

Code: pb

$PBExportHeader$f_getdwlibrairie.srf
$PBExportComments$SKA *** retrouve la librairie de l'objet window
global type f_getdwlibrairie from function_object
end type

forward prototypes
global function string f_getdwlibrairie (string as_dwname)
end prototypes

global function string f_getdwlibrairie (string as_dwname);/**********************************************************************************************/
/* Nom    : f_getdwlibrairie                                             */
/* But    :                                                        */
/* Arguments:                                                        */
/* Appel    :                                                         */
/* Remarques:                                                         */
/* Histo    : SKA                                                       */
/**********************************************************************************************/

String   ls_names, ls_librairie
string   ls_list
string   ls_name, ls_pos
string   ls_library[]
string   ls_infos
long      ll_pos, ll_max, ll_cpt

// construction de la liste des pbls existantes pour le projet en cours
ll_max    = 0
ls_list    = getlibrarylist() // fonction existante depuis pb7
ls_pos    = ','


if len(ls_list) > 0 then
    ll_pos        = pos(ls_list,ls_pos)
    
    do while ll_pos > 0
        ls_name     = left(ls_list,ll_pos - 1)
        ll_max    ++
        ls_library[ll_max]    = ls_name
        
        ls_list    = mid(ls_list,ll_pos + 1, len(ls_list))
        ll_pos    = pos(ls_list,ls_pos)
        
    loop
    
    if len(ls_list) > 1 then
        ll_max    ++
        ls_library[ll_max]    = ls_list
    end if
    
end if


// on commence la recherche à partir de la liste des librairies du projet
ll_max    = upperbound(ls_library)
as_dwname   = as_dwname + char(9)

for ll_cpt = 1 to ll_max
  ls_names = LibraryDirectory(ls_library[ll_cpt], DirDataWindow!)
  ll_pos  = pos(lower(ls_names),lower(as_dwname))
  if ll_pos > 0 then
    ls_librairie = ls_library[ll_cpt]
    exit
  end if
next

if isnull(ls_librairie) or trim(ls_librairie) = '' then
  ls_librairie = "Objet DataWindow non existant"
end if

return ls_librairie
end function

Code: pb

string  ls_dw

ls_dw  = "d_grid_code_reference"
messagebox( "Recherche de la librairie de " + ls_dw , f_getdwlibrairie(ls_dw) )

Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22