OVH Cloud OVH Cloud

[WD75] Savoir si une fenêtre existe

6 réponses
Avatar
Roumegou Eric
Bonjour,
Y'a-t-il un moyen de savoir si une fenêtre existe avant de l'appeler
par un Ouvre ?

--
Eric Roumégou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)

6 réponses

Avatar
Pascal F
Roumegou Eric a présenté l'énoncé suivant :
Bonjour,
Y'a-t-il un moyen de savoir si une fenêtre existe avant de l'appeler par un Ouvre ?



Bonjour

je fais le test suivant
si fenetat(mafenetre)=inexistant alors
ouvre(mafenetre)
fin

--
Pascal
Avatar
Ducados
Oui, voici mon code :
// ouverture de la fenêtre "Table_Client"
SI FenEtat(Table_CLIENT)<>Inexistant ALORS
FenEtat(Table_CLIENT,ActifDevant)
SINON
MDIOuvre(Table_CLIENT)
FIN

Salutation, Daniel

"Roumegou Eric" a écrit dans le message de
news:
Bonjour,
Y'a-t-il un moyen de savoir si une fenêtre existe avant de l'appeler
par un Ouvre ?

--
Eric Roumégou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)



Avatar
Roumegou Eric
Dans son message précédent, Pascal F a écrit :
Roumegou Eric a présenté l'énoncé suivant :
Bonjour,
Y'a-t-il un moyen de savoir si une fenêtre existe avant de l'appeler par un
Ouvre ?



Bonjour

je fais le test suivant
si fenetat(mafenetre)=inexistant alors
ouvre(mafenetre)
fin



C'est presque cela
en fait je ne sais pas si mafenetre existe et je ne voudrais pas que
Ouvre(mafenetre) provoque une erreur.

J'explique la situation. Dans un menu, je voudrais faire appel à une
fenêtre contenant tous les "moulinettes" spécifiques à un client. Et
donc je mettrais tous ces modules dans une fenetre que j'appelerai
systématiquement SPECIFnnnnnn avec nnnnnn étant le n° du client.
d'où le code suivant
mafenspec est chaîne
mafenspec="SPECIF"+NumériqueVersChaine(OPE_ID,"06d")
ouvre(mafenspec)

maintenant si cette fenêtre n'existe pas, je voudrais désactiver cet
appel.

--
Eric Roumégou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Pascal F
Roumegou Eric a présenté l'énoncé suivant :
Dans son message précédent, Pascal F a écrit :
Roumegou Eric a présenté l'énoncé suivant :
Bonjour,
Y'a-t-il un moyen de savoir si une fenêtre existe avant de l'appeler par un Ouvre ?



Bonjour

je fais le test suivant
si fenetat(mafenetre)=inexistant alors
ouvre(mafenetre)
fin



C'est presque cela
en fait je ne sais pas si mafenetre existe et je ne voudrais pas que Ouvre(mafenetre) provoque une erreur.

J'explique la situation. Dans un menu, je voudrais faire appel à une fenêtre contenant tous les "moulinettes" spécifiques à un client. Et donc je mettrais tous ces
modules dans une fenetre que j'appelerai systématiquement SPECIFnnnnnn avec nnnnnn étant le n° du client.
d'où le code suivant
mafenspec est chaîne
mafenspec="SPECIF"+NumériqueVersChaine(OPE_ID,"06d")
ouvre(mafenspec)

maintenant si cette fenêtre n'existe pas, je voudrais désactiver cet appel.



Si j'ai bien compris la question c'est savoir si la fenêtre existe dans le projet?
si c'est le cas je ferais
quand exception dans ouvre(mafenspec) alors
si erreurinfo()=[n° d'erreur qui va] alors
...
fin
fin

--
Pascal
Avatar
Roumegou Eric
Pascal F a formulé ce vendredi :
Roumegou Eric a présenté l'énoncé suivant :
Dans son message précédent, Pascal F a écrit :
Roumegou Eric a présenté l'énoncé suivant :
Bonjour,
Y'a-t-il un moyen de savoir si une fenêtre existe avant de l'appeler par
un Ouvre ?



Bonjour

je fais le test suivant
si fenetat(mafenetre)=inexistant alors
ouvre(mafenetre)
fin



C'est presque cela
en fait je ne sais pas si mafenetre existe et je ne voudrais pas que
Ouvre(mafenetre) provoque une erreur.

J'explique la situation. Dans un menu, je voudrais faire appel à une
fenêtre contenant tous les "moulinettes" spécifiques à un client. Et donc
je mettrais tous ces modules dans une fenetre que j'appelerai
systématiquement SPECIFnnnnnn avec nnnnnn étant le n° du client.
d'où le code suivant
mafenspec est chaîne
mafenspec="SPECIF"+NumériqueVersChaine(OPE_ID,"06d")
ouvre(mafenspec)

maintenant si cette fenêtre n'existe pas, je voudrais désactiver cet appel.



Si j'ai bien compris la question c'est savoir si la fenêtre existe dans le
projet?



Oui

si c'est le cas je ferais
quand exception dans ouvre(mafenspec) alors
si erreurinfo()=[n° d'erreur qui va] alors
...
fin
fin


Voilà ce que j'ai adopté suite à la réponse que j'ai eu sur la ML
(merci Patrice)
mafenspec est chaîne
OkExiste est un booléenúux
mafenspec="SPECIF"+NumériqueVersChaine(OPE_ID,"06d")
// énumération des fenêtres d'un projet
sNomFenêtre est une chaîne = EnumèreElément(enumFenêtre)
// on parcourt toutes les fenêtres
TANTQUE sNomFenêtre <> ""
// on passe à la fenêtre suivante
sNomFenêtre = EnumèreElément()
SI sNomFenêtre=mafenspec ALORS
OkExiste=Vrai
SORTIR
FIN
FIN
SI OkExiste ALORS
Ouvre(mafenspec)
SINON
Erreur("Il n'y a pas de traitements spécifiques pour l'opération
"+OPE_ID+" : "+libope)
FIN

--
Eric Roumégou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Pascal R.
Roumegou Eric a écrit :
Dans son message précédent, Pascal F a écrit :

Roumegou Eric a présenté l'énoncé suivant :

Bonjour,
Y'a-t-il un moyen de savoir si une fenêtre existe avant de l'appeler
par un Ouvre ?




Bonjour

je fais le test suivant
si fenetat(mafenetre)=inexistant alors
ouvre(mafenetre)
fin




C'est presque cela
en fait je ne sais pas si mafenetre existe et je ne voudrais pas que
Ouvre(mafenetre) provoque une erreur.

J'explique la situation. Dans un menu, je voudrais faire appel à une
fenêtre contenant tous les "moulinettes" spécifiques à un client. Et
donc je mettrais tous ces modules dans une fenetre que j'appelerai
systématiquement SPECIFnnnnnn avec nnnnnn étant le n° du client.
d'où le code suivant
mafenspec est chaîne
mafenspec="SPECIF"+NumériqueVersChaine(OPE_ID,"06d")
ouvre(mafenspec)

maintenant si cette fenêtre n'existe pas, je voudrais désactiver cet appel.



Peut-être en testant l'ouverture dans une procédure protégée par une
exception

FONCTION TEST_FENSPECIF( NomFenSpecif)

Quand exception
renvoyer faux
fin

ouvrefille( nomfenspecif+",-800,0") //Ouvre de manière invisible
ferme( nomfenspecif)
renvoyer( vrai)

Je sais pas si ca peut marcher, mais a tester ...

PAscal