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

Bases de données Delphi Discussion :

base d'images


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2002
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 29
    Points : 24
    Points
    24
    Par défaut base d'images
    Salut
    Comment faire une base de donnée contenant des images et des sons et non pas leurs chemins.


    Merci d'avance...
    Vive Delphi !!

  2. #2
    Membre averti
    Profil pro
    xxxxxxxxxxx
    Inscrit en
    Juin 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : xxxxxxxxxxx

    Informations forums :
    Inscription : Juin 2004
    Messages : 308
    Points : 407
    Points
    407
    Par défaut
    Utiliser des champs BLOB (stockage de données binaires de taille variable)
    Y accéder par LoadFromStream

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 10
    Points : 11
    Points
    11
    Par défaut Lire et executer les sons..
    Bonjour,
    Pourriez vous m'expliquer comment lire puis executer les sons à partir d'un champ BLOB Paradox.
    Merci par avance

  4. #4
    Membre averti
    Profil pro
    xxxxxxxxxxx
    Inscrit en
    Juin 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : xxxxxxxxxxx

    Informations forums :
    Inscription : Juin 2004
    Messages : 308
    Points : 407
    Points
    407
    Par défaut
    comment lire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TBlobField.SaveToFile(atempFile);
    executer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    aMediaPlayer.filename := atempfile;
    aMediaPlayer.Play
    Ce n'est qu'une solution parmi d'autres.

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 10
    Points : 11
    Points
    11
    Par défaut Chargement du champ BLOB
    Bonjour,
    J'ai essayé de charger le champ Blob (Binaire) avec:
    TBlobField.LoadFromFile(aFileName);
    Il semble que les données ne soient pas correctes dans le champs car lors de la récupération par:
    TBlobField.SaveToFile(atempFile);
    Le fichier .Wav obtenu est illisible alors que l'original est tout à fait correct.
    Merci de votre aide.

  6. #6
    Membre averti
    Profil pro
    xxxxxxxxxxx
    Inscrit en
    Juin 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : xxxxxxxxxxx

    Informations forums :
    Inscription : Juin 2004
    Messages : 308
    Points : 407
    Points
    407
    Par défaut
    y a-t-il une différence de taille ?
    Parce qu'un paramètre du BDE limite la taille des blobs
    Voir dans Administrtateur BDE du Panneau de configuration, sur l'alias le paramètre "BLOB SIZE"

  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 10
    Points : 11
    Points
    11
    Par défaut Blob Size...??
    Bonjour,
    merci de votre réponse, mais je n'ai trouvé aucun paramètre "Blob Size" dans l'alias de ma base de donnée.
    Merci de votre aide

  8. #8
    Membre averti
    Profil pro
    xxxxxxxxxxx
    Inscrit en
    Juin 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : xxxxxxxxxxx

    Informations forums :
    Inscription : Juin 2004
    Messages : 308
    Points : 407
    Points
    407
    Par défaut
    Autant pour moi, ce paramètre n'existe pas pour Paradox.
    La limite officielle est de 2 Go.

    J'ai fait un test pour vérifier ; je n'ai rencontré aucun problème (D5 entreprise).

    Pouvez-vous faire une comparaison du fichier source et du fichier récupéré après avoir transité dans la base ? :

  9. #9
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 10
    Points : 11
    Points
    11
    Par défaut Comparason des fichiers....
    Bonjour
    Merci de votre réponse.
    Les fichiers
    .Wav que je tente de placer dans ma base font de 170 à 230 Ko chacun.
    A la récupération, j'ai bien un fichier .Wav, mais de 0 octet.
    C'est donc au chargement que se situe le problème.
    En effet lorsque jj'utilise le même code pour lire un Wave directement, cela fonctionne parfaitement.
    Merci d'avance de votre aide.

  10. #10
    Membre averti
    Profil pro
    xxxxxxxxxxx
    Inscrit en
    Juin 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : xxxxxxxxxxx

    Informations forums :
    Inscription : Juin 2004
    Messages : 308
    Points : 407
    Points
    407
    Par défaut
    Upload :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      table1.append;
      table1son.loadfromfile('BANG.WAV');
      table1.post;
    Download (vérifier que l'enregistrement courant contient bien le son)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      table1son.savetofile('BANG2.WAV');
    le 0 octet peut provenir d'un BLOB vide...
    Le source permettrait peut-être de trouver l'erreur.

  11. #11
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 10
    Points : 11
    Points
    11
    Par défaut Son et base de donnée
    Merci
    pour ces explications.
    Voic le code que j'utilise:

    Upload:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Chemin:= ExtractFilePath(Application.ExeName);
    Table1.Edit;
    Chemin:= Chemin+ 'Sons\Sound '+ Edit3.Text+ '.wav';
    Table1Son.LoadFromFile(Chemin );
    Download (dans une autre application):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Chemin:= ExtractFilePath(Application.ExeName);
    Table1Son.SaveToFile(Chemin+ 'Son.wav');
    Son:= IntTostr(Query1.RecNo);
    PlaySound(Pchar(Chemin+ 'Son.wav'),0,SND_FILENAME);
    Le fichier .Wav est bien créé, mais il pèse 0 octet.
    Je pense que le problème provient de l'upload.
    Le champ utilisé pour stocker le son est un BLOB Binaire dans une base Paradox 7 créée à partir du module de Base de données de Delphi7.

    Voici les éléments utilisés dans la structure du champ:

  12. #12
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 10
    Points : 11
    Points
    11
    Par défaut Solution
    J'ai résolu le problème en étudiant de près le code.
    La lecture du champs se fait sur Une Table, alors que l'affichage des données se fait sur un Query.
    Quel ?*!? je peu faire.

    Un autre problème se pose.
    Il n'existe pas de SaveToFile sur un Query.
    Comment contourner le problème simplement?
    Merci

  13. #13
    Membre averti
    Profil pro
    xxxxxxxxxxx
    Inscrit en
    Juin 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : xxxxxxxxxxx

    Informations forums :
    Inscription : Juin 2004
    Messages : 308
    Points : 407
    Points
    407
    Par défaut
    La lecture du champs se fait sur Une Table, alors que l'affichage des données se fait sur un Query.
    Quel ?*!? je peu faire.

    Un autre problème se pose.
    Il n'existe pas de SaveToFile sur un Query.
    Comment contourner le problème simplement?
    Je pense qu'il y a confusion :
    SaveToFile est une méthode de l'objet TBlobField, qui peut être aussi bien retourné par une Table qu'un Query.
    Le choix du dataset est donc indifférent pour un download.[/list]

  14. #14
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 10
    Points : 11
    Points
    11
    Par défaut Save to File
    Après de multiples essais, je confirme bien que mon Query ne possède pas de méthode SaveToFile.
    merci quand même pour votre aide.

  15. #15
    Membre averti
    Profil pro
    xxxxxxxxxxx
    Inscrit en
    Juin 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : xxxxxxxxxxx

    Informations forums :
    Inscription : Juin 2004
    Messages : 308
    Points : 407
    Points
    407
    Par défaut
    En double-cliquant sur le TQuery, puis Ctrl-F
    la liste des champs disponibles retournés par la requête s'affiche
    En sélectionnant un champ, il apparaît dans l'explorateur d'objet, avec sa classe
    Si un BLOB est retourné par le query, il doit y avoir dans la liste des champs un TBLOBField
    C'est cet objet qui disposera de la méthode SaveToFile

Discussions similaires

  1. probleme avec le parcours de la base d'images
    Par mspeach dans le forum Images
    Réponses: 5
    Dernier message: 19/09/2008, 16h01
  2. Problème restoration base contenant image Bitmap
    Par Bourak dans le forum Outils
    Réponses: 1
    Dernier message: 21/04/2008, 09h47
  3. attribuer chaque image de la base d'image
    Par soforan dans le forum Images
    Réponses: 4
    Dernier message: 02/04/2008, 15h15
  4. lire chaque image de la base d'image
    Par soforan dans le forum Images
    Réponses: 2
    Dernier message: 15/03/2008, 15h07
  5. Traitement de base d'image
    Par Freyja dans le forum C++
    Réponses: 14
    Dernier message: 17/07/2006, 17h49

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