Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Connaître le nom d'un objet dans une hierarchie d'objets

0000001739     -      28/07/2016
Obsolète

Il est souvent demandé au support Mercator les noms des objets composants les écrans de Mercator. Cette question n'a pas de raison d'être dans la mesure où Visual FoxPro offre en tant que tel un système permettant d'énumérer tous les objets au sein d'un niveau hierarchique dans un formulaire.

Chaque formulaire ou sous-élement dans la hiérarchie dispose de la collection controls, qui contient l'ensemble des contrôles (objets) placés à ce niveau. La fonction stop permet ensuite simplement d'afficher le nom obtenu.

Exemples :

Pour un écran de ventes

stop(ventes.controls(1).name)
stop(ventes.controls(2).name)
stop(ventes.controls(3).name)
...

Pour l'onglet complément de la fiche articles

stop(f_stock.pageframe.complement.controls(1).name)
stop(f_stock.pageframe.complement.controls(2).name)
...


Pour énumérer l'ensemble des objets sur un niveau hiérarchique, il suffit d'exécuter un code semblable à celui-ci, qui produira un fichier 'c:\test\objets.txt' contenant le nom de tous les objets.

delete file 'c:\test\objets.txt'
local i_ctl
for i_ctl=1 to f_stock.pageframe.complement.controlCount
    strtofile(f_stock.pageframe.complement.controls(m.i_ctl).name+chr(13)+chr(10),'c:\test\objets.txt',1)
endfor
stop('OK')



Dans vos modules, nous vous déconseillons d'adresser les objets via la collection controls(). En effet, l'ordre dans la collection peut être modifié au gré des nouvelles versions de Mercator, tandis que les noms d'objets ne varieront pas.

 

Exemple :

  • f_stock.pageframe.complement.controls(1).visible = .F. -> PAS OK !
  • f_stock.pageframe.complement.num_serie.visible = .F. -> OK !


 

Pour connaître le nom de la fenêtre active, il suffit de paramétrer une touche de fonction dont la chaîne de commande est :

stop(wontop())

Ensuite, activer la fenêtre souhaitée et presser la touche ainsi paramétrée.


 

Ces fonctionnalités ne sont pas propres à Mercator, mais sont bel et bien accessibles à tout programmeur Visual Fox Pro.

 

Le support Mercator ne donnera plus les noms des objets demandés, étant donné qu'ils peuvent être obtenus facilement via cette méthode.



Cookies fonctionnels : Cookies nécessaires à l'utilisation du site et cookies de préférence. Ils ne contiennent aucune donnée à caractère personnel. (En savoir plus)

Cookies statistiques : Captation de statistiques liées aux comportements des internautes. (En savoir plus)

Cookies marketing : Pour effectuer le suivi des visiteurs au travers des sites web, à des fins publicitaires. (En savoir plus)

Vous consultez une page relative à une version de Mercator qui n'est plus commercialisée ni supportée.

Mercator est une application .net qui utilise une base de données SQL Server. Les informations sur cette page ne correspondent plus à ces caractéristiques.