Question sur FileSystem

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Question sur FileSystem

Message 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 :)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Question sur FileSystem

Message par Ar-S »

Vas dans rechercher et tape : listall()
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Question sur FileSystem

Message 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 :)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Question sur FileSystem

Message par Ar-S »

ça s'appelle "synchroniser"
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Question sur FileSystem

Message par falsam »

Avec Window 7, une indexation étant active, la recherche d'un fichier donne un résultat immédiat.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Question sur FileSystem

Message 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 :)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Question sur FileSystem

Message 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:
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Question sur FileSystem

Message 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é.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
boddhi
Messages : 604
Inscription : lun. 26/avr./2010 16:14
Localisation : S 48° 52' 31'' / O 123° 23' 33''

Re: Question sur FileSystem

Message 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...
Avatar de l’utilisateur
case
Messages : 1546
Inscription : lun. 10/sept./2007 11:13

Re: Question sur FileSystem

Message 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 "
ImageImage
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Question sur FileSystem

Message 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 :)
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Question sur FileSystem

Message 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
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
dayvid
Messages : 1242
Inscription : mer. 11/nov./2009 18:17
Localisation : Poitiers (Vienne)

Re: Question sur FileSystem

Message 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
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !

Mon forum http://purebasic.forumphp3.com/index.php
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Question sur FileSystem

Message 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)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Question sur FileSystem

Message 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
Répondre