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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| ' ---- ces routines utilisent des adresses en notation URL ----
' thisDir : chemin de répertoire avec un / terminal
' URLPath : chemin de fichier, ne comporte pas de / terminal
' un nom de fichier peut comporter une extension précédée d'un .
' un nom de fichier peut comporter un . terminal (extension de taille nulle)
' un nom de répertoire peut comporter un .
' renvoie le répertoire contenant le fichier
'Exemple: monrRepertoire = getDirectory(ThisComponent.getURL)
Function getDirectory(URLPath As String) As String
Dim parts As Variant
parts = split(URLPath, "/")
parts(UBound(parts())) = ""
getDirectory = join(parts, "/")
End Function
' renvoie le répertoire père de thisDir
Function getParentDir(thisDir As String) As String
Dim resu As String
resu = getDirectory(Mid(thisDir, 1, Len(thisDir) -1))
if LCase(resu) = "file:///" then
err = 76 ' Il n'y a pas de répertoire père
else
getParentDir = resu
end if
End Function
' renvoie le nom complet d'un fichier : Nom.Ext
'EXEMPLE: monFichier = getFullFileName(ThisComponent.getURL)
Function getFullFileName(URLPath As String) As String
Dim parts As Variant
parts = split(URLPath, "/")
getFullFileName = parts(UBound(parts())
End Function
' renvoie le nom du fichier, sans son extension
'EXEMPLE: monFichier = getFileNameOnly(ThisComponent.getURL)
Function getFileNameOnly(URLPath As String) As String
Dim s As String, parts As Variant
s = getFullFileName(URLPath)
parts = split(s, ".")
if UBound(parts()) > 0 then
parts(UBound(parts())) = ""
s = join(parts, ".")
getFileNameOnly = Mid(s, 1, Len(s) -1)
else
getFileNameOnly = parts(0)
end if
End Function
' renvoie l'extension du fichier, avec son point
'EXEMPLE: monFichier = getFileExt(ThisComponent.getURL)
Function getFileExt(URLPath As String) As String
Dim s As String, parts As Variant
s = getFullFileName(URLPath)
parts = split(s, ".")
if UBound(parts()) > 0 then
getFileExt = "." & parts(UBound(parts()))
else
getFileExt = "" ' aucune extension, même pas le point
end if
End Function |
Partager