IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

afficher les images de BD access sur la form de C++ builder


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    /////
    Inscrit en
    Décembre 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : /////

    Informations forums :
    Inscription : Décembre 2009
    Messages : 32
    Par défaut afficher les images de BD access sur la form de C++ builder
    Bonjour
    j'ai une question concernant le C++ builder, j'ai crée une Base d'image avec Access et j'ai reussi a faire la connéxion de cette base avec le SGBD Borland mais mon probléme c'est que je veux afficher les images une par une sur la form à l'aide de Timage mais ça marche pas
    quelqu'un peut m'aider SVP

    merci

  2. #2
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Voici un code a tester, mais qui si mes souvenirs sont bons devrait fonctionner pour charger une image (jpeg) depuis une base de donnée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
      TJPEGImage *jpeg= new TJPEGImage() ;
      TMemoryStream *stream = new TMemoryStream() ;
      try
      {
    //RECUPERATION DANS UN STREAM
          ((TBlobField*) table->FieldByName( "NOM_CHAMP_IMG" ))->SaveToStream( stream );
    //CHARGEMENT
          stream->Seek( 0, soFromBeginning );
          jpeg->LoadFromStream( stream );
    //UTILISATION DU JPEG
    //[...]
      }
      __finally
      {
    //LIBERATION DES RESSOURCES
        delete stream ;
        delete jpeg ;
      }
    la variable table est un TTable.

    .

  3. #3
    Membre averti
    Femme Profil pro
    /////
    Inscrit en
    Décembre 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : /////

    Informations forums :
    Inscription : Décembre 2009
    Messages : 32
    Par défaut
    je te remercie sat83 pour ta reponce mais ton code ça marche pas malereusement

    voila ce que j'ai fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    // ouverture connexion, bdd et table
       Session1->Open();
       Database1->Open();
       Table1->Open();[
     
       // on se positionne au début
      Table1->First();
      while(!Table1->Eof)
       {
      TJPEGImage *jpeg= new TJPEGImage() ;
      TMemoryStream *stream = new TMemoryStream() ;
      try
      {
    //RECUPERATION DANS UN STREAM
          ((TBlobField*) Table1->FieldByName( "Nom" ))->SaveToStream( stream );
    //CHARGEMENT
          stream->Seek( 0, soFromBeginning );
          jpeg->LoadFromStream( stream );
          Memo1->Lines->LoadFromStream( stream );
    //UTILISATION DU JPEG
    //[...]
      }
      __finally
      {
    //LIBERATION DES RESSOURCES
        delete stream ;
        delete jpeg ;
      }
       // on parcourt la table
     
          // on passe à la ligne suivante
         Table1->Next();
       // on ferme connexion, bdd et table
       Table1->Close();
       Database1->Close();
       Session1->Close();
    mais aucun resultat

  4. #4
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Memo1->Lines->LoadFromStream( stream );
    Pourquoi tu charge dans un Memo????

    De quel type est le champ où sont stockées tes images dans la base de donnée?
    Est-ce que ce sont des images au format JPEG?

    Une autre solution est d'enregistrer tes images dans un répertoire (sur un disque dur ou un serveur) et d'enregistrer dans la base de donnée uniquement le chemin du fichier image.

    L'avantage c'est que c'est plus simple a mettre en place...

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 531
    Par défaut
    pourquoi ne pas utiliser un TDBimage ?? dans ce cas.

  6. #6
    Membre averti
    Femme Profil pro
    /////
    Inscrit en
    Décembre 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : /////

    Informations forums :
    Inscription : Décembre 2009
    Messages : 32
    Par défaut
    bonjour

    j'ai chargé l'image dans un memo car il m'affiche erreur quand j'ai voulé charger dans un TImage, le type de mes images sont jpeg et dans la base access j'ai enregistré que le chemin pour acceder aux données mais franchement je suis désesperée le faite que j'ai pas pu acceder à la base et afficher le contenue

    stp Sat83 s'il a une autre methode pour acceder à la base access à travers les requetes SQL ?

    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Je veux savoir comment afficher les images sur CRISTAL REPORT
    Par kamalGLM dans le forum VB.NET
    Réponses: 4
    Dernier message: 12/03/2015, 17h02
  2. afficher les images qui sont sur un FTP sécurisé
    Par Cidouge dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 08/10/2014, 17h06
  3. Réponses: 3
    Dernier message: 28/05/2010, 09h58
  4. afficher les images background
    Par DELYMED2 dans le forum ASP
    Réponses: 2
    Dernier message: 17/10/2005, 09h09
  5. Afficher les images en C++ ou C
    Par sheryuledragon dans le forum Bibliothèques
    Réponses: 5
    Dernier message: 17/03/2005, 11h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo