Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3698 connectés 

  FORUM HardWare.fr
  Programmation

  D4 : un scan du lecteur avec jauge d'avancement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

D4 : un scan du lecteur avec jauge d'avancement

n°172300
HERIBERT
Posté le 06-07-2002 à 16:18:03  profilanswer
 

J'en ai vu passer une... et je l'ai perdue.  
La VCL de M. Bardou comporte (ds la version que j'ai en tt cas) une léger bug, laissant passer les répertoires ayant un attribut supplémentaire à celui du bit Directory. Vieux bug bien connu sous DOS, d'ailleurs.  
 
Vs auriez pas une idée ? En plus, c'est un freeware :love:
 
Merci :hello:

mood
Publicité
Posté le 06-07-2002 à 16:18:03  profilanswer
 

n°172312
[SDF]Poire
Vive Grumly
Posté le 06-07-2002 à 16:54:21  profilanswer
 

G une unit pour ça...
(sans la jauge)
j'avais des améliorations à y porter mais je l'ai jamais fait
Si tu la veux je te la donne
sinon pour corriger le bug fodrait que tu nous dise ou trouver le code (l'url direct je suis fégnant)
 :hello:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°172336
HERIBERT
Posté le 06-07-2002 à 17:54:50  profilanswer
 

[SDF]Poire a écrit a écrit :

G une unit pour ça...
(sans la jauge)
j'avais des améliorations à y porter mais je l'ai jamais fait
Si tu la veux je te la donne
sinon pour corriger le bug fodrait que tu nous dise ou trouver le code (l'url direct je suis fégnant)
 :hello:  




Oh ! Pour corriger le code, c'est facile : il suffit de rajouter une boucle. Ds le FindFirst, il teste seulement faDirectory, autrement dit l'attribut Répertoire. Il vaut mieux chercher '*.*', faAnyfile : on élimine le '.', l'éventuel '..' si l'on n'est pas en racine, et on teste chaque fichier suivant : répertoire, ou non.  
 
Pb : je pourrais corriger le code, mais je ne sais pas compiler une VCL...

n°172340
[SDF]Poire
Vive Grumly
Posté le 06-07-2002 à 18:06:46  profilanswer
 

HERIBERT a écrit a écrit :

 
Oh ! Pour corriger le code, c'est facile : il suffit de rajouter une boucle. Ds le FindFirst, il teste seulement faDirectory, autrement dit l'attribut Répertoire. Il vaut mieux chercher '*.*', faAnyfile : on élimine le '.', l'éventuel '..' si l'on n'est pas en racine, et on teste chaque fichier suivant : répertoire, ou non.  




C exactement ce que je fais  :)  
par contre nivo optimisation C pas top....
Je chercherais si ya pas un autre moyen....
 

HERIBERT a écrit a écrit :

 
Pb : je pourrais corriger le code, mais je ne sais pas compiler une VCL...




Il suffit de modifier l'unité et de compiler le package(dpk) correspondant
(il fo bien sur avoir les sources....)
 :hello:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°172343
HERIBERT
Posté le 06-07-2002 à 18:10:42  profilanswer
 

[SDF]Poire a écrit a écrit :

 
C exactement ce que je fais  :)  
par contre nivo optimisation C pas top....
Je chercherais si ya pas un autre moyen....
 
 
Il suffit de modifier l'unité et de compiler le package(dpk) correspondant
(il fo bien sur avoir les sources....)
 :hello:  




Moi, même en C, et avec algo à l'appui, je n'ai jamais pu définir un algo net pour le scan du lecteur :??: Je bidouillais. Par contre, avec de simples boucles, Bardou est arrivé à un truc efficace :sol: Sauf qu'il laisse échapper les rep cachés, par exemple.  
 
Merci pour le truc :hello: Je vais m'y attaquer !

n°172344
[SDF]Poire
Vive Grumly
Posté le 06-07-2002 à 18:12:21  profilanswer
 

HERIBERT a écrit a écrit :

 
Moi, même en C, et avec algo à l'appui, je n'ai jamais pu définir un algo net pour le scan du lecteur :??: Je bidouillais. Par contre, avec de simples boucles, Bardou est arrivé à un truc efficace :sol: Sauf qu'il laisse échapper les rep cachés, par exemple.  
 
Merci pour le truc :hello: Je vais m'y attaquer !




Moi je le fais par récurence je crois.... je vais chercher :)


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°172346
[SDF]Poire
Vive Grumly
Posté le 06-07-2002 à 18:16:13  profilanswer
 

unit GFiles;
 
interface
 
uses
  Windows, Sysutils, LZExpand, Classes;
 
type
  TFichier = class
    Nom: TFileName;
    Chemin: String;
    Taille: Integer;
    Date: Integer;
    Attr: Integer;
    procedure Assign(Fichier: TFichier);
  end;
 
function FSearch(Fichier : string; Path : string; Rec: Boolean) : TList;
 
implementation
 
 
function FSearch(Fichier : string; Path : string; Rec: Boolean) : TList;
var
  F: TSearchRec;
  r: Integer;
  ReturnS: TList;
  MyFichier: TFichier;
begin
  ReturnS := TList.Create;
  r := FindFirst(Path + '\' + Fichier, $03F, F);
  while r = 0 do
    begin
    if (F.Name <> '.') and (F.Name <> '..') then
    begin
      MyFichier := TFichier.Create;
      with MyFichier do
      begin
        Chemin := Path + '\';
        Nom := F.Name;
        Taille := F.Size;
        Date := F.Time;
        Attr := F.Attr;
      end;
      ReturnS.Add(MyFichier);
    end;
    r := FindNext(F);
    end;
  FindClose(F);
 
  if Rec then
  begin
    r := FindFirst(Path + '\*.*', $03F, F);
    while r = 0 do
      begin
      if (F.Attr and $10 <> 0) and (F.Name <> '.') and (F.Name <> '..') then
        ReturnS.Assign(FSearch(Fichier, Path + '\' + F.Name, True), laOr);
        //ReturnS.AddStrings(FSearch(Fichier, Path + '\' + F.Name, True));
      r := FindNext(F);
      end;
    FindClose(F);
  end;
 
  Result := ReturnS;
end;


 
Elle a subit des bidouillages rescent ;)
Fodrait que je me repenche dessus....
 :hello:


Message édité par [SDF]Poire le 06-07-2002 à 18:22:02

---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°172347
HERIBERT
Posté le 06-07-2002 à 18:18:46  profilanswer
 

[SDF]Poire a écrit a écrit :

Code :
  1. unit GFiles;
  2. interface
  3. uses
  4.   Windows, Sysutils, LZExpand, Classes;
  5. type
  6.   TFichier = class
  7.     Nom: TFileName;
  8.     Chemin: String;
  9.     Taille: Integer;
  10.     Date: Integer;
  11.     Attr: Integer;
  12.     procedure Assign(Fichier: TFichier);
  13.   end;
  14. function FSearch(Fichier : string; Path : string; Rec: Boolean) : TList;
  15. implementation
  16. function FSearch(Fichier : string; Path : string; Rec: Boolean) : TList;
  17. var
  18.   F: TSearchRec;
  19.   r: Integer;
  20.   ReturnS: TList;
  21.   MyFichier: TFichier;
  22. begin
  23.   ReturnS := TList.Create;
  24.   r := FindFirst(Path + '\' + Fichier, $03F, F);
  25.   while r = 0 do
  26.     begin
  27.     if (F.Name <> '.') and (F.Name <> '..') then
  28.     begin
  29.       MyFichier := TFichier.Create;
  30.       with MyFichier do
  31.       begin
  32.         Chemin := Path + '\';
  33.         Nom := F.Name;
  34.         Taille := F.Size;
  35.         Date := F.Time;
  36.         Attr := F.Attr;
  37.       end;
  38.       ReturnS.Add(MyFichier);
  39.     end;
  40.     r := FindNext(F);
  41.     end;
  42.   FindClose(F);
  43.   if Rec then
  44.   begin
  45.     r := FindFirst(Path + '\*.*', $03F, F);
  46.     while r = 0 do
  47.       begin
  48.       if (F.Attr and $10 <> 0) and (F.Name <> '.') and (F.Name <> '..') then
  49.         ReturnS.Assign(FSearch(Fichier, Path + '\' + F.Name, True), laOr);
  50.         //ReturnS.AddStrings(FSearch(Fichier, Path + '\' + F.Name, True));
  51.       r := FindNext(F);
  52.       end;
  53.     FindClose(F);
  54.   end;
  55.   Result := ReturnS;
  56. end;


 
Elle a subit des bidouillages rescent ;)
Fodrait que je me repenche dessus....
 :hello:  




Je vais noter ça ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  D4 : un scan du lecteur avec jauge d'avancement

 

Sujets relatifs
URGENT : comment connaître la lettre du lecteur CD-ROM ????lecteur carte à puce
[DOS] forcer la déconexion d'un lecteur reseauSimulateur de Lecteur CD
[VBS] Déconnecter un lecteur réseau[VBA] Controles avancés Calendar et Jauge
[Visual C++] Indiquer l'avancement d'une appli[VB] Lecteur vidéo Real Player
Comment faire pour creer un lecteur mp3 .....??[Winsock/VB ou autre] Scan d'IP...
Plus de sujets relatifs à : D4 : un scan du lecteur avec jauge d'avancement


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)