Photo

Messages postés
34
Date d'inscription
mercredi 17 septembre 2008
Statut
Membre
Dernière intervention
31 mars 2014
- - Dernière réponse : cs_cantador
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
- 11 juin 2009 à 11:11
bonsoir a tous
excusez oi pour le desagrement  mais je souhaite savoir comment faire pour gerer les photos en même temps que les données dans mon application
en effet je souhaite qu'a chaque fois que je me deplace dans un dbgrid  la photo correspondant a la ligne s'affiche elle  aussi  dans un dbimage ou un Timage ;  cependant les  photos sont situés dans un fichier crée aillleurs que dans la base de donnée
comment faire

s'il vous plaît voici un exemple  de ce que j'ai fait  pour  un bouton qui localise  un matricule et  charge la photo
pour ce cas lorsque la photo n'est pas dans le fichier  elle  me renvoit une erreur et pourtant je souhaite que si la  photo est inexistante, elle localise malgre tout le client
 procedure tform 1 . button1.click
adoquery 1.locate('matricule' edit1.text[] );
dbimage1.picture.loadfromfile('c\perso\photo+'(edit1.text)+'.jpg;
merci  pour votre aide
Afficher la suite 

1 réponse

Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
9
0
Merci
bonjour,
dès l'instant, où tu utilises un TdbGrid, tu n'as plus besoin de localiser ton enregistrement.
Ton composant db est en effet en relation directe avec la base.


Voilà pour le premier point..
Ensuite, sur le OnDataChange du TDataSource,
il faut détecter le changement d'enregistrement :

procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
BEGIN
  IF Sender = NIL THEN exit;
  IF Field <> NIL THEN exit;
  IF Form1= NIL THEN exit;
// Mettre ici ta procédure de test si pas de photo alors on va chercher le fichier
         // tester si le champ de type BLOB contient quelque chose
        // sinon loader le fichier  
END;

Pour le load du fichier, il te faudra nécessairement une identification du matricule afin de choisir le bon fichier..
ça peut fonctionner, mais si tes images sont un peu volumineuses, les déplacements seront ralentis..

cantador
Commenter la réponse de cs_cantador