| [Résolu] file_find_[...] donne des résultats bizarres | |
|
|
Auteur | Message |
---|
Mass *Excellent utilisateur*
Messages : 3351 Localisation : Dans une canonnière wookie. Projet Actuel : Monter des trucs et des machins
| Sujet: [Résolu] file_find_[...] donne des résultats bizarres Mer 16 Juin 2010 - 15:46 | |
| Bonjour à tous, J'ai écris un petit navigateur de fichiers en gml et pour obtenir le contenu d'un répertoire, je fais : - Code:
-
file_find_first(path,fa_directory) et ensuite un - Code:
-
file_find_next() dans un while et je ferme par un - Code:
-
file_find_close() Je stocke tout ça dans une liste, là pas de problèmes, sauf que les deux premiers emplacements de la liste sont occupés par "." et ".." J'ai donc incrusté cette ligne de code dans le script : - Code:
-
cnt_check=0; repeat ds_list_size(file_list) { if !file_exists(string(argument0)+string(ds_list_find_value(file_list,cnt_check))) and !directory_exists(string(argument0)+string(ds_list_find_value(file_list,cnt_check))) then ds_list_delete(file_list,cnt_check); cnt_check+=1; } qui, si je ne me trompe pas, supprime la valeur de la liste si argument0 n'est pas un dossier et n'est pas un fichier. Or, ben non, ça change rien, les "." et ".." sont toujours sur les deux premières valeurs de la liste. J'aurais bien fait un truc pour supprimer les deux premières valeur mais impossible, car il n'y sont pas tout le temps ! :p_gne: J'ai vérifié mon code en détail, rien n'est censé ajouter ces points... Si quelqu'un a une idée de leur origine, merci de l'aide EDIT : apparament, la fonction directory_exists() renvoie true quand je la pointe sur eux... :p_gne:²
Dernière édition par Mass le Lun 28 Juin 2010 - 12:59, édité 1 fois |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolu] file_find_[...] donne des résultats bizarres Mer 16 Juin 2010 - 16:41 | |
| tu peut toujours verifier par une simple condition entre chaines non ?
file_find_first(path,fa_directory) while blabla { s = file_find_next() if( s != "." || s != ".." ) ds_list_add( list , s ) } file_find_close() |
|
| |
Mass *Excellent utilisateur*
Messages : 3351 Localisation : Dans une canonnière wookie. Projet Actuel : Monter des trucs et des machins
| Sujet: Re: [Résolu] file_find_[...] donne des résultats bizarres Mer 16 Juin 2010 - 16:49 | |
| j'ai essayé, j'ai eu droit à un fatal error blablabla cannot compare arguments... Après test, pointer à la main sur "." renvoie au dossier parent et sur ".." à la racine. C'est lourd comme truc quoi |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolu] file_find_[...] donne des résultats bizarres Mer 16 Juin 2010 - 17:11 | |
| j'ai fait sa et ça marche : - Code:
-
path = "C:\Program Files\*.*"
list = ds_list_create()
file_find_first(path, fa_directory) s = file_find_next()
while( s != "" ) { if(s != "." && s != "..") ds_list_add(list, s) s = file_find_next() }
file_find_close()
pour verifier : - Code:
-
for(i= 0 ;i<ds_list_size(list) ; i+=1) draw_text(16,16*i,ds_list_find_value(list, i) )
|
|
| |
Qualcuno Très bonne participation
Messages : 150
| Sujet: Re: [Résolu] file_find_[...] donne des résultats bizarres Mer 16 Juin 2010 - 17:17 | |
| Le . et le .. c'est pour remonter dans les répertoire ... |
|
| |
Mass *Excellent utilisateur*
Messages : 3351 Localisation : Dans une canonnière wookie. Projet Actuel : Monter des trucs et des machins
| Sujet: Re: [Résolu] file_find_[...] donne des résultats bizarres Mer 16 Juin 2010 - 17:50 | |
| onilink_ : je teste ça ||| Deux minutes plus tard : ok sparfait merci qualcuno : je sais, mais j'en veut pas |
|
| |
Mass *Excellent utilisateur*
Messages : 3351 Localisation : Dans une canonnière wookie. Projet Actuel : Monter des trucs et des machins
| Sujet: Re: [Résolu] file_find_[...] donne des résultats bizarres Jeu 17 Juin 2010 - 11:57 | |
| Hum sinon quelqu'un a une idée de comment obtenir la liste des disques durs sur le pc ? |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: [Résolu] file_find_[...] donne des résultats bizarres Jeu 17 Juin 2010 - 14:37 | |
| Y'avais une (même plusieurs) dll sur la GMC pour ça. |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolu] file_find_[...] donne des résultats bizarres Jeu 17 Juin 2010 - 14:50 | |
| pas besoin - Code:
-
a = 0 for(i=1 ; i<26 ; i+=1) { lecteur = chr( ord('A') + i ) if(directory_exists(lecteur+":") ) { draw_text( 16, 16*a, lecteur + " find" ) a += 1 } }
xD par contre le lecteur A fait galerer si y a pas de disque |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: [Résolu] file_find_[...] donne des résultats bizarres Jeu 17 Juin 2010 - 15:36 | |
| Ouais mais ça te donne tous les lecteurs, pas la liste des disques durs. |
|
| |
Mass *Excellent utilisateur*
Messages : 3351 Localisation : Dans une canonnière wookie. Projet Actuel : Monter des trucs et des machins
| Sujet: Re: [Résolu] file_find_[...] donne des résultats bizarres Jeu 17 Juin 2010 - 16:47 | |
| Je cherche les lecteurs lisibles, merci onilink_ :nah: EDIT : ça marche mais ça pop des erreurs windows comme quoi le disque n'existe pas |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Résolu] file_find_[...] donne des résultats bizarres Jeu 17 Juin 2010 - 16:56 | |
| oui juste pour le lecteur A en fait, je sais pas trop d'ou ça viens x) |
|
| |
Mass *Excellent utilisateur*
Messages : 3351 Localisation : Dans une canonnière wookie. Projet Actuel : Monter des trucs et des machins
| Sujet: Re: [Résolu] file_find_[...] donne des résultats bizarres Jeu 17 Juin 2010 - 17:00 | |
| windows n'a jamais bien géré les disquettes... Tant pis, je vais l'exclure du script Vraisemblablement, ça ne vient pas de A: |
|
| |
Contenu sponsorisé
| Sujet: Re: [Résolu] file_find_[...] donne des résultats bizarres | |
| |
|
| |
| [Résolu] file_find_[...] donne des résultats bizarres | |
|