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

Résolu
Peter_lord Messages postés 4 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 22 juin 2005 - 17 juin 2005 à 04:17
Peter_lord Messages postés 4 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 22 juin 2005 - 22 juin 2005 à 03:38
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

florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
18 juin 2005 à 13:58
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
3
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
20 juin 2005 à 20:19
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
3
Peter_lord Messages postés 4 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 22 juin 2005
19 juin 2005 à 14:21
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
0
Peter_lord Messages postés 4 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 22 juin 2005
20 juin 2005 à 03:05
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Peter_lord Messages postés 4 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 22 juin 2005
22 juin 2005 à 03:38
ok / vu
Merci

allez a +

Bon courage a toi /
à toute l' equipe aussi

Peter
0
Rejoignez-nous