Wave paradox [Résolu]

Signaler
Messages postés
30
Date d'inscription
lundi 10 novembre 2003
Statut
Membre
Dernière intervention
15 mars 2005
-
Messages postés
3
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
15 mai 2005
-
Bonjour

J'ai deux soucis :
1er je possede une bdd paradox avec des champs binaires devant contenir du son (wave, mp3)
je n'arrive pas à y enregistrer les fichiers son ???.
voici mon code

procedure TMain.CopiersonClick(Sender: TObject);
var
Tempfield :Tblobfield;
begin
Table.Edit; // Positionne la table en mode Edition
Tempfield :=Tblobfield.Create(table);
tempfield.fieldname:='son';
(Tempfield).loadfromfile(Label15.caption);//écrit le contenu du label
//dans le flux
Table.Post(); // Valide l'édition dans la base de données
Ensuite comment les rejouer.


j'ai une form de 32 dbimages, comment peut on afficher 32 position sans avoir une repetition de database, table ??? est ce que Tquery peut faire l'affaire ???

merci pour votre aide.

A+++++++++++

4 réponses

Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Réponse à la première question.

Voici un code que j'ai utilisé pour stocker des images dans une table Paradox :
procedure TUseBlobsDemoForm.SaveModifExecute(Sender: TObject);
var
  Stream: TStream;
begin
  Table1.Edit;
  Table1Titre.AsString := edTitre.Text;
  Table1Description.AsString := edDescription.Text;

  Stream := Table1.CreateBlobStream(Table1Image, bmWrite);
  try
    Image1.Picture.Graphic.SaveToStream(Stream);
    Table1TypeImage.AsString := ImgExt;
  finally
    Stream.Free;
  end;
  Table1.Post;
end;

Tu appelles la méthode CreateBlobStream du composant TTable.
Ensuite, tu stockes le contenu (ici une image) dans le stream.
Un petit conseil : pense à créer un champ qui contiendra la nature du contenu du champ TblobField. Sinon comment distinguer, à la lecture, si c'est un .wav ou un .mp3.

Pour relire le contenu du champ TBlobField, tu crées un gestionnaire d'évènement OnDataChange pour le datasource relié à la table et tu testes le contenu du champ indiquant le type de contenu. Selon celui-ci, tu orientes vers le composant adapté.
Evidemment, avec des images c'est plus facile puisqu'on dispose du composant TDbImage.

Réponse à la deuxième question :
Pourquoi n'utilises-tu pas un TDbCtrlGrid en mettant un TDbImage sur le premier panel (en conception) ?

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
May Delphi be with you
Messages postés
3
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
15 mai 2005

Salut DelphiProg.



Je suis dsl pour la derniere fois car je ne voulais pas etre méchant en te disant qu'il ne fallait pas pas s'emballer.



Bref DSL.



J'en profite pour te demander une petite explication au niveau de ton
post pour la sauvegarde de fichier image dans la base paradox.



Je ne comprends pas



Image1.Picture.Graphic.SaveToStream(Stream);

Table1TypeImage.AsString := ImgExt;

finally

Stream.Free;



Le fameux := ImgExt ne passe pas chez moi car le compilateur me dit Identificateur non declaré.



Peux-tu me dire ce que je dois faire pour cette erreur car je pense que le reste a l'air de fonctionner jusque la.



merci bcp de ta réponse.
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Sauf si tu stockes toujours le même type d'image (.jpeg par exemple), il te faut un moyen de reconnaitre le type d'image stockée dans ton champ BLOB.
ImgExt est une variable enseignée au moment de l'ouverture du fichier par OpenPictureDialog1.Execute() et renseignée avec ExtractFileExt(OpenPictureDialog1.FileName).
Mais comme cette partie du code n'est pas indiquée, je comprends que tu aies eu du mal à t'y retrouver.


<HR color=#008000>
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
<
Messages postés
3
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
15 mai 2005

Pourrais tu m'aider sur le code non present STP Delphiprog.

Je te remerci d'avance et a bientot.