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 :

Enregistrement images non BMP dans une BDD TurboDB avec DBImage.


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2014
    Messages : 81
    Par défaut Enregistrement images non BMP dans une BDD TurboDB avec DBImage.
    Salut...
    Je veux enregistrer des images jpg dans ma BDD TurboDB, j'ai cherché sur internet et j'ai trouvé ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var 
    J: TJpegImage; 
    B: TBitmap; 
     
    Begin 
    J := TJpegImage.Create; 
    J.LoadFromFile('C:\PH2.jpg'); {emplacement de l'image} 
    B:= TBitmap.Create; 
    B.Assign(J); 
    DBImage1.Picture.Bitmap:=B; 
    B.Free; 
    J.Free; 
    end;
    Mais au lieu de spécifier une image précise comme dans la ligne n°7, je veux charger mes images de n'importe quel emplacement.
    commenr faire?

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 942
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var
      CheminImage: string;
    begin
      CheminImage := {emplacement de l'image déterminé par ce que tu voudras}
      // ou choix par une boîte de dialogue
      if OpenPictureDialog1.Execute and FileExists(OpenPictureDialog1.FileName) then
        CheminImage := OpenPictureDialog1.FileName;
      J.LoadFromFile(CheminImage); {chargement de l'image}
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Membre actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2014
    Messages : 81
    Par défaut
    Salut;
    Voici mon code qui marche trés bien pour les BMP seulement !.

    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
     
    var
      FileStream: TFileStream;
      BlobStream: TStream;
    begin
     if (OpenPictureDialog1.Execute) then
       begin
       Principale.Temploye.Edit;
         try
           BlobStream := Principale.Temploye.CreateBlobStream(Principale.Temploye.FieldByName('PHOTO'),bmWrite);
           FileStream := TFileStream.Create(OpenPictureDialog1.FileName,fmOpenRead or fmShareDenyNone);
           BlobStream.CopyFrom(FileStream,FileStream.Size);
           FileStream.Free;
           BlobStream.Free;
         except
           Principale.Temploye.Cancel;
         end;
       end;
     if Principale.Temploye.State = dsedit then Principale.Temploye.Post;
    end;
    Je veux le modifier afin q'il me permet de charger les autres type d'images tel que les JPG ?

  4. #4
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 942
    Billets dans le blog
    6
    Par défaut
    essaye qqch comme ça :
    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
    var
      BlobStream: TStream;
      MyPic: TPicture;
      MyBmp: TBitmap;
    begin
     if (OpenPictureDialog1.Execute) then
       begin
       Principale.Temploye.Edit;
         try
           BlobStream := Principale.Temploye.CreateBlobStream(Principale.Temploye.FieldByName('PHOTO'),bmWrite);
           MyPic := TPicture.Create(nil);
           MyBmp := TBitmap.Create(nil);
           MyPic.LoadFromFile(OpenPictureDialog1.FileName); // le Graphic ouvre les différents formats de fichiers graphiques
           MyBmp.Assign(MyPic); // on en "récupère" le bmp
           MyPic.Free;
           MyBmp.SaveToStream(BlobStream); // qu'on blobe
           MyBmp.Free;
           BlobStream.Free;
         except
           Principale.Temploye.Cancel;
         end;
       end;
     if Principale.Temploye.State = dsedit then Principale.Temploye.Post;
    end;
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  5. #5
    Membre actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2014
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2014
    Messages : 81
    Par défaut
    J'ai essayé ton code 'tourlourou' mais une erreur me dit :
    Too many actual parameters

  6. #6
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 942
    Billets dans le blog
    6
    Par défaut
    Peut-être les Create n'ont-ils pas besoin de paramètre... dans ce cas, enlève les (nil)
    Par ailleurs, le message était clair : trop de paramètres, passés à une procédure, fonction ou méthode d'objet. La notion de la ligne incriminée, précédant le message d'erreur, aurait pu te permettre de le trouver, si c'est bien ça.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

Discussions similaires

  1. problème d'utilisation d'image en PHP dans une bdd.
    Par BenGonGon dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/09/2011, 14h17
  2. [MySQL] Enregistrement d'un array dans une bdd
    Par benjamin002 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 23/02/2011, 19h52
  3. [MySQL] recuper une image stocker totalement dans une bdd
    Par agnaou dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/02/2009, 17h56
  4. Réponses: 5
    Dernier message: 17/12/2007, 18h50
  5. [MySQL] enregistrer des données CSV dans une BDD
    Par NicoO_O dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 29/11/2006, 00h10

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