Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Wie bekomme ich Jpeg Bilder in eine DB mit Delphi3 ? (https://www.delphipraxis.net/26769-wie-bekomme-ich-jpeg-bilder-eine-db-mit-delphi3.html)

bruno01 29. Jul 2004 07:28


Wie bekomme ich Jpeg Bilder in eine DB mit Delphi3 ?
 
Hallo Alle ,
ich möchte mit D3 jpeb-Bilder in eine Paradoxtabelle einlesen. D3 macht dieses Format aber nicht. Wie bekomme ich das hin . Kann jemand weiterhelfen?
Danke für eine Antwort. :?:

mikhal 29. Jul 2004 08:38

Re: Wie bekomme ich Jpeg Bilder in eine DB mit Delphi3 ?
 
Um JPEG einlesen zu können, reicht normalerweise das Einbinden der Unit JPEG. Sollte diese bei Delphi 3 nicht exisitieren (war, wenn ich mich richtig entsinne, in einem Unterverzeichnis irgendwo auf der Installations-CD), solltest du dir mal die GFL SDK anschauen. Es handelt sich dabei um eine sehr umfangreiche Bibliothek zur Implementierung von Grafik-Formaten. Damit sollte es dann funktionieren. Im Übrigen kannst du auch mal bei Torry nachschauen, dort wirst du mit Sicherheit fündig werden (irgendwo bei den VCL's).

Grüße
Mikhal

fkerber 29. Jul 2004 08:42

Re: Wie bekomme ich Jpeg Bilder in eine DB mit Delphi3 ?
 
Hi!
Das einlesen normaler JPEGs geht bei ihm (weiß ich aus nem anderen Thread), da haperts anscheinend mehr mit dem, was die DB liefert.

@bruno01: Zeig am besten mal, was du an Code so hast.


Ciao fkerber

mikhal 29. Jul 2004 08:49

Re: Wie bekomme ich Jpeg Bilder in eine DB mit Delphi3 ?
 
Dann sollte er mal auf meine Site nachsehen, da habe ich mal ein Beispiel hinterlegt, wie man Bilder in einer Paradox-Datenbank einfügt und wieder ausliest:

Bild schreiben

Bild auslesen

Grüße
Mikhal

bruno01 29. Jul 2004 08:56

Re: Wie bekomme ich Jpeg Bilder in eine DB mit Delphi3 ?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier mein TestProjekt

Delphi-Quellcode:
{Bilder mit "OpenDialog" und "Image" einlesen sowie
 DB_Bilder mit "OpenPictureDialog" und "DBImage" einlesen
**************************************************************}

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ExtCtrls, JPEG, ExtDlgs, DBCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;                          //normale Bilder
    BitBtn1: TBitBtn;
    OpenDialog1: TOpenDialog;
    DBImage1: TDBImage;                       //Datenbank_Bilder
    OpenPictureDialog1: TOpenPictureDialog;
    Button1: TButton;
    procedure BitBtn1Click(Sender: TObject);   //beide Button_Arten gehen
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}
                                                //Images einlesen
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
Image1.picture.LoadfromFile(OpenDialog1.Filename);
end;

                                                //DBImages einlesen
procedure TForm1.Button1Click(Sender: TObject);
begin
If OpenPictureDialog1.Execute then
DBImage1.Picture.LoadfromFile(OpenPictureDialog1.FileName);
end;

end.

fkerber 29. Jul 2004 09:01

Re: Wie bekomme ich Jpeg Bilder in eine DB mit Delphi3 ?
 
Hi!

Da fehlt aber was, oder?
Du holst ja gar nix aus der Datenbank. Du versuchst nur normale Bilder in nem DB-Image anzuzeigen (geht das überhaupt?)

Wo ist deine Datenbankanbindung?

Ciao fkerber

bruno01 29. Jul 2004 09:50

Re: Wie bekomme ich Jpeg Bilder in eine DB mit Delphi3 ?
 
hallo fkerber,
das ist mir schon klaar, die Anbindung läuf in einem anderen Projekt, das ist kein Problem. Hier geht es einfach darum, dass das Jpeg-format nicht gelesen wird vom OpenPictureDialg. :lol:

bruno01 29. Jul 2004 10:01

Re: Wie bekomme ich Jpeg Bilder in eine DB mit Delphi3 ?
 
Danke mikhal,
ich werde damit einen Versuch starten, aber Du verwendest auch nicht DBImages und OpenPictureDialog. :?

fkerber 29. Jul 2004 10:14

Re: Wie bekomme ich Jpeg Bilder in eine DB mit Delphi3 ?
 
HI!

Es ist einfach nicht möglich OpenPictureDialog dafür zu verwenden.
DbImage hat auch gar keine Methode loadfromfile.

Ciao fkerber

bruno01 29. Jul 2004 10:57

Re: Wie bekomme ich Jpeg Bilder in eine DB mit Delphi3 ?
 
Ok erst einmal,
ich werde mich eben doch mit dem bmp_format abfinden müssen.
Danke allen Usern für ihre Antworten. :P

teebee 29. Jul 2004 10:59

Re: Wie bekomme ich Jpeg Bilder in eine DB mit Delphi3 ?
 
Also, ich habe das ganze jetzt mal nachvollzogen und bei mir klappt es...
Allerdings nur mit etwas zusätzlicher Handarbeit :wink: :
TOpenPictureDialog hat in seiner Filter-Eigenschaft keine jpeg-Erweiterungen stehen, auch wenn die jpeg-Unit korrekt eingebunden wird. Also den Filter von Hand um '*.jpeg;*.jpg' erweiten und alles geht, wie es soll.

Gruß, teebee

bruno01 29. Jul 2004 20:14

Re: Wie bekomme ich Jpeg Bilder in eine DB mit Delphi3 ?
 
Ja, soweit war ich auch schon, nur beim Laden des Bildes hat er die jpeg´s nicht erkannt.
Hast Du D3 oder höher, bei höheren Versionen geht es, aber D3 :?:

Oder habe ich etwas übersehen :?:

teebee 30. Jul 2004 07:53

Re: Wie bekomme ich Jpeg Bilder in eine DB mit Delphi3 ?
 
Ich hab das mit D3 ausprobiert, das jpeg ist angezeigt worden,

Gruß, teebee

mikhal 30. Jul 2004 08:22

Re: Wie bekomme ich Jpeg Bilder in eine DB mit Delphi3 ?
 
Zitat:

Zitat von bruno01
... aber Du verwendest auch nicht DBImages und OpenPictureDialog. :?

Nein, ich übergebe in meinen Methoden lediglich die Tabelle, den Feldnamen, aus dem ich das Bild auslesen möchte, und das TImage, in dem ich die Bitmap anzeigen möchte.

Der Beispiel-Source ist bereits etliche Jahre alt und stammt aus der Zeit, als ich mich zum ersten Mal ernsthaft mit Datenbanken auseinandergesetzt habe. Mittlerweile verwende ich weder Paradox noch TTable sondern je nach Aufgabenstellung T(ADO)Query, T(ADO)DataSet und die entsprechende Datenbank (Oracle 8i, MS SQL Server). Du kannst aber die Methoden ohne Probleme auch daran anpassen. Den Nachteil will ich hier aber nicht verschweigen: Bei der Art und Weise, wie ich das Blob-Feld fülle, kann ich nicht mehr erkennen, ob ich ein BMP, ein GIF oder ein JPEG oder ganz was anderes in das BLOB-Feld geschrieben habe. Ich muß also in einem weiteren Datenbankfeld festhalten, welches Format im Blob-Feld aktuell vorliegt.

Zu deinem Problem: Wo werden die Jpeg's denn nicht angezeigt: im TImage oder im TDBImage? Ich benutze TDBImage überhaupt nicht, weil ich damit immer wieder Schwierigkeiten hatte, deshalb gebe ich die den Inhalt eines BLOB-Feldes immer in einem TImage aus.

Grüße
Mikhal

bruno01 30. Jul 2004 11:16

Re: Wie bekomme ich Jpeg Bilder in eine DB mit Delphi3 ?
 
Ich habe das immer mit ein TdbImage (geht mit bmp problemlos, leider aber sehr groß) gemacht. Wird denn ein TImage (das wird bei mir auch erkannt, aber eben nicht nur das jpeg, sondern alle Files) auch in eine DB gespeichert? Kann ich ein TImage überhaupt mit einer DatenQuelle verbinden?

teebee 30. Jul 2004 11:22

Re: Wie bekomme ich Jpeg Bilder in eine DB mit Delphi3 ?
 
Kann nur nochmal sagen, dass es bei mir problemlos geht, mit einem DBImage ein JPEG per Picture.LoadFromFile anzuzeigen.

Gruß, teebee

bruno01 30. Jul 2004 11:31

Re: Wie bekomme ich Jpeg Bilder in eine DB mit Delphi3 ?
 
Hallo Leute,
ich habe das Problem gefunden. Kleine Ursache, große Wirkung!!
Ich habe im Filter von OpenPictureDialog immer *.jpeg eingetragen, meine Bilder haben aber *.jpg und da konnten diese nicht erkannt werden. Jetzt geht es ausgezeichnet.
Dank allen Usern für Ihre Hilfe.
Das Forum ist Spitze, es lässt "Stümper" wie mich nicht hängen.
Danke Allen.
:bouncing4: :firejump: :lol:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz