Inserer une image Jpeg dans BDE

louiwahl Messages postés 103 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 16 mai 2019 - Modifié le 17 mai 2019 à 22:26
louiwahl Messages postés 103 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 16 mai 2019 - 16 mai 2019 à 20:52
Bonsoir.

Voila je me fais un petit programme de base de donnée et
J' aimerais insérer une image Jpeg dans ma base de donnée.
Mais je n'arrive qu'a charger l'image dans le DBImage.
Je vous donne une copie du programme.

Un grand merci d'avance.

unit UImageJpeg;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, DB, DBTables, ExtDlgs, StdCtrls, DBCtrls, Grids, DBGrids,
  Mask, Lbtn, ExtCtrls, Jpeg, Buttons;

type
  TFMonCalpin = class(TForm)
    Panel4: TPanel;
    LbtnRetour: tLbtn;
    Panel2: TPanel;
    Label12: TLabel;
    Panel3: TPanel;
    LBtnPrecedent: tLbtn;
    LbtnSuivant: tLbtn;
    LbtnNouveau: tLbtn;
    LbtnEnregistrer: tLbtn;
    LbtnImprimer: tLbtn;
    tLbtnPlusDinfos: tLbtn;
    LbtnQuitter: tLbtn;
    Panel5: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit9: TDBEdit;
    DBEdit10: TDBEdit;
    DBEdit11: TDBEdit;
    Photo: TDBImage;
    DBGrid2: TDBGrid;
    DBNavigator2: TDBNavigator;
    DBMemo1: TDBMemo;
    PrinterSetupDialog1: TPrinterSetupDialog;
    OPDialog: TOpenPictureDialog;
    ODialog: TOpenDialog;
    PrintDialog1: TPrintDialog;
    DataSource1: TDataSource;
    Image: TImage;
    Table: TTable;
    procedure SetJPEGOptions(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ProgressUpdate(Sender: TObject; Stage: TProgressStage;
      PercentDone: Byte; RedrawNow: Boolean; const R: TRect; const Msg: string);
    procedure PrinterSetup1Click(Sender: TObject);
    procedure Exit1Click(Sender: TObject);
    procedure DBImage1Click(Sender: TObject);
    procedure LBtnPrecedentClick(Sender: TObject);
    procedure LbtnSuivantClick(Sender: TObject);
    procedure LbtnNouveauClick(Sender: TObject);
    procedure LbtnEnregistrerClick(Sender: TObject);
    procedure tLbtnPlusDinfosClick(Sender: TObject);
    procedure LbtnQuitterClick(Sender: TObject);
    procedure LbtnRetourClick(Sender: TObject);
  private
    { Private declarations }
  public                                             
    { Public declarations }
    procedure OpenFile(const Filename: string);
  end;

var
  FMonCalpin: TFMonCalpin;

implementation

{$R *.dfm}

procedure TFMonCalpin.OpenFile(const Filename: string);
begin
  try
    Photo.Picture.LoadFromFile(FileName);
  except
      on EInvalidGraphic do
      Image.Picture.Graphic := nil;
  end;
  SetJPEGOptions(self);
  Photo.Picture.LoadFromFile(FileName);
end;


procedure TFMonCalpin.SetJPEGOptions(Sender: TObject);
var
  Temp: Boolean;
begin
  Temp := Image.Picture.Graphic is TJPEGImage;
  if Temp then
  with TJPEGImage(Image.Picture.Graphic) do
end;

procedure TFMonCalpin.FormCreate(Sender: TObject);
begin
  FMonCalpin.Height :=530;
  FMonCalpin.Width := 720;
  OPDialog.Filter := GraphicFilter(TGraphic);
  Image.OnProgress := ProgressUpdate;
end;


procedure TFMonCalpin.PrinterSetup1Click(Sender: TObject);
begin
  PrinterSetupDialog1.Execute;
end;

procedure TFMonCalpin.Exit1Click(Sender: TObject);
begin
  Close;
end;

procedure TFMonCalpin.DBImage1Click(Sender: TObject);
begin
  Table.Append;
if ODialog.Execute then
   OpenFile(ODialog.FileName);
end;

procedure TFMonCalpin.ProgressUpdate(Sender: TObject; Stage: TProgressStage;
  PercentDone: Byte; RedrawNow: Boolean; const R: TRect; const Msg: string);
begin
  if Stage = psRunning then
    Caption := Format('%d%%',[PercentDone])
  else
    Caption := 'FMonCalpin';
end;

procedure TFMonCalpin.LBtnPrecedentClick(Sender: TObject);
begin
  Table.Prior;
end;

procedure TFMonCalpin.LbtnSuivantClick(Sender: TObject);
begin
  Table.Next;
end;

procedure TFMonCalpin.LbtnNouveauClick(Sender: TObject);
begin
  Table.Append;
  DBEdit1.Color := cl3DLight;
end;

procedure TFMonCalpin.LbtnEnregistrerClick(Sender: TObject);
begin
  Table.Post;
end;

procedure TFMonCalpin.tLbtnPlusDinfosClick(Sender: TObject);
begin
  FMonCalpin.Top :=10;
  FMonCalpin.Height := 710;
  Panel4.Visible := true;
  DBGrid2.Visible := True;
  DBNavigator2.Visible := True;
end;

procedure TFMonCalpin.LbtnQuitterClick(Sender: TObject);
begin
  Close;
end;

procedure TFMonCalpin.LbtnRetourClick(Sender: TObject);
begin
  FMonCalpin.Height := 530;
  Panel4.Visible := False;
  DBGrid2.Visible := False;
  DBNavigator2.Visible := False;
end;

end.


4 réponses

louiwahl Messages postés 103 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 16 mai 2019
8 mars 2018 à 22:20
Bon Ben Salut tout le monde?????????? est-ce qu'il y a du monde???
et merci pour vos reponses j'ai adorer votre site mais bon ben temps pis...............

0
papyvore Messages postés 223 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 16 décembre 2021 15
Modifié le 17 mai 2019 à 22:27
salut
voilà ce que j'ai qui marche (avec ado) essai voir si ça te convient
procedure TFormEspecesBase.DBImage1DblClick(Sender: TObject);
var
  J: TJpegImage;
  B: TBitmap;
begin
  J := TJpegImage.Create;
  B := TBitmap.Create;

  UDataModul.DataModule1.ADOTableEspeceBase.Edit;

  OpenPictureDialog1.InitialDir := ExtractFilePath(Application.ExeName)
    + 'Images';
  if OpenPictureDialog1.Execute then
  begin
    if ExtractFileExt(UpperCase(OpenPictureDialog1.FileName)) = '.BMP' then
    begin
      DBImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
      UDataModul.DataModule1.ADOTableEspeceBase.Post;
    end;

    if ExtractFileExt(UpperCase(OpenPictureDialog1.FileName)) = '.JPG' then
    begin
      J.LoadFromFile(OpenPictureDialog1.FileName);
      B := TBitmap.Create;
      B.Assign(J);
      DBImage1.Picture.Bitmap := B;
    end;
  end;

  B.Free;
  J.Free;
end;

0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
21 mars 2018 à 18:54
bonsoir louiwahl,
merci de répondre quelque chose à papyvore..
@bientôt
0
louiwahl Messages postés 103 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 16 mai 2019
16 mai 2019 à 20:52
Milles a tous excuses mais je très malade et je ne me reconnecte qu’aujourd’hui
0