Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
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
$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
string ls_dw ls_dw = "d_grid_code_reference" messagebox( "Recherche de la librairie de " + ls_dw , f_getdwlibrairie(ls_dw) )
Hors ligne
Pages: 1