Page 1 sur 3

Question sur FileSystem

Publié : sam. 06/nov./2010 14:56
par dayvid
Salut la troupe

Bon je voudrais simplement savoir comment je fais
pour lister tous les répertoire et fichier d'un répertoire donner
ya bien ce code la:

Code : Tout sélectionner

Directory$ = "C:\"   ; Énumère le contenu du répertoire C (Les sous-répertoires ne sont pas examinés) 
  If ExamineDirectory(0, Directory$, "*.*")  
    While NextDirectoryEntry(0)
      If DirectoryEntryType(0) = #PB_DirectoryEntry_File
        Type$ = " [Fichier] "
      Else
        Type$ = " [Sous-répertoire] "
      EndIf
      
      Debug DirectoryEntryName(0) + Type$ + "- Taille en octet : " + Str(DirectoryEntrySize(0))
    Wend
    FinishDirectory(0)
  EndIf
Oui mais moi je veux tous les dossiers /sous dossier et fichier des sous dossier etc.
bref je voudrais la liste complète de tous ce qui se trouve dans le dossier racine :)

Re: Question sur FileSystem

Publié : sam. 06/nov./2010 15:10
par Ar-S
Vas dans rechercher et tape : listall()

Re: Question sur FileSystem

Publié : sam. 06/nov./2010 17:23
par dayvid
Merci beaucoup Ar-S :D

Maintenant j'ai tous ce qui me faut pour continuer mon nouveau programme

Bon ok je le dévoile, je vais essayer (Oui j'ai bien dit essayer :lol: )
de faire un gestionnaire de fichiers

A quoi sa va servir ?, et bien imaginer que dans un dossier
par exemple une base de donnée de fichier, vous ayez donc
des quantité astronomique de fichier quel qu'ils soit
dans pleins de dossier et sous dossier et sous sous dossier etc.

Bien vous souhaitez mettre à jour l'un de ses fichiers
il va falloir alors que vous vous rappeliez ou se fichier ce situe
et une fois ça fait d'aller le chercher, et le remplacer

Et bien imaginer que il faut faire 10 sous dossier pour y
parvenir, la poisse alors que ce serais plus simple de
donner ce fichier a ce programme qui lui va s'en débrouiller

Voilà là où je veux en venir, c'est ce qui m'arrive
car je range mes données dans un seule dossier
mais qui sont bien trier avec des sous dossiers etc.

Et j'en ai marre à chaque fois que je veux remettre tous sa a jour
je dois tous effacer et tous réécrire les nouveaux fichiers
et ça prend une éternité, voilà pourquoi je vais faire ça :D

Ba évidement que je n’ai pas trouvé ce genre de logiciel
Donc je ne sais pas si sa existe alors je vais le crée :)

Re: Question sur FileSystem

Publié : sam. 06/nov./2010 19:47
par Ar-S
ça s'appelle "synchroniser"

Re: Question sur FileSystem

Publié : sam. 06/nov./2010 19:57
par falsam
Avec Window 7, une indexation étant active, la recherche d'un fichier donne un résultat immédiat.

Re: Question sur FileSystem

Publié : dim. 07/nov./2010 17:21
par dayvid
Vista aussi le fait :wink:

Bien j'ai fait ça mais je ne comprends pas car
les quatre première ligne montre bien la taille des fichiers mais pas les suivante:

http://www.archive-host.com/files/65092 ... exation.7z

Pouvez-vous me dire pourquoi ? :)

Dite, ce serais trop demander d'avoir une réponce, sa fait deux jour que j'attend moi :)

Re: Question sur FileSystem

Publié : mar. 09/nov./2010 19:20
par dayvid
Je ne comprends pas, la taille des fichiers du répertoire racine est afficher mais dès que
il entre dans un sous répertoire, la plus rien, taille = 0 octets, pige pas la moi

Ce n’est pas un problème de variable, je me demande d'où ça peut bien venir ?
y aurais-t-il un bug, j'en doute, ce qui est bizarre, c'est que il affiche bien
tous les fichiers de tous les répertoires ainsi que toutes les informations demander
mais pas la taille des fichiers, je vais devenir chèvre moi :lol:

Re: Question sur FileSystem

Publié : mar. 09/nov./2010 22:19
par Ar-S
désolé, pas vu ton code, vraiment pas le temps en ce moment, je suis à fond sur mon site qui est bientôt terminé.

Re: Question sur FileSystem

Publié : mar. 09/nov./2010 23:13
par boddhi
Si tu veux de l'aide, faudrait peut-être voir à mettre un peu de code !!!

Sinon, Filesize(Nom du fichier avec chemin complet) devrait satisfaire ton besoin...

Re: Question sur FileSystem

Publié : mer. 10/nov./2010 0:08
par case
en fait ta procédure de recherche paramètres ne connais pas 'repertoire' tu dois le mettre comme paramètre

Code : Tout sélectionner

    Recherche_parametre_fichier(repertoire)
sinon forcement ca marche pas ... vu que pour la procédure "repertoire = 0 "

Re: Question sur FileSystem

Publié : mer. 10/nov./2010 1:32
par dayvid
Case, vraiment je te dit un TRES GRAND MERCI :D :D :D :D

La vache, j'aurais pu chercher longtemps comme ça :( :cry:
Pour temps j'ai bien mis la variable "repertoire" en global ?

Il me manque des bases que je n'ai pas bien compris :

Quand une variable est global, ça veut dire qu’elle
peut-être accéder à tout moment et que sa valeur ne change pas
sauf si on la change mais même là je n’y avais pas accès
et ce problème m’es déjà arriver beaucoup de fois dans le passé :|

Enfin grace a toi je vais pouvoir continuer, grand merci :)

Re: Question sur FileSystem

Publié : mer. 10/nov./2010 10:40
par Ar-S
Une Global permet à ton code de pouvoir utiliser une "information" dans tout ton code, y compris les procédures.

Code : Tout sélectionner

Global toto.l ; On dit que toto devra être un chiffre long et sera dispo dans tout le code
toto=25000 : on donne une valeur à toto

Procedure AjouteCinq(Valeur)
  NouvelleValeur=Valeur+5
  ProcedureReturn NouvelleValeur
EndProcedure

NouveauToto=AjouteCinq(toto)
Debug NouveauToto
; On voit bien ici que la procédure a bien pris en compte la valeur de toto et lui a ajouté 5

Re: Question sur FileSystem

Publié : mer. 10/nov./2010 12:09
par dayvid
Salut !

Oui Ar-S, je le sais bien ça tu sais :)

Mais, même en fessent comme ça, des fois, je ne parviens pas à accéder à une variable !

Ça se passe je croix généralement par exemple quand je prends une
variable global et que cette même variable je la passe comme paramètre a une
procédure, voici un exemple très concret :

Code : Tout sélectionner

a = 1
Procedure aaa(a)
a - 1
EndProcedure

a * 7 - 2
Debug aaa(a)
Ma variable « a » est bien globale non ?
Et pourtant, ça affiche 0, alors moi je deviens chèèèèèèèèèèèvre :lol:

Edit: Et tien tans que j'y suis, comment on fait pour savoir le type d'un fichier
texte, image, son, Exe, etc.

Edit: Et aussi, comment je fais aussi pour que quand je double clic sur
un fichier dans mon explorateur de fichier, qu'il s'ouvre (que Windows l'ouvre)

Image

Re: Question sur FileSystem

Publié : mer. 10/nov./2010 12:39
par Ar-S
Ba si tu ne mets pas
Global a.l qui dira que a (est un long et qu'il) est global,
Ton a ne sera pas global...
et faut ajouter un ProcedureReturn pour renvoyer ta valeur.

Code : Tout sélectionner

Global a 
a=1
Procedure aaa(cible) 
  cible - 1
  ProcedureReturn cible
EndProcedure 
a * 7 - 2 

Debug aaa(a)

Re: Question sur FileSystem

Publié : mer. 10/nov./2010 13:42
par Backup
dayvid a écrit :Salut !

Oui Ar-S, je le sais bien ça tu sais
:)

Mais, même en fessent comme ça, des fois, je ne parviens pas à accéder à une variable !

Ça se passe je croix généralement par exemple quand je prends une
variable global et que cette même variable je la passe comme paramètre a une
procédure, voici un exemple très concret :

Code : Tout sélectionner

a = 1
Procedure aaa(a)
a - 1
EndProcedure

a * 7 - 2
Debug aaa(a)
Ma variable « a » est bien globale non ?

j'ai mis en rouge les 2 phrases qui te caractérise le plus !!

Phrase 1 ; tu affirme un truc, alors que ce que tu dis, et ce que tu montre ensuite
démontre qu'en fait .... ben tu sais pas ! :roll:

Phrase 2 ; tu pose une question en etant quasi sur de la réponse !!
puisque fier de ta découverte , tu donne une exemple erroné, pour assoir tes dires
"affabulesques"

bref , tu ne connais rien, et pourtant, tu passe ton temps a Affirmer des trucs, en etant sur de toi...

je te conseille Fortement d'arreter d'affirmer sans savoir
ça t'ouvrira des portes....

puis un petit tour sur la Doc (touche F1) notemment la partie "Procédures et portées des variables

" , histoire d'apprendre les bases de la programmation en purebasic

(les variables, les types, les portées, etc .....)

la doc est une vraie mine d'or ! a une seule condition....

celle de prendre la temps de la lire :wink:


je vais te compter une petite histoire que j'ai appris a Shaolin
(et oui... j'ai fait Shaolin !)

un eleve en philo s'approche d'un maitre du TAO, et lui demande de lui parler de sa philosophie

le maitre commence a parler
l'eleve ponctue les phrases du maitre par des
"ha oui, je sais ça.." ;
"arf ! ceci est commun a de nombreuses philosophie"
"oui, bien sur, ça ne m'etonne pas, c'est tellement évident"

le maitre s'interrompt, et décide de servir le Thé

il prends sa théière, et commence a verser l'eau dans la tasse de l'eleve
la tasse se rempli et déborde , le maitre continue de verser son eau

l'eleve lui dit, mais Maitre, pourquoi continuer vous donc de verser, vous voyez bien que ma
tasse déborde ... 8O

le Maitre lui répond
"si tu ne prends pas le soin de vider ta tasse, comment puis-je y mettre mon eau ? "


voila , reflechissez bien a ce petit compte :D