OVH Cloud OVH Cloud

Commentmarche le Dir ?

4 réponses
Avatar
le_troll
Bonjour,

J'ai un problème avec 1 Dir A, je n'arrive pas à le faire avancer dans
la lecture des fichiers, en fait c'est plus compliqué que ça:

Je suis en VB5 (NT 4 <- grosse cochonnerie!)...
-1- Je fais un kill *.* sur A
-2- Je lis la liste des chemins + fichiers qui sont sauvegardés
-3- Je fais une boucle inversé step -1 sur chaque ligne pour avoir le nom du
fichier (stop 1er backSlash)
-4- J'écris depuis path+file sur A le nom du fichier, ça marche mais:
-5- Quand ça arrive en fin ça sort en erreur (63) je crois, bon, là pas de
problème, etc...

Mais si le dernier fichier ne peut être copié en entier, il s'écrit quand
même sur A mais vide (0 octet)! Et va de nouveau s'écrire en totalité sur la
prochaine disquette, de facto, il faudrait supprimer tout fichier vide avant
de passer à l'autre disquette, ceci juste sous l'erreur 63 (disquette
pleine), et comme avec le chemin j'ai le nom du fichier, je peux le mettre
dans une variable(indicée), puis faire un Dir A + NameFile et si < 1 = kill

"NG" m'a fait une routine, mais elle provoque une erreur système que je
n'avais jamais vu (après coup), disant en gros que "ça reboucle sans cesse
sur la disquette", j'ai eu le plus grand mal à reformater, je pensais ne pas
y arriver d'ailleurs...

Bref, je voudrais savoir comment on fait avancer le Dir A, car si on met
juste cette commande en boucle, ou même avec un test Do While, ça n'avance
pas, par exp:
3 fic 1,2,3
msgbox dir A ' j'aurais 1
msgbox dir A ' j'aurais 1
msgbox dir A ' j'aurais 1

Question, comment faire pour que qu'avec le Dir je vois tous les
fichiers un par un (1, 2 et 3) ?
--
Merci, @+, bye, Joe
montmartre75 AROBASE iFrance POINT com
------------------------------------------
Avec une hache, celui qui tient le manche a toujours raison !
------------------------------------------

4 réponses

Avatar
Greg
Bonjour,

je ne me rappelle polus bien si en VB5 c'est comme en VB6 mais en VB6 il suffit de faire quelque chose comme ça
Dim Reponse As Strin
Reponse = Dir <TonChemin> ' La première foi
While Reponse <> "
Reponse = Dir ' Sans rien derrièr
Wen
A+

Gre
Avatar
le_troll
merci, je vais essayer

--
Merci, @+, bye, Joe
montmartre75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
------------------------------------------


"Greg" a écrit dans le message de
news:
Bonjour,

je ne me rappelle polus bien si en VB5 c'est comme en VB6 mais en VB6 il


suffit de faire quelque chose comme ça :
Dim Reponse As String
Reponse = Dir <TonChemin> ' La première fois
While Reponse <> ""
Reponse = Dir ' Sans rien derrière
Wend
A+

Greg



Avatar
ng
Salut,

Fait voir la routine que je t'ai passé que t'utilises, je pense que c'est
simplement une boucle Do While Loop pour lister les fichiers non ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/


"le_troll" a écrit dans le message de
news:
Bonjour,

J'ai un problème avec 1 Dir A, je n'arrive pas à le faire avancer dans
la lecture des fichiers, en fait c'est plus compliqué que ça:

Je suis en VB5 (NT 4 <- grosse cochonnerie!)...
-1- Je fais un kill *.* sur A
-2- Je lis la liste des chemins + fichiers qui sont sauvegardés
-3- Je fais une boucle inversé step -1 sur chaque ligne pour avoir le nom


du
fichier (stop 1er backSlash)
-4- J'écris depuis path+file sur A le nom du fichier, ça marche mais:
-5- Quand ça arrive en fin ça sort en erreur (63) je crois, bon, là pas de
problème, etc...

Mais si le dernier fichier ne peut être copié en entier, il s'écrit quand
même sur A mais vide (0 octet)! Et va de nouveau s'écrire en totalité sur


la
prochaine disquette, de facto, il faudrait supprimer tout fichier vide


avant
de passer à l'autre disquette, ceci juste sous l'erreur 63 (disquette
pleine), et comme avec le chemin j'ai le nom du fichier, je peux le mettre
dans une variable(indicée), puis faire un Dir A + NameFile et si < 1 kill

"NG" m'a fait une routine, mais elle provoque une erreur système que


je
n'avais jamais vu (après coup), disant en gros que "ça reboucle sans cesse
sur la disquette", j'ai eu le plus grand mal à reformater, je pensais ne


pas
y arriver d'ailleurs...

Bref, je voudrais savoir comment on fait avancer le Dir A, car si on


met
juste cette commande en boucle, ou même avec un test Do While, ça n'avance
pas, par exp:
3 fic 1,2,3
msgbox dir A ' j'aurais 1
msgbox dir A ' j'aurais 1
msgbox dir A ' j'aurais 1

Question, comment faire pour que qu'avec le Dir je vois tous les
fichiers un par un (1, 2 et 3) ?
--
Merci, @+, bye, Joe
montmartre75 AROBASE iFrance POINT com
------------------------------------------
Avec une hache, celui qui tient le manche a toujours raison !
------------------------------------------






Avatar
le_troll
Salut,

Je ne l'ai pas ici, je l'ai juste recopié sur papier pour mon boulot, et
je ne trouve plus ma question dans le forum, pourtant elle n'est pas loin
???
De tête, c'était un truc sur le principe:

do while nom_fic <> ""
dir...
si lenFile(nom_fichier) <> 0 then kill(nom_fichier)
loop

Ça a déstructuré la disquette (pas grave), le Dos n'arrivait plus à
formater, il l'a trouvait avariée (mais il n'est pas doué non plus, jadis je
déstructurais parfois des disquettes sous OS ProloguE et Dos ne savait plus
formater, alors que le contraire n'était pas vrai), en plus c'est sous
NT4...
Donc j'ai eu une erreur jamais vu (X), de tête ça disait en gros que
l'instruction bouclait sur la disquette (message système NT4) "on aurait dit
un message Excel avec les références circulaires", ça a dû déstructurer les
tables, et NT prenait ça pour une disquette invalide, en tentant de lire
bêtement sa table, au lieu de formater physiquement sans rien chercher à
comprendre (je connais un peu, j'ai déjà traficoté des disquettes en TC3++,
jadis, je faisais des protections)...
--
Merci, @+, bye, Joe
montmartre75 AROBASE iFrance POINT com
------------------------------------------
Ce message est certifié "plein de virus"
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
------------------------------------------


"ng" a écrit dans le message de news:
uxHX$d$
Salut,

Fait voir la routine que je t'ai passé que t'utilises, je pense que c'est
simplement une boucle Do While Loop pour lister les fichiers non ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/


"le_troll" a écrit dans le message de
news:
> Bonjour,
>
> J'ai un problème avec 1 Dir A, je n'arrive pas à le faire avancer


dans
> la lecture des fichiers, en fait c'est plus compliqué que ça:
>
> Je suis en VB5 (NT 4 <- grosse cochonnerie!)...
> -1- Je fais un kill *.* sur A
> -2- Je lis la liste des chemins + fichiers qui sont sauvegardés
> -3- Je fais une boucle inversé step -1 sur chaque ligne pour avoir le


nom
du
> fichier (stop 1er backSlash)
> -4- J'écris depuis path+file sur A le nom du fichier, ça marche mais:
> -5- Quand ça arrive en fin ça sort en erreur (63) je crois, bon, là pas


de
> problème, etc...
>
> Mais si le dernier fichier ne peut être copié en entier, il s'écrit


quand
> même sur A mais vide (0 octet)! Et va de nouveau s'écrire en totalité


sur
la
> prochaine disquette, de facto, il faudrait supprimer tout fichier vide
avant
> de passer à l'autre disquette, ceci juste sous l'erreur 63 (disquette
> pleine), et comme avec le chemin j'ai le nom du fichier, je peux le


mettre
> dans une variable(indicée), puis faire un Dir A + NameFile et si < 1 > kill
>
> "NG" m'a fait une routine, mais elle provoque une erreur système que
je
> n'avais jamais vu (après coup), disant en gros que "ça reboucle sans


cesse
> sur la disquette", j'ai eu le plus grand mal à reformater, je pensais ne
pas
> y arriver d'ailleurs...
>
> Bref, je voudrais savoir comment on fait avancer le Dir A, car si on
met
> juste cette commande en boucle, ou même avec un test Do While, ça


n'avance
> pas, par exp:
> 3 fic 1,2,3
> msgbox dir A ' j'aurais 1
> msgbox dir A ' j'aurais 1
> msgbox dir A ' j'aurais 1
>
> Question, comment faire pour que qu'avec le Dir je vois tous les
> fichiers un par un (1, 2 et 3) ?
> --
> Merci, @+, bye, Joe
> montmartre75 AROBASE iFrance POINT com
> ------------------------------------------
> Avec une hache, celui qui tient le manche a toujours raison !
> ------------------------------------------
>
>
>
>