0/5 (2 avis)
Snippet vu 4 363 fois - Téléchargée 30 fois
procedure TForm1.CreerlisteRep(RepRacine: string); var cc,dd:integer; entreeL:string; xr:TsearchRec; begin //BUT :RECENSER TOUS LES SOUS-REP SUSCEPTIBLES DE CONTENIR //DES FICHIERS //sur la base d'un repertoire racine ajouté à la liste des sous rep //-on recherche un sous-repertoire //-si on le trouve on le rajoute à la liste des sous-rep et //ajoute +1 au nb d'items figurant dans la liste //-plus loin, ce sous-repertoire servira de répertoire racine //-l'opération est terminée quand l'indice incrémenté=nb d'items -1 //mise à blanc ListeSousRep.Clear; //récupération premier repertoire ListeSousRep.add(RepRacine); //nb d'item de départ dd:=ListeSousRep.Count; //indice de la liste cc:=0; //boucle tant que indice<nb items-1 while CC<=dd-1 do begin //a2 //repertoire racine entreeL :=ListeSousRep.strings[cc]; //recherche de sous-rep if findfirst(entreeL+'*.*',FaDirectory,xr)=0 then begin //a1 //ajout si sous-rep trouve et incrementation de 1 de dd if (xr.name[length(xr.name)]<>'.') and ((xr.Attr and faDirectory)=FaDirectory) and (ListeSousRep.IndexOf(entreeL+xr.name+'\')=-1) then begin ListeSousRep.Add(entreeL+xr.name+'\'); dd:=dd+1; end; //boucle de recherche while findnext(xr)=0 do begin if (xr.name[length(xr.name)]<>'.') and ((xr.Attr and faDirectory)=FaDirectory) and (ListeSousRep.IndexOf(entreeL+xr.name)=-1) then begin ListeSousRep.Add(entreeL+xr.name+'\'); dd:=dd+1; end; end; end; //a1 //fermeture recherche pour repertoire racine findClose(xr); //incrementation de l'indice de liste cc:=cc+1; end; //a2 End;
19 déc. 2003 à 14:13
Cela vaut bien "une chaîne de caractère ..." qui sans "s" ressemble à une chaîne avec de la personnalité.
PS plus sérieux : dans mon code, la TstringList "ListeSousRep" doit être déclarée hors de la procédure.
19 déc. 2003 à 12:26
J'avais déjà trouvé une source pour faire cela ailleurs mais ta source à l'air un peu plus simple que celle que j'avais utilisée (qui utilisé déjà le Tserchrec...).
Merci.
PS : un string (tout le monde connait) <> une string (chaine de caractère...)
à+
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.