Page 1 sur 1

[RESOLU] ExamineDirectory et ordre des fichiers

Publié : ven. 27/avr./2012 7:28
par wood51
Bonjour,

Je suis en train de refaire mon log de bon de livraison . les BL était stocké dans un fichier texte de la façon suivante:
Fichier :
BL11 du 18-02-2011.txt
Contenu :
AS250M150V3;530;191;310
AS250M150V3;531;193;341
AS250M150V3;532;233;300
AS250M150V3;533;234;309
AS250M150V3;534;285;305
AS280L240-28V5;37;329;281

Je voudrais insérer toutes ces données dans un base SQLite donc j'ai écrit un code pour ouvrir les fichiers et énumérer les contenus
Le soucis est que je ne vois pas comment lister les fichiers dans l'ordre avec ExamineDirectory

Auriez vous une piste car là je patauge :roll:

voilà mon bout de code :

Code : Tout sélectionner

repertoire$ = "BL_Backup\"

If ExamineDirectory(0, repertoire$, "*.txt")
  While NextDirectoryEntry(0)
    If DirectoryEntryType(0) = #PB_DirectoryEntry_File
      fichier$ = DirectoryEntryName(0)
      ; extraction no Bl
      pos = FindString(fichier$, "du") - 1
      nobl$ = Mid(fichier$, 3, pos - 2)
      Debug "BL n°" + nobl$
      ; extraction date
      Debug "Edité le " + Left(Right(fichier$, 14), 10)
      fichier$ = repertoire$ + fichier$
      If OpenFile(0, fichier$)
        While Eof(0) = 0
          ligne$ = ReadString(0)
          Debug "Modèle :" + StringField(ligne$, 1, ";") + "," + "N° Machine :" + StringField(ligne$, 2, ";") + "," + "N° Rotor :" + StringField(ligne$, 3, ";") + "," + "N° Stator :" + StringField(ligne$, 4, ";")
        Wend
        CloseFile(0)
      EndIf
      Debug "----------------------------------------------"
    EndIf
  Wend
EndIf

Re: ExamineDirectory et ordre des fichiers

Publié : ven. 27/avr./2012 8:13
par Kwai chang caine
Peut etre mettre le resultat de ton examine directory dans un tableau, puis faire un SortArray(ArrayName(), Mode [, Debut, Fin])
Ou bien dans une list et faire un SortList(ListName(), Mode [, Debut, Fin])

Re: ExamineDirectory et ordre des fichiers

Publié : ven. 27/avr./2012 8:22
par wood51
Pas bête !!! Donc en fait il faut mettre les noms de fichier dans un tableau et faire le tri puis les ouvrir par là suite et les insérer dans la db .
Pourquoi je n'y est pas pensé :oops: c'est là que je vois que je suis vraiment débutant .
Merci , j'essaie dans la journée .

Re: ExamineDirectory et ordre des fichiers

Publié : ven. 27/avr./2012 11:32
par Kwai chang caine
Content de t'avoir dépanné, peut etre les copains auront d'autres idées. :D

Rassure toi, ça fait cinq ans, en codant tous les jours, que j'ai pas quitter la rubrique DEBUTANT :mrgreen:
En fait...j'suis pas sur que ça te rassure :lol: :lol:

Re: ExamineDirectory et ordre des fichiers

Publié : ven. 27/avr./2012 16:22
par wood51
Bon ba voilà , j'avais jamais utilisé les listes et les structures , c'est fait !!!

Code : Tout sélectionner

#repertoire = "BL_Backup\"

Structure BL
  nobl.i
  datebl.s
  nom.s
EndStructure

If ExamineDirectory(0, #repertoire, "*.txt")
  NewList fichier.BL()
  While NextDirectoryEntry(0)
    If DirectoryEntryType(0) = #PB_DirectoryEntry_File
      nom_fichier.s = DirectoryEntryName(0)
      pos = FindString(nom_fichier, "du") - 1
      no.i = Val(Mid(nom_fichier, 3, pos - 3))
      date.s = Left(Right(nom_fichier, 14), 10)
      AddElement(fichier())
      With fichier()
      \nobl = no
      \datebl = date
      \nom = nom_fichier
      EndWith
      Debug "BL n°" + Str(fichier()\nobl) + " Editer le " + fichier()\datebl + " nom fichier:" + nom_fichier
    EndIf
  Wend
EndIf

Debug"-------------------------------------"

SortStructuredList(fichier(), #PB_Sort_Ascending, OffsetOf(BL\nobl), #PB_Sort_Integer)

ResetList(fichier())
While NextElement(fichier())
  Debug "BL n°" + Str(fichier()\nobl) + " Editer le " + fichier()\datebl + " nom fichier:" + fichier()\nom
Wend
Mon problème d'ordre de fichiers est résolus reste plus que le contenu . Je vais me la tenté pareil .
Pour info je programme depuis environ 15ans mais comme je me suis jamais donné le temps (et la peine) je suis un vrai bricolio :roll:
ce qui est sûr c'est que purebasic ma redeonner envie (c,c++ c'est chiant je trouve) . en plus le forum est super et très réactif .

Merci Kwai chang caine et merci le forum

Re: [RESOLU] ExamineDirectory et ordre des fichiers

Publié : sam. 28/avr./2012 19:08
par Kwai chang caine
J'suis content d'avoir pu t'aider...c'est pas tous les jours que j'y arrive :oops:

C'est sur que le C est bien plus strict et bien moins simple a mettre en œuvre.
L'avantage de PB, c'est que tu gardes un esprit C, mais sans ses "inconvénients".
En tout cas content d'avoir un "petit nouveau" dans la famille.

Si tu parles un peu la langue de "chèques pire" y'a aussi le forum officiel principal
http://forums.purebasic.com/

Et si tu bois de la bière, et aime la choucroute, y'a le forum officiel allemand :
http://www.pure-board.de/

Y'a aussi un forum sur le grand développez.com un gros travail de COMTOIS, comme quoi, PB est un petit qui a tout d'un grand 8)
http://www.developpez.net/forums/f911/a ... purebasic/

Vala vala...y'en a encore d'autres....mais je te laisse découvrir la communauté qui grandit de jour en jour, par toi-même

Re: [RESOLU] ExamineDirectory et ordre des fichiers

Publié : sam. 28/avr./2012 22:14
par wood51
merci,merci :D