Photo

nmacines Messages postés 34 Date d'inscription mercredi 17 septembre 2008 Statut Membre Dernière intervention 31 mars 2014 - 10 juin 2009 à 20:19
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 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

1 réponse

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
11 juin 2009 à 11:11
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
0
Rejoignez-nous