begin process at 2012 02 12 04:19:41
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > LA SOLUTION POUR LES CHEMINS ABRÉGÉS TYPE DOS

LA SOLUTION POUR LES CHEMINS ABRÉGÉS TYPE DOS


 Information sur la source

Note :
Aucune note
Catégorie :Fichier / Disque Niveau :Initié Date de création :20/03/2002 Date de mise à jour :20/03/2002 19:08:59 Vu / téléchargé :3 030 / 151

Auteur : Repie

Ecrire un message privé
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

je tiens à dire que G mis cette source parceque y en avait pas sur le site
ou alors elles marchaient pas.

Source

  • '####################################################################
  • '# S2L: Short to Long par Repié le 20/03/02# #
  • '########################################### #
  • '# S2L fonction qui convertit un path fomat DOS abrégé #
  • '# en format Windows exploitable :) #
  • '# j'ai fait cette fonction pour pouvoir contourner #
  • '# l'API GetFullPathName qui marchait pas chez moi qd GT en 98 #
  • '# le fonctionnement est simple: #
  • '# on envoie comme paramatre le chemin court et la fonction #
  • '# nous renvoie une structure contenant le nom long + à quoi #
  • '# correspond le chemin (fichier ou repertoire) #
  • '# Si vous voyez des bugs (à part celui de rentrer un nom de disque)#
  • '# Merci de me le signaler: l__repie__l@caramail.com #
  • '####################################################################
  • Type Retour
  • Valeur As String
  • Fichier As Boolean
  • End Type
  • Function S2L(temp As String) As Retour
  • Dim Ret As Retour
  • Dim total, result, resultb As String
  • Dim c1, c2, cds
  • temp = Replace(temp, Chr(34), "")
  • 'sur XP (et pe d'autres..) les " interviennent quand les
  • 'repertoires ont des espaces
  • cds = 3
  • 'cds= compteur dernier slash on le met à 3 pour le slash du lecteur ex c:\
  • total = Mid(temp, 1, 2)
  • 'on met dans total le label du lecteur
  • For c1 = 4 To Len(temp)
  • If Mid(temp, c1, 1) = "\" Then
  • 'on a délimité le répertoire à trouver
  • result = Dir$(total & "\" & Mid(temp, cds + 1, c1 - cds - 1), vbDirectory Or vbHidden Or vbSystem Or vbArchive)
  • 'on ajoute au chemin connu le nom du repertoire à trouver
  • If result = "" Or Not GetAttr(total & "\" & result) And vbDirectory Then S2L.Valeur = "Erreur dans le traitement": Exit Function
  • 'Si le retour est vide ou que le resultat n'est pas un repertoire veut dire Erreur; on sort
  • total = total & "\" & result
  • 'le chemin connu s'étoffe du répertoire
  • cds = c1
  • 'le dernier slash est notre position actuelle
  • End If
  • Next c1
  • result = Dir(total & "\" & Mid(temp, cds + 1, c1 - cds - 1), vbArchive Or vbHidden Or vbSystem Or vbDirectory Or vbVolume)
  • 'on récupère le nom du fichier ou du répertoire
  • If result = "" Then S2L.Valeur = "Erreur dans le traitement": Exit Function
  • 'si on a pas de retour: Erreur ; on sort
  • total = total & "\" & result
  • 'on ajoute
  • If GetAttr(total) And vbDirectory Then
  • 'si le "truc" qu'on a trouvé est un répertoire
  • Ret.Fichier = False
  • Else
  • 'sinon C un fichier
  • Ret.Fichier = True
  • End If
  • Ret.Valeur = Format(total, "<")
  • 'on formalise le chemin en minuscule
  • S2L = Ret
  • 'on en renvoie la structure
  • End Function
'####################################################################
'# S2L: Short to Long par Repié le 20/03/02#                        #
'###########################################                        #
'# S2L fonction qui convertit un path fomat DOS abrégé              #
'# en format Windows exploitable :)                                 #
'# j'ai fait cette fonction pour pouvoir contourner                 #
'# l'API GetFullPathName qui marchait pas chez moi qd GT en 98      #
'# le fonctionnement est simple:                                    #
'# on envoie comme paramatre le chemin court et la fonction         #
'# nous renvoie une structure contenant le nom long + à quoi        #
'# correspond le chemin (fichier ou repertoire)                     #
'# Si vous voyez des bugs (à part celui de rentrer un nom de disque)#
'# Merci de me le signaler: l__repie__l@caramail.com                #
'####################################################################


Type Retour
    Valeur As String
    Fichier As Boolean
End Type

Function S2L(temp As String) As Retour
    Dim Ret As Retour
    Dim total, result, resultb As String
    Dim c1, c2, cds
    
    temp = Replace(temp, Chr(34), "")
    'sur XP (et pe d'autres..) les " interviennent quand les
    'repertoires ont des espaces
    
    cds = 3
    'cds= compteur dernier slash on le met à 3 pour le slash du lecteur ex c:\
    
    total = Mid(temp, 1, 2)
    'on met dans total le label du lecteur
    
    For c1 = 4 To Len(temp)
        If Mid(temp, c1, 1) = "\" Then
        'on a délimité le répertoire à trouver
        
            result = Dir$(total & "\" & Mid(temp, cds + 1, c1 - cds - 1), vbDirectory Or vbHidden Or vbSystem Or vbArchive)
            'on ajoute au chemin connu le nom du repertoire à trouver
            
            If result = "" Or Not GetAttr(total & "\" & result) And vbDirectory Then S2L.Valeur = "Erreur dans le traitement": Exit Function
            'Si le retour est vide ou que le resultat n'est pas un repertoire veut dire Erreur; on sort
            
            total = total & "\" & result
            'le chemin connu s'étoffe du répertoire
            
            cds = c1
            'le dernier slash est notre position actuelle
        End If
    Next c1
    result = Dir(total & "\" & Mid(temp, cds + 1, c1 - cds - 1), vbArchive Or vbHidden Or vbSystem Or vbDirectory Or vbVolume)
    'on récupère le nom du fichier ou du répertoire
    
    If result = "" Then S2L.Valeur = "Erreur dans le traitement": Exit Function
    'si on a pas de retour: Erreur ; on sort
    total = total & "\" & result
    'on ajoute
    
    If GetAttr(total) And vbDirectory Then
    'si le "truc" qu'on a trouvé est un répertoire
        Ret.Fichier = False
    Else
    'sinon C un fichier
        Ret.Fichier = True
    End If
    Ret.Valeur = Format(total, "<")
    'on formalise le chemin en minuscule
    
    S2L = Ret
    'on en renvoie la structure
End Function
 

 Conclusion

Petit détail faut que le chemin soit vraiment celui de DOS (ou alors un chemin windows mais je vois pas l'interet) c'est à dire avec la meme nomenclature :
pas de blanc dans le chemin, un repertoire contenant plus de 6 caracteres est tronqué par ~1 (voir ~2, ~3... selon le fait qu'un autre répertoire commence avec les 6 meme caracteres)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture COOKIE(IE)-MODIF/AJOUT/SUPPR
Source avec Zip Source avec une capture TELNET SUPER EXPLIKE AVEC RICHTEXT + WINSOCK
Source avec Zip Source avec une capture POUR LES HABITANTS DE LA REGION PARISIENNE :)
Source avec Zip Source avec une capture ANONYM MAIL SIMPLE ET EXPLIQUÉ (WINSOCK + PROGRESSBAR)
Source avec Zip Source avec une capture CHECKEUR DE MAIL (AVEC WINSOCK) MAJ!!!

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) MODIFIER LES EXTENSION DES FICHIERS par okosa
ROUTINE DIR RÉCURSIVE POUR OBTENIR LA LISTE DE TOUS LES FICH... par kerisolde
Source avec Zip Source avec une capture FILE,SECURITY,FICHIER par okosa
Source avec Zip Source avec une capture Source .NET (Dotnet) PATCHEUR DE FICHIER par tototh
Source avec Zip Source avec une capture LECTURE DES INFORMATIONS DES DISQUES COMPOSANT UN ENSEMBLE R... par jack

Commentaires et avis

Commentaire de sLaYeR31 le 25/06/2007 09:07:30

salut ! je recherche exactement sa mais dans l'autre sens ! dans mon projet, je fait appel a un .exe ou je lui envoi des adresse en parametre. le probleme c'est que le format avec espace marche pas... tu pourrai m'expliquer la regle de convertion en details ?
merci

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales