Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/01/2012, 13h56   #1
Membre du Club
 
Inscription : février 2005
Messages : 359
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 359
Points : 62
Points : 62
Envoyer un message via MSN à Zebulon777
Par défaut Erreur incompréhensible dans du code

Bonjour à tous.

Je tombe sur une truc incompréhensible : 2 codes quasiment identiques mais je ne comprends pas pourquoi le 2ème ne fonctionne pas.

Voici le code que j'utilise et qui fonctionne nickel

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
function Recup_Valeurs_Vols(P_Annee, P_Mois, P_Jour) {
	WNomFichierXML = "";
	WNomFichierXML2 = "";
	var WNoeud_DATE = "VOLS/DATES/LISTE/*";
	var WNoeud_NbTraj = "VOLS/DATES/LISTE/J" + P_Annee + P_Mois + P_Jour + "/NB_TRAJ";
	var WNoeud_TotTraj = "VOLS/DATES/LISTE/J" + P_Annee + P_Mois + P_Jour + "/TOT_TRAJ";
	WFirFabec = window.Form_CARPEDIEM.C_Fabec.checked;
	var XML_Vols = new ActiveXObject("Microsoft.xmldom");
	XML_Vols.async = false;
	WNomFichierXML = G_RepXML + "Vols_" + P_Annee + ".xml";
	WFichierXML = XML_Vols.load(WNomFichierXML);
	WFichierXML2 = XML_Vols.load(WNomFichierXML2);
 
alert(WNomFichierXML + " --- "+ WFichierXML + G_CrLf + WNomFichierXML2 + " --- "+ WFichierXML2);
 
	if (WFichierXML == true)
	{
		WIndex = 0;
		var WTotal = XML_Vols.selectNodes(WNoeud_DATE).length;
		WDate = new String(P_Annee + P_Mois + P_Jour);
		WNode = XML_Vols.selectSingleNode("VOLS/DATES/LISTE/J" + WDate);
		if (WNode != null)
		{
			WNbTraj = XML_Vols.selectNodes("VOLS/DATES/LISTE/J" + WDate + "/NB_TRAJ").item(0).text;
			WTotTraj = XML_Vols.selectNodes("VOLS/DATES/LISTE/J" + WDate + "/TOT_TRAJ").item(0).text;
		}
		else
		{
			WNbTraj = "Data not available"
			WTotTraj = "Data not available"
		};
	}
	else
	{
		WNbTraj = "NOK"
		WTotTraj = "NOK"
	};
}
Le code ci-dessus me renvoi bien WFichierXML à true puisque le fichier existe bel et bien.
Par contre, j'utilise le code suivant, plus rien ne fonctionne.
A noter que la seule différence est l'ajout du test "if (WFirFabec)" et rien d'autre.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
function Recup_Valeurs_Vols(P_Annee, P_Mois, P_Jour) {
	WNomFichierXML = "";
	WNomFichierXML2 = "";
	var WNoeud_DATE = "VOLS/DATES/LISTE/*";
	var WNoeud_NbTraj = "VOLS/DATES/LISTE/J" + P_Annee + P_Mois + P_Jour + "/NB_TRAJ";
	var WNoeud_TotTraj = "VOLS/DATES/LISTE/J" + P_Annee + P_Mois + P_Jour + "/TOT_TRAJ";
	WFirFabec = window.Form_CARPEDIEM.C_Fabec.checked;
	if (WFirFabec)
	{
		WNomFichierXML2 = G_RepXML + "Vols_FABEC_" + P_Annee + ".xml";
	}
	else
	{
		WNomFichierXML2 = G_RepXML + "Vols_FRANCE_" + P_Annee + ".xml";
	};
	var XML_Vols = new ActiveXObject("Microsoft.xmldom");
	XML_Vols.async = false;
	WNomFichierXML = G_RepXML + "Vols_" + P_Annee + ".xml";
	WFichierXML = XML_Vols.load(WNomFichierXML);
	WFichierXML2 = XML_Vols.load(WNomFichierXML2);
 
alert(WNomFichierXML + " --- "+ WFichierXML + G_CrLf + WNomFichierXML2 + " --- "+ WFichierXML2);
 
	if (WFichierXML == true)
	{
		WIndex = 0;
		var WTotal = XML_Vols.selectNodes(WNoeud_DATE).length;
		WDate = new String(P_Annee + P_Mois + P_Jour);
		WNode = XML_Vols.selectSingleNode("VOLS/DATES/LISTE/J" + WDate);
		if (WNode != null)
		{
			WNbTraj = XML_Vols.selectNodes("VOLS/DATES/LISTE/J" + WDate + "/NB_TRAJ").item(0).text;
			WTotTraj = XML_Vols.selectNodes("VOLS/DATES/LISTE/J" + WDate + "/TOT_TRAJ").item(0).text;
		}
		else
		{
			WNbTraj = "Data not available"
			WTotTraj = "Data not available"
		};
	}
	else
	{
		WNbTraj = "NOK"
		WTotTraj = "NOK"
	};
}
Je n'ai plus rien qui fonctionne et les 2 variables WFichierXML et WFichierXML2 sont à false.
Donc le simple fait d'ajouter ces lignes fait que le fichier n'est plus trouvé.

Pourtant le nom des fichiers XML à utiliser à changer et à la place de "Vols_2011.xml", il faut maintenant que j'utilise "Vols_FRANCE_2011.xml".
Je ne comprends pas ce qui ne fonctionne pas.

Merci d'avance pour votre aide.
__________________
Zeb'...
Zebulon777 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 14h14   #2
Modérateur
 
Avatar de roro06
 
Inscription : avril 2007
Messages : 1 364
Détails du profil
Informations personnelles :
Âge : 42

Informations forums :
Inscription : avril 2007
Messages : 1 364
Points : 1 551
Points : 1 551
Bonjour

Il faut peut-être modifier ton code en :

Code :
1
2
3
4
5
6
7
8
if (WFirFabec)     
{         
WNomFichierXML2 = G_RepXML + "Vols_FRANCE_" + P_Annee + ".xml";     
}     
else     
{         WNomFichierXML2 = G_RepXML + "Vols_FRANCE_" + P_Annee + ".xml";    
};
__________________


" La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
(J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

Chuck Norris comprend JC Van Damme.
roro06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 14h23   #3
Modérateur
 
Avatar de Golgotha
 
Homme cédric
Développeur informatique
Inscription : août 2007
Messages : 733
Détails du profil
Informations personnelles :
Nom : Homme cédric
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2007
Messages : 733
Points : 1 561
Points : 1 561
Envoyer un message via Skype™ à Golgotha
Bonjour,

Je pense que tu peux trouver l'erreur facilement en faisant du "pas à pas" avec chrome.

Donc, tu lance ta page, ensuite tu clique sur la petite clé à molette et haut à droite du navigateur :

Outils -> Outils de développement.

Tu va dans l'onglet "scripts", et la tu peux cliquez sur une ligne, ça va t'ajouter un pointeur bleu (un point d'arrêt).

Enfin, tu fait en sorte d’exécuter ta fonction, le script va s’arrêter sur la ligne ou tu as placé le point d'arrêt. pour faire défiler le code, à droite tu as une flèche qui saute au dessus d'un points ("step over"), tu clique sur ce bouton et tu pourra suivre ligne par ligne ce qui ce passe dans ta fonction, et je pense que tu trouvera ce qui ne va pas.
__________________
modérateur webmasters - développements web & php
faq jQuery - règles du forum - faqs web
mon espace perso
Venez participez au deuxième defi Web !
Golgotha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 14h24   #4
Membre du Club
 
Inscription : février 2005
Messages : 359
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 359
Points : 62
Points : 62
Envoyer un message via MSN à Zebulon777
Oups, je viens de modifier mon message pour coller plus à la réalité, mais c'est le même résultat, dans une cas comme dans l'autre, ça ne fonctionne pas !

@Golgotha : impossible de trouver quoique ce soit.

C'est à s'arracher les cheveux !
__________________
Zeb'...
Zebulon777 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 11h03   #5
Membre du Club
 
Inscription : février 2005
Messages : 359
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 359
Points : 62
Points : 62
Envoyer un message via MSN à Zebulon777
Bon, le problème est résolu.
En fait cela venait d'une erreur dans les fichiers XML !!!
Oups...
Merci encore pour votre aide.
__________________
Zeb'...
Zebulon777 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h08.


 
 
 
 
Partenaires

Hébergement Web