|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() Inscription : décembre 2005 Messages : 177 ![]() |
Bonjour,
Je voudrais pouvoir include un fichier de façon conditionnelle, dans le FAQ il est conseillé dans ce cas d'inclure le fichier de la facon suivante : Code :
Mais il faut absolument que je puisse définir une fonction un peu différente selon ma condition. Savez vous si il existe un moyen via l'include de fichier, ou sinon puis je contourner le probleme ? Merci |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 807 ![]() |
Bonjour,
Il faudrait un peu plus de détail sur les conditions. Juste une idée : Tu ne peux pas faire un include d'un seul fichier et tester ta condition dans ce fichier include ?
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : décembre 2005 Messages : 177 ![]() |
Merci pour ta réponse
En fait ma condition c'est une variable de session boléenne qui définie si le flux retourné est de l'HTML ou du XML. En gros ca donne : Qu'entends tu par l'include d'un seul fichier, tu veux dire que je fais l'inclusion du même fichier c'est à dire de celui qui définit la fonction , mais par contre dans ce fichier je teste ma condition pour faire les modifications de ma fonction selon la condition ? Je ne sais pas si je peux faire ca en fait, je souhaitais ne pas avoir a modifier les fichiers qui definissent ma fonction. Pour être plus clair cette fonction affiche de l'HTML ou du XML, mais l'affichage apparait a plein d'endroit dans la fonction, du coup a chaque fois que j'ai un response.write je vais devoir tester ma condition pour verifier si je veux afficher de l'HTML ou de l'XML, ca va me faire rajouter 30 tests de conditions dans la même fonction pour tester la même condition, c'est pour ca qu'a l'époque j'avais eu recours a un 2e fichier de fonction un peu différent du premier. J'ai peut être une solution intermédiaire, mais je ne la trouve pas terrible car ca me fait encore rajouter un fichier ; je crée un 3e fichier, identique au 2e dans lequel je nomme ma fonction de facon différente ; et je teste ma condition non pas au moment de la définission de la fonction , mais au moment de son appel. Ca devrait fonctionner, seul ennui c'est que je crée encore un nouveau fichier Edit : Mauvais plan, je viens de verifier le code de ma page, ca reviendrait exactement au même que d'effectuer mon test de condition dans ma fonction elle meme, car la fonction est appelée au moins 15 fois dans ma page, ca me fait rajouter 15 tests de condition dans la meme page , c 'est carrement bourrin |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : septembre 2004 Messages : 2 807 ![]() |
Jette un oeil à la FAQ là http://asp.developpez.com/faq/?page=inclusion#dynamique
__________________
Par principe, je ne réponds pas aux messages URGENT. Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu) |
|
|
00
|
|
|
#5 | ||
|
Membre régulier
![]() Inscription : décembre 2005 Messages : 177 ![]() |
Merci pour ta réponse
Je viens de tester mais j'obtiens une erreur avec cette fonction : j'obtiens le message 'type incompatible' au moment de l'appel de ma fonction. J'avais eu le meme probleme ce matin avec la solution proposée dans la FAQ de developpez.com. Je voudrais essayer de renommer ma fonction (je pars du principe que je definie 2 fonctions avec un nom différent et que selon de ma condition je renomme si necessaire la fonction, car la fonction qui est appelée a toujours le meme nom). Seule probleme c'est que je n'ai aucune idée de comment on redéfinie une fonction en VBScript, j'ai fait des recherches et j'ai trouvé le code suivant en JScript Code :
|
||
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé Sénior
![]() ![]() ![]() Inscription : mars 2004 Messages : 5 849 ![]() |
Quelque soit le langage, une fonction est sensée renvoyer une valeur. Sinon, utilises une procedure.
En VB Code :
A+ |
||
|
00
|
|
|
#7 |
|
Membre régulier
![]() Inscription : décembre 2005 Messages : 177 ![]() |
Merci pour ta réponse !
En fait le probleme de l'include des fonctions, c'est que les 2 fonctions portent le meme nom, la 2e déclarée ecrase donc a chaque fois la premiere ; du coup mon idée etait d'en avoir une avec un nom différent et en fonction du résultat de mon test appeler la bonne fonction. C'est pour cette raison qu je voulais pouvoir renommer ma fonction car en fait la fonction est appelée une 15 aine de fois dans la page, je me vois pas faire le test a chaque appel de la fonction 15 fois dans la page. Ca me semble plus simple d'utiliser 15 fois le meme nom de fonction mais de renommer la fonction selon le résultat de mon test. J'ai finalement changé la technique, j'ai fait 2 pages séparées pour les sorties XML et HTML, il y avait d'autre parametre en plus a prendre en compte dans la page et au final le code devenait n'importe quoi et était illisible, du coup j'ai finalement fait 2 pages, c'est lourd d'avoir 2 pages qui executent à peu pres la même chose mais parfois ca reste la meilleure solution si on veut pouvoir maintenir le code ensuite. Merci de votre aide ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com