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 :

Erreur avec la fontion Split ou FSO


Sujet :

ASP

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Points : 12
    Points
    12
    Par défaut Erreur avec la fontion Split ou FSO
    Allo
    Je n'arrive pas à comprendre pourquoi mon split ne fonctionne pas. Un test intrusif ma permis de savoir que le contenu de est valide.
    Mais, pour une raison inconnu, suite au split, le resultat du Split donne des donnéees vide ( & )

    Voici mon code, peut-être le problème est ailleur. Merci !

    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
     
    I = 0	
    redim Extention_Fichier(2)								
    for each File in ListeFichier
     
        Extension_Fichier = Split(cstr(File.name),".")
        Response.Write(Extention_Fichier(0)) 
        Response.Write(Extention_Fichier(1))
     
       if I = 0 then '//--- Ouverture de la première ligne du tableau
    	Response.Write( "<Table> " & vbCrLf & _
    	"	<tr> " )
       end if					
       if Extention_Fichier(1) = "Log" then
    	Nbr = I mod 3 
    	If Nbr = 0 and I <> 0 then 				     Response.Write( "	<tr> " & vbCrLf  & _
    	     "</Table> " & vbCrLf  & _
    							     "<Table> " & vbCrLf  & _
    	     "	<tr> ")
        end if
        Response.Write("blablabla")
        end if
        I = I + 1
    next

  2. #2
    Membre habitué Avatar de thor22
    Inscrit en
    Août 2004
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2004
    Messages : 150
    Points : 155
    Points
    155
    Par défaut
    Si tu enlèves
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    redim Extention_Fichier(2)
    est-ce que ça fonctionne? Je ne crois pas que tu aies à dimensionner ton tableau, split le fait par lui même.
    C'est peut-être ça qui mélange le tout.
    Francis = Thor22 = Tholmir

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Points : 12
    Points
    12
    Par défaut
    Lorsque je l'enlève il me fait l'erreur suivante :

    Type incompatible: 'Extention_Fichier'

  4. #4
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Un extrait de MSDN :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Function ShowFolderList(folderspec)
      Dim fso, f, f1, fc, s
      Set fso = CreateObject("Scripting.FileSystemObject")
      Set f = fso.GetFolder(folderspec)
      Set fc = f.Files
      For Each f1 in fc
        s = s & f1.name 
        s = s & "<BR>"
      Next
      ShowFolderList = s
    End Function

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Points : 12
    Points
    12
    Par défaut
    Je suis entièrement d'accord avec toi pc75 mais le problème vient à mon avis du split parce qu'il va chercher chacun des fichier à la bonne place. C'est vraiment, lorsque je split le nom du fichier dans le but de savoir s'il s'agit d'un fichier log que l'erreur survient.

  6. #6
    Membre habitué Avatar de thor22
    Inscrit en
    Août 2004
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2004
    Messages : 150
    Points : 155
    Points
    155
    Par défaut
    Citation Envoyé par TheCool
    Lorsque je l'enlève il me fait l'erreur suivante :

    Type incompatible: 'Extention_Fichier'
    Est-ce que tu utilises la variable 'Extention_Fichier' avant le bout de code que tu nous as montré?
    Francis = Thor22 = Tholmir

  7. #7
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Points : 12
    Points
    12
    Par défaut
    Et bien non je ne l'utilise pas ailleur...
    J'y comprend rien, c'est vraiment bizarre. Notez que si j'enlève la validation du log (la méthode fait parti de cette validation) l'affichage ce fait très bien !

  8. #8
    Membre habitué Avatar de thor22
    Inscrit en
    Août 2004
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2004
    Messages : 150
    Points : 155
    Points
    155
    Par défaut
    Si tu exécutes cette fonction avec ton tableau, est-ce que ça t'affiche quelque chose?:
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <%
    ' Takes a 1 dimensional array and simply spits out its values
    ' in a table format with a note saying how big the array is.
    Sub ShowArrayInTable(ArrayToShow)
    	Dim I           ' Simple Looping Var
    	Dim iArraySize  ' Var to store array size
     
    	' If you want to know how big an array is, you can use this
    	' to find out. This even works in VB where they don't have
    	' to be zero-based.  The LBound and UBound return the
    	' indecies of the lowest and highest array elements so to
    	' get the size we take the difference and add one since you
    	' can store a value at both end points.
    	iArraySize = (UBound(ArrayToShow) - LBound(ArrayToShow)) + 1
     
    	Response.Write "<p>The array has " & iArraySize _
    		& " elements.  They are:</p>" & vbCrLf
     
    	Response.Write "<table border=""1"">" & vbCrLf
     
    	Response.Write "<thead>" & vbCrLf
    	Response.Write "<tr>" & vbCrLf
    	Response.Write "<th>Index</th>" & vbCrLf
    	Response.Write "<th>Value</th>" & vbCrLf
    	Response.Write "</tr>" & vbCrLf
    	Response.Write "</thead>" & vbCrLf
     
    	Response.Write "<tbody>" & vbCrLf
     
    	' Simple loop over a table outputting a row for each element
    	For I = LBound(ArrayToShow) To UBound(ArrayToShow)
    		Response.Write "<tr>" & vbCrLf
    		' Write out the index of the element we're currently on
    		Response.Write "<td>" & I & "</td>" & vbCrLf
    		' Write out the value of the element we're currently on
    		Response.Write "<td>" & ArrayToShow(I) & "</td>" & vbCrLf
    		Response.Write "</tr>" & vbCrLf
    	Next 'I
    	Response.Write "</tbody>" & vbCrLf
     
    	Response.Write "</table>" & vbCrLf
    End Sub
    %>
    (http://www.asp101.com/samples/viewas...le=array%2Easp)
    Francis = Thor22 = Tholmir

  9. #9
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Points : 12
    Points
    12
    Par défaut
    ça fonctionne. Il affiche le champs coupé en deux.
    Alors la méthode split fonctionne.
    la manière dont je vais chercher les données seraient alors le problème.

  10. #10
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Points : 12
    Points
    12
    Par défaut
    Je vous envoi le code de ma fonction au complet. Peut-être que ça peux aider.
    J'ai 2 erreurs dans ce code.
    L'une est celle discuter ici. Le fameux split qui semble être parfait mais qu'il ne l'ai pas.
    L'autre survient à la ligne : Set AccFichier = FSO.GetFolder(Chemin_Fichier) une fois sur 2 sur mon poste et elle ne fonctionne tout simplement pas sur le serveur. Chemin_Fichier = une chemin virtuel dans le genre : \\15.20.32.78\partage$\Log\Mont".

    Cela fait maintenant une journée que je travail sur ce petit bout de code qui me semble tellement simple mais qui donne fil à retordre. SVP à l'aide !!!

    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
     
    Function FCT_Aff_Liste_Log (Chemin_Fichier)
          Dim F, AccFichier, ListeFichier, Extention_Fichier, I, Nbr, Extention
          Set FSO = Server.CreateObject("Scripting.FileSystemObject")
          Set AccFichier = FSO.GetFolder(Chemin_Fichier)		
          Set ListeFichier=AccFichier.Files
     
          if ListeFichier.count > 0 then '//--- Si des fichier sont disponible afficher la liste de ceux-ci
                I = 0	
                redim Extention_Fichier(2)
                for each File in ListeFichier
    	      Extension_Fichier = split(File.name,".",-1,1) 
    	      if I = 0 then '//--- Ouverture de la première ligne du tableau
                                  Response.Write( html)
    	      end if					
    	      if Extension_Fichier(1) = "Log" then
    	            Nbr = I mod 3 
    	            If Nbr = 0 and I <> 0 then '//--- On affiche 3 fichier par ligne, ce si change de ligne
    		      Response.Write( html)
    	            end if
    	            Response.Write("html")
    	      end if
    	      I = I + 1
                next
                Response.Write( html)
          else '//--- Si aucun fichier disponible		
                Response.Write("html")							   
          end if
    end Function
    J'ai fait mon possible pour éviter les erreur de copier coller

  11. #11
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Points : 3 965
    Points
    3 965
    Par défaut
    Citation Envoyé par TheCool
    Je vous envoi le code de ma fonction au complet. Peut-être que ça peux aider.
    J'ai 2 erreurs dans ce code.
    L'une est celle discuter ici. Le fameux split qui semble être parfait mais qu'il ne l'ai pas.
    L'autre survient à la ligne : Set AccFichier = FSO.GetFolder(Chemin_Fichier) une fois sur 2 sur mon poste et elle ne fonctionne tout simplement pas sur le serveur. Chemin_Fichier = une chemin virtuel dans le genre : \\15.20.32.78\partage$\Log\Mont".

    Cela fait maintenant une journée que je travail sur ce petit bout de code qui me semble tellement simple mais qui donne fil à retordre. SVP à l'aide !!!
    C'est bien tu t'accroches
    Pour ce qui est de ton accès sur \\15.20.32.78\partage$\Log\Mont, FSO ne sait pas accéder comme ça aux shares NT sans qu'ils soient montés en tant que lecteur réseau sur la machine je crois. Pis je te parle pas des droits.
    Enfin si ça marche sur ton PC en local vers la même adresse, c'est pas ça le problème.

    Pour ton split, normalement pas besoin de redim, et ce split devrait marcher
    par contre ton test, c'est moins sur. Essaie voir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if UCase(Extension_Fichier(1)) = "LOG" then
    pour éviter les problèmes de casse

    Tu bosses à HP ? Tu bosses pour qui ? A grenoble ? J'y ai passé un peu plus de 3 ans.
    Émotion
    Infantilisation
    Culpabilisation

    Christophe Alévèque - 18 Mars 2021

  12. #12
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Points : 12
    Points
    12
    Par défaut
    Si je map un drive et que je l'associe au code la connection marche en tout temps.
    J'aurais aimé ne pas avoir a en mapper un, mais bon, il semblerais que ça ne marche pas.

  13. #13
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Points : 12
    Points
    12
    Par défaut
    Haaaaaaaaaaaaaa ouiiiiiiiiiiiiii! Ça marche! après 7 heures de travail intensif (voir plus).
    Que de soulagement....
    Vive les forum de discution!!!
    Merci à ceux qui m'ont aidé.

    Pour ton information :Je suis Québécois et je travaille sur un Intranet, pour le réseau de la santé.

  14. #14
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Points : 3 965
    Points
    3 965
    Par défaut
    et t'as une adresse IP en 15, c'est original ça. Encore un réseau IP planifié par un maçon charcutier non??

    15 en classe A, c'est le réseau HP normalement...


    Qu'est ce qui t'as débloqué sinon ?
    Émotion
    Infantilisation
    Culpabilisation

    Christophe Alévèque - 18 Mars 2021

  15. #15
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Points : 12
    Points
    12
    Par défaut
    Haaa c'est une adresse Ip fictive, mais je suis un réseau intranet alors cette adresse est utilisé à l'interne seulement.

    Hé bien non je suis pas encore assez important pour ça...


    Ce qui m'a aider c'est l'effet de la casse. Je pensais pas que ça pouvais avoir un impact et si je map un drive au lieu de mettre l'adresse tout marche très bien !

  16. #16
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Points : 3 965
    Points
    3 965
    Par défaut
    Citation Envoyé par TheCool
    Haaa c'est une adresse Ip fictive, mais je suis un réseau intranet alors cette adresse est utilisé à l'interne seulement.
    oui évidemment
    Émotion
    Infantilisation
    Culpabilisation

    Christophe Alévèque - 18 Mars 2021

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

Discussions similaires

  1. Erreur avec split("(")
    Par opensource dans le forum Langage
    Réponses: 2
    Dernier message: 18/04/2008, 17h19
  2. Erreur avec procédure LockWorkStation ...
    Par simonseztech dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/08/2004, 15h33
  3. [Débutant][Conception] Erreur avec une classe interne
    Par Devil Redneck dans le forum Général Java
    Réponses: 5
    Dernier message: 11/06/2004, 15h45
  4. Erreur avec les ADO
    Par megane dans le forum Bases de données
    Réponses: 7
    Dernier message: 08/03/2004, 21h37
  5. Erreur avec WM_COMMAND (BN_CLICKED)
    Par cyberlewis dans le forum Windows
    Réponses: 2
    Dernier message: 09/02/2004, 00h25

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