cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007
-
4 juil. 2005 à 22:47
daetips
Messages postés142Date d'inscriptionjeudi 10 juillet 2003StatutMembreDernière intervention10 novembre 2007
-
5 juil. 2005 à 18:58
Hello all
Regardez ce simple code, les 2 dossiers éxistent sur mon PC, la premiere fonction renvoye 0 (aucun dossier/erreur, enfin un prob quoi) tandis que le 2ieme PathIsDirectory sur le dossier winnt renvoye 16 (c'est bien un dossier)
Le même problème ce pose aussi avec GetAttr et surement beaucoup d'autre.
Essayez vous même, enregistrez la page de la source 12936 avec Internet Explorer (j'ai le 6) par exemple, changez les 2 répertoires afin qu'ils correspondent bien et testez... ;) C'est normal docteur ? Je suppose que c'est parce que c'est un long nom de fichier dans le premier cas qui pose probleme ou les caracteres spéciaux ? Pourquoi dans ce cas Windows accepte d'enregistrer la page s'il n'est ensuite plus capable de la gerer ? A moins que le prob soit ailleur, la je sais pas, ça me dépasse. Ou peut etre un probleme lors de la transmission de VB6 du nom de dossier à l'API qui surement en C++/C ?
Le pire, c'est que le nom du dossier long tel quel a été récupéré par un programme VB6 (http://www.vbfrance.com/code.aspx?ID=3332, algotithme sans FSO) que j'ai ensuite copié collé dans VB6 (éditeur) pour tester !! Bref, je pige pas, VB trouve un dossier, mais personne ne peut l'identifier ensuite. Vous avez une idée du probleme ?
Ca peut surement servir, je suis sous Windows 2000 Pro SP3
Private Declare Function PathIsDirectory Lib "shlwapi.dll" Alias "PathIsDirectoryA" (ByVal pszPath As String) As Long
Private Sub Form_Load()
MsgBox PathIsDirectory("c:\Documents and Settings\Administrateur\Bureau\CPU FOR WINDOWS ¤ Code source N°32023 ¤ ¤ VBFrance_com Visual Basic - VB_NET CodeS SourceS 12936 sources VB, VB_NET, ASP_NET VBA, ASP, VBScript, VB Scripts, Source, Code, Programmation,_fichiers")
MsgBox PathIsDirectory("c:\winnt")
End Sub
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 5 juil. 2005 à 10:07
salut,
dans MSDN, ils disent :
a null-terminated string of maximum length MAX_PATH that contains the
path to verify
Donc dans un chemin pas plus de 256 caractères...
Je pense que c'est surtout par compatibilité avec FAT32 qui n'est pas
vraiment fait pour les noms vraiment longs...Enfin, il faut dire que
des noms trop longs ca ne sert à rien et que effectivement, IE devrait
tronquer les noms....
cs_azerty25
Messages postés1114Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention 6 mai 2007 5 juil. 2005 à 11:08
Euh, en fait, c'est pas ça, je viens de vérifier la longueur de la chaine, elle fait 196 cars.
J'ai remarqué un autre truc, c'est que l'explorateur Windows affiche à la place des ¤ des carrés. Y'a peut etre un rapport ?! Mais logiquement, si Windows ne supporte pas l'affichage des caracteres spéciaux, ils sont quand meme enregistrés comme tels et VB est capable de les lire... :(