IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Problème initialisation de variable


Sujet :

ASP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de benoitL39
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Juillet 2006
    Messages : 70
    Par défaut FSO / Lecture ligne à ligne d'un fichier et erreur VBscript
    Bonjour,

    Je tente de lite via FSO un fichier ligne à ligne afin de le modifier par la suite.

    Cependant ma lecture echoue des le départ et le message suivant s'affiche :

    Erreur d'exécution Microsoft VBScript erreur '800a003e'

    L'entrée dépasse la fin du fichier

    /images/Ressources_Portail/Mail Intranet/Mail_tendance_MAJ2.asp, ligne 18
    Et mon fichier Mail_tendance_MAJ2.asp comporte le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <%
    Dim FSO
    Dim Lecture
    Dim Ecriture
     
    'Modification du fichier Mail_tendance.htm lignes 18, 19, 20
    Set FSO = Server.CreateObject("Scripting.FileSystemObject")
     
    Fnm = Server.MapPath("Mail_tendance.htm")
    Debut = ""
    Fin =""
     
    'Ouverture du fichier en lecture
    set Lecture = FSO.OpenTextFile(Fnm,1,false) 
     
    'On garde les lignes 1 à 27
    for i =1 to 27
    		Debut = Debut + Lecture.readLine + Vbcr
    	next
     
    'on passe les lignes 28, 29  et 30
    Lecture.skipLine 
    Lecture.skipLine
    Lecture.skipLine
     
    'On charge enfin en mémoire le reste du fichier.
    While not Lecture.atEndOfStream
       Fin = Fin + Lecture.readLine + Vbcr
    Wend
     
    Lecture.close
    Set Lecture = Nothing
    Donc la ligne posant probleme est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debut = Debut + Lecture.readLine + Vbcr
    Le fichier que je cherche à modifier fait environ 60 lignes donc la fin du fichier n'est normalement pas atteinte par mon Readline...

    Bref je patauge un peu, c'est pourquoi je demande mon aide pour resoudre mon probleme.

    Merci beaucoup!

  2. #2
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par guignol71 Voir le message

    Donc la ligne posant probleme est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debut = Debut + Lecture.readLine + Vbcr
    T'as quoi si tu mets l'instructions
    Debut = Debut + Lecture.readLine + Vbcr
    hors de la boucle For

    Tu fais afficher le résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <%
    Dim FSO
    Dim Lecture
    Dim Ecriture
     
    'Modification du fichier Mail_tendance.htm lignes 18, 19, 20
    Set FSO = Server.CreateObject("Scripting.FileSystemObject")
     
    Fnm = Server.MapPath("Mail_tendance.htm")
    Debut = ""
    Fin =""
     
    'Ouverture du fichier en lecture
    set Lecture = FSO.OpenTextFile(Fnm,1,false) 
     
    Debut = Debut + Lecture.readLine + Vbcr
     
    response.write Debut
    Personnelement, je monte mes codes morceau par morceau en faisant afficher le résultat à chaque étape pour etre sur que ça part pas en vrille


  3. #3
    Membre confirmé Avatar de benoitL39
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Juillet 2006
    Messages : 70
    Par défaut
    tout d'abord merci pour ton aide.

    J'ai isolé le problème : en fait ma variable Début s'initialise bien lors de la premiere exécution du script. Mais lorsque l'on rapelle le script une seconde fois, elle n'est pas réinitialisé.

    Le debut = "" n'est pas pris en compte.

    Ma question est donc, comment réiitialisé ma variable à chaque appelle de script ?

    J'ai essayé de mettre "dim Debut" mais cela ne fonctionne pas. J'ai meme essayé de mettre Debut="" a la fin de mon script mais rien ne fonctionne.

    Please help me car la je sature...

    Merci pour votre aide

  4. #4
    Membre confirmé Avatar de benoitL39
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Juillet 2006
    Messages : 70
    Par défaut Problème initialisation de variable
    bonjour,

    je rencontre un problème avec l'initialisation d'une variable en début de script.
    en fait dès que je relance mon script, elle garde son ancienne valeur et la remise à blanc ne se fait pas.

    Voilà un extrait de mon code et la variable fautive est la variable Debut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <%
    Dim FSO
    Dim Lecture
     
    'Modification du fichier Mail_tendance.htm lignes 18, 19, 20
    Set FSO = Server.CreateObject("Scripting.FileSystemObject")
     
    Fnm = Server.MapPath("Mail_tendance.htm")
    Debut = ""
     
    'Ouverture du fichier en lecture
    set Lecture = FSO.OpenTextFile(Fnm,1,false) 
     
    'On garde les lignes 1 à 27
    Debut =  Lecture.readLine + Vbcr
    for i =2 to 27
    		Debut = Debut + Lecture.readLine + Vbcr
    	next
     
    Lecture.close
    Set Lecture = Nothing
    A la relance du script, debut garde sa valeur égale aux 27 lignes du fichier que j'ai lu.

    Avez vous un indice pour m'expliquer pourquoi ma remise à blanc n'est pas prise en compte ??

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    522
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 522
    Par défaut
    Salut,

    Essaie d'ajouter un Dim Debut au début de ton script.

  6. #6
    Membre Expert
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Par défaut
    Citation Envoyé par TekP@f Voir le message
    Salut,

    Essaie d'ajouter un Dim Debut au début de ton script.
    Salut,

    Si tu déclare tes variables avec dim alors faut le faire à toutes sinon marche pas applique donc ce que te dis tekpaf

    PS : Si tu met option explicit alors oui dim est nécessaire, sinon pas besoin du dim

  7. #7
    Membre confirmé Avatar de benoitL39
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Juillet 2006
    Messages : 70
    Par défaut
    Citation Envoyé par kaiser59 Voir le message
    Salut,

    Si tu déclare tes variables avec dim alors faut le faire à toutes sinon marche pas applique donc ce que te dis tekpaf

    PS : Si tu met option explicit alors oui dim est nécessaire, sinon pas besoin du dim
    J'ai viens de faire un essai en rajoutant un "dim debut" au debut de mon script et rien n'y change.


    Citation Envoyé par Immobilis Voir le message
    Salut,
    Et les lignes s'ajoutent les unes aux autres à chaque fois que tu relance ton script?

    Et merci de ne pas ouvrir plusieurs discussions sur le même sujet.

    A+
    Oui les lignes s'ajoutent et je finis par dépassé la taille de mon fichier. LE réel soucis est donc dans l'init de Debut qui ne se fait pas.

    PS : dsl pour la double discussion mais je pensai que le dépassement de fichier et la mauvaise init de varaible étaient deux problèmes différents.

  8. #8
    Membre confirmé Avatar de benoitL39
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Juillet 2006
    Messages : 70
    Par défaut
    J'ai ajouté les Dim au début du script et en plus de cela je réinitialise ma variable via debut="" à la fin du script en rien n'y fait.

    En plus, je ne peut plus avancer sur mon projet tellement ce problème est bloquant.

    Je lance donc un grand cri de désespoir et au passage je vous souhaite un bon appétit!

  9. #9
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,
    Citation Envoyé par guignol71 Voir le message
    A la relance du script, debut garde sa valeur égale aux 27 lignes du fichier que j'ai lu.
    Et les lignes s'ajoutent les unes aux autres à chaque fois que tu relance ton script?

    Et merci de ne pas ouvrir plusieurs discussions sur le même sujet.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/06/2015, 15h23
  2. Problème initialisation de variables
    Par JohnAnto dans le forum C++
    Réponses: 3
    Dernier message: 31/01/2013, 15h53
  3. Réponses: 9
    Dernier message: 29/06/2004, 08h40
  4. Réponses: 6
    Dernier message: 28/05/2004, 09h39
  5. [Plugin] Problème initialisation plugin ResourcesPlugin
    Par Michael I. dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 06/02/2004, 13h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo