Page 1 sur 1
CreateDirectory
Publié : ven. 16/nov./2007 2:09
par Backup
pouvez vous faire
dans le but de creer un dossier dans un dossier alors qu'aucun des 2 n'existes ??
il me semble bien avoir pu le faire, mais la ça veux plus !!

Publié : ven. 16/nov./2007 8:27
par Kwai chang caine
Bonjour DOBRO
Bah non, ça marche pas non plus chez moi, mais on m'a toujours dit qu'on ne pouvait pas avec PB creer de dossiers recurssifs.
C'est pour ça que le soldat (qui me manque) avait créé ce code, il me semble

:
Code : Tout sélectionner
; Auteur : Le Soldat Inconnu
;
; Explication du programme :
; Ce code permet de créer un dossier dont le ou les répertoires parents n'existent pas.
; Exemple :
; je souhaite créé le dossier "C:\Program files\truc\bidule"
; Seul le dossier "C:\Program files\" existe
; Si j'utilise CreateDirectory("C:\Program files\truc\bidule"), cela ne va pas marcher car le dossier "C:\Program files\truc\" n'existe pas
; Si j'utilise CreateDirectoryEx("C:\Program files\truc\bidule"), tous les les dossiers seront créés :
; C:\Program files\
; C:\Program files\truc\
; C:\Program files\truc\bidule
Procedure.l CreateDirectoryEx(FolderPath.s)
; Retourne 1 si la création du dossier à réussi, 0 sinon
Protected Folder.s, Txt.s, Cpt.l
If FileSize(Folder) = -1
Folder.s = StringField(FolderPath, 1, "\") + "\"
Cpt.l = 1
Repeat
Cpt + 1
Txt.s = StringField(FolderPath, Cpt, "\")
Folder = Folder + Txt + "\"
CreateDirectory(Folder)
Until Txt = ""
EndIf
If FileSize(FolderPath) = -2
ProcedureReturn 1
Else
ProcedureReturn 0
EndIf
EndProcedure
;- Test
If CreateDirectoryEx("c:\truc\bidule")
MessageRequester("", "Le dossier 'c:\truc\bidule' a été créé", 0)
Else
MessageRequester("Erreur", "impossible de créer le dossier 'c:\truc\bidule'", 0)
EndIf
Publié : ven. 16/nov./2007 10:11
par lionel_om
Code : Tout sélectionner
ProcedureDLL MakeSureDirectoryPathExists(Directory.s)
; Return 1 If success / 0 If fail
retour=MakeSureDirectoryPathExists_(Directory)
ProcedureReturn retour
EndProcedure
Lio

Publié : ven. 16/nov./2007 11:10
par Backup
Merci beaucoup les gars !!
j'avais commencé une alternative, mais il n'empeche que je trouve ça nul !!
Le purebasic a encore pas mal de chose a integrer , il me semble ....
Merci encore

Publié : jeu. 29/nov./2007 17:47
par RV
Salut Dobro,
Je suis déjà tombé sur ce problème et j'ai trouvé cette soluce
En fait, il faut créer un à un tes répertoires.
J'espère t'avoir aidé même si je pense avoir un peu de retard!

Publié : jeu. 29/nov./2007 17:50
par Backup
RV a écrit :Salut Dobro,
Je suis déjà tombé sur ce problème et j'ai trouvé cette soluce
En fait, il faut créer un à un tes répertoires.
J'espère t'avoir aidé même si je pense avoir un peu de retard!

Merci .. je l'avais compris, mais ça reste vachement nul
cela aurai ete sympath de pouvoir tout creer d'un coup ....

Publié : jeu. 29/nov./2007 18:58
par case
même window n'a pas d'api qui le fasse
le dos par contre a la commande MD qui le fait , ceci dit c'est possible que la commande MD utilise la meme facon de proceder que le code du soldat inconnu posté par Kwai chang caine...
Publié : jeu. 29/nov./2007 19:07
par lionel_om
case a écrit :même window n'a pas d'api qui le fasse
Et le code que j'ai posté, c'est quoi alors ?
Lio

Publié : jeu. 29/nov./2007 20:45
par case
oO
désolé

la honte m'assaille
