~ Edito ~
12/03/2006 @ 13:39
Depuis la dernière mise à jour (qui remonte à... oulala plusieurs mois), un petit ménage de printemps s'impose. Ca tombe bien, c'est presque la période. Au menu, et progressivement sur les jours à venir, rafraîchissement de plusieurs fonctions et procédures, nouvelles APIs et nouveaux programmes. ~ Rechercher ~
~ Annuaire VB ~
~ Partenaires ~
|
Procédure : PrepareRep Private Declare Function CreateDirectory Lib "kernel32" Alias "CreateDirectoryA" ( _ ByVal lpPathName As String, lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long Private Declare Function SetCurrentDirectory Lib "kernel32" Alias "SetCurrentDirectoryA" ( _ ByVal lpPathName As String) As Long Private Declare Function GetCurrentDirectory Lib "kernel32" Alias "GetCurrentDirectoryA" ( _ ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long ' Déclaration du type utilisé. Private Type SECURITY_ATTRIBUTES nLength As Long lpSecurityDescriptor As Long bInheritHandle As Long End Type Public Sub PrepareRep(stRep As String) ' Cette procédure permet de créer le chemin complet donné en paramètre. Dim lgDepRep As Long, stDepRep As String Dim lgWhile As Long ' Type Sécurité de la base de registres. Dim lpAttr As SECURITY_ATTRIBUTES lgDepRep = 512 stDepRep = Space$(511) ' Mémorise le répertoire courant. lgWhile = GetCurrentDirectory(lgDepRep, stDepRep) stDepRep = Left$(stDepRep, lgWhile) ' Affecte les valeurs par défaut des attributs de sécurité. lpAttr.nLength = 50 lpAttr.lpSecurityDescriptor = 0 lpAttr.bInheritHandle = True ' Initialise la fin de la chaîne. If Right$(stRep, 1) <> "\" Then stRep = stRep & "\" ' Repère le départ du premier répertoire. lgWhile = InStr(4, stRep, "\") Do While (lgWhile > 0) ' Vérifie l'existence du répertoire en se positionnant à l'intérieur. lgDepRep = SetCurrentDirectory(Left$(stRep, lgWhile)) If lgDepRep = 0 Then ' Crée le répertoire. CreateDirectory Left$(stRep, lgWhile), lpAttr End If lgWhile = InStr(lgWhile + 1, stRep, "\") Loop ' Retourne sur le répertoire courant d'origine. SetCurrentDirectory stDepRep End Sub |