version 6.0
Chercher process (nom{; *}) Numérique
Paramètre | Type | Description | |
nom | Alpha | Nom du process duquel récupérer le numéro | |
* | * | Retourner le numéro du process serveur | |
Résultat | Numérique | Numéro du process |
Description
La commande Chercher process retourne le numéro du process dont vous passez le nom dans nom. Si aucun process n'est trouvé, Chercher process retourne 0.
Le paramètre optionnel * vous permet, à partir de 4D Client, de récupérer le numéro d'un process s'exécutant sur le serveur, c'est-à-dire une procédure stockée. Dans ce cas, la valeur retournée est négative. Cette option est particulièrement utile dans le cadre de l'utilisation des commandes LIRE VARIABLE PROCESS et ECRIRE VARIABLE PROCESS. Pour plus d'informations, reportez-vous à la description de ces commandes.
Si la commande est exécutée avec le paramètre * à partir d'un process tournant sur le poste serveur, la valeur retournée est positive.
Exemple
Vous créez une palette flottante, fonctionnant dans un process séparé, dans lequel vous implémentez vos propres outils pour interagir avec l'environnement Structure. Par exemple, quand vous sélectionnez un élément dans une liste hérarchique de mots-clés, vous voulez coller du texte dans la fenêtre de premier plan du mode Structure. Pour cela, vous pouvez utiliser le presse-papiers, mais l'événement de collage doit se passer dans le process Structure. La petite fonction qui suit retourne le numéro du process de Structure (s'il est actif) :
` Méthode projet Numéro process Structure ` Numéro process Structure -> Entier long ` Numéro process Structure -> Numéro du process de Structure $0:=Chercher process(Lire chaine dans liste(170;3)) ` Le nom du process Structure est stocké dans la ressource 'STR#" ID=170, chaîne #3 dans 4D ` Note: ceci peut ne pas fonctionner si la ressource est modifiée dans l'avenir
Avec cette fonction, la méthode projet listée ci-dessous colle le texte reçu en paramètre dans la fenêtre de premier plan du mode Structure (si c'est possible) :
` Méthode projet COLLER TEXTE EN STRUCTURE ` COLLER TEXTE EN STRUCTURE ( Texte) ` COLLER TEXTE EN STRUCTURE ( Texte à coller dans la fenêtre de Structure de premier plan ) C_TEXTE($1) C_ENTIER LONG($vlStructurePID;$vlCompte) $vlStructurePID:=Numero process Structure Si ($vlStructurePID # 0) ` Mettre le texte dans le presse-papiers ECRIRE TEXTE DANS PRESSE PAPIERS($1) ` Générer un événement Ctrl-V / Command-V GENERER FRAPPE CLAVIER(Code ascii("v");Masque touche commande;$vlStructurePID) ` Appeler répétitivement ENDORMIR PROCESS pour que le minuteur puisse passer ` l'événement au process Structure Boucle ($vlCompte;1;5) ENDORMIR PROCESS(Numero du process courant;1) Fin de boucle Fin de si
Référence
ECRIRE VARIABLE PROCESS, INFORMATIONS PROCESS, LIRE VARIABLE PROCESS, Statut du process.