Comment récuperer les photos contenues dans un lecteur de carte (format SD) ?? [Résolu]

Signaler
Messages postés
4
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
22 juin 2005
-
Messages postés
4
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
22 juin 2005
-
Bonjour

Je voudrais récuperer les photos contenues dans un lecteur
de carte numérique (format SD) à l'aide de delphi (of course ).

Chaque appareil photo numérique (Nikon, Canon etc)
stocke de maniere différente.

En général sur la carte on peut lire le repertoire 'DCIM'.
Jusque là, pas de problème
Mais ensuiste comment detecter le repertoire crée
automatiquement par l'app photo numérique

J'espère avoir été clair

Merci d'avance

Bonne prog /

Peter

5 réponses

Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008
2
C'est tout bête: il suffit juste de trouver les sous répertoires contenus dans DCIM.

De cette façon:

<hr size= "2" width="100%"> procedure RepertoiresValides(const ReptDCIM: string; out Dest: TStringList);

var

Rec: TSearchRec;

begin

if FindFirst(IncludeTrailingPathDelimiter(ReptDCIM) + '*.*',faDirectory,Rec) = 0 then

begin

Dest:= TStringList.Create;

repeat

Dest.Add(IncludeTrailingPathDelimiter(ReptDCIM) + Rec.Name);

until FindNext(Rec) <> 0;

FindClose(Rec);

end;

end;

<hr size ="2" width="100%">Si le TStringList retourné n'est pas nil, alors tous les répertoires possibles sont listés dans cette stringlist.

ReptDCIM contient le chemin complet du répertoire DCIM.



@ ++

Florent


Si tu ne te plantes pas ......
tu ne poussera jamais
Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008
2
Le mot clef out sert à désigner un parametre de sortie, c'est à
dire que Delphi s'assure que cette variable n'est pas assignée avant de
la transmettre à la méthode.

C'est un mot à préférer à la place de var qui ne sert que si le contenu de cette variable, déjà renseigné, doit être modifiée par la méthode.



Pour info, il existe in et son contraire out. Mais var est aussi le contraire de const.

Bref, je ne suis pas assez expert pour tout expliquer mais j'espère
que tu aura, au moins, compris quand les utiliser. (Après, pour ce qui
est de savoir comment cela marche, ce n'est plus de mon domaine ...)



@ ++

Florent


Si tu ne te plantes pas ......
tu ne poussera jamais
Messages postés
4
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
22 juin 2005

Salut florenth

Tout d'abord un grand merci.
Pour la réponse précise et en plus rapide !
Je n'ai pas encore essayé mais ça va pas tarder

J'ai tout d'abord cherché de la doc sur le sujet mais sans trop de résultat.

J'avais donc fait un truc mais plus 'bourrin' : ça cherchait tous les jpg (*.jpg) contenus dans la carte photo et ça me renvoyait tous les repertoires concernés.
Plus lent et peu optimisé, ce que j'avais fait !

Vaut mieux un qui sait que dix qui cherchent.

Bon courage à toi
ainsi qu'à toute l'équipe.

a +
Peter
Messages postés
4
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
22 juin 2005

Salut a tous & Salut Florenth

Ca y est j'ai testé.
Et ça marche du tonnerre !

youpi
Merci encore Florenth

Pourrais tu m'eclairer encore un peu sur ta déclaration ?
tu as mis:
out Dest: TStringList

moi j'aurais mis bètement
var Dest: TStringList

le out sert à quoi ? comme un pointeur ??

En lisant un peu de doc j'ai donc vu quil existait les instructions in et out.

On en apprend tous les jours...

allez a +

Bonne prog
Peter
Messages postés
4
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
22 juin 2005

ok / vu
Merci

allez a +

Bon courage a toi /
à toute l' equipe aussi

Peter