BlackBoard (http://www.black-board.net/index.php)
- Design, Programmierung & Entwicklung (http://www.black-board.net/board.php?boardid=55)
-- Programmieren (http://www.black-board.net/board.php?boardid=4)
--- Delphi DB-Client Blobs und Bilder (http://www.black-board.net/thread.php?threadid=23236)


Geschrieben von rhamirez am 05.03.2008 um 12:14:

  DB-Client Blobs und Bilder

Guten Tag,
Ich möchte mit einem Delphi program Bilder und Texte in meine Datenbank (Firebird 1.5.xxx) reinschreiben und wieder auslesen.

Habe mir gedacht mit einem DBMemo und einem DBImage bekomme ich die Sachen angezeigt. Problem ist, ich weiß grade nicht mit welcher methode oder Procedur ich mit dem Image Bilder aus einer Datei laden kann, das sie auch dann in der Datenbank abgespeichert werden können.

Habe mir gedacht mit einem openpicture dialog bei onclick auf das image, aber was muss ich nun weiter programmieren?


procedure TForm1.CoverClick(Sender: TObject);
begin
if (OpenPictureDialog1.Execute) then
begin
Caption:= OpenPictureDialog1.Filename;
#wie wieter?
end;



Geschrieben von phlox81 am 05.03.2008 um 12:20:

 

Kenn mich mit Delphi nicht aus.

Aber von C++ kenn ich es so, das man das Bild dann läd in eine Klasse.
Da ein Blob nur Binärdaten enthält, könntest du z.B. die Datei in einen Buffer laden,
und diesen in das Blob schreiben.



Geschrieben von rhamirez am 05.03.2008 um 13:00:

 

Okay, vielen dank, eine weite frage

procedure TForm1.CoverClick(Sender: TObject);
var b: TBitmap;
begin
if (OpenPictureDialog1.Execute) then
begin
b:= TBitmap.Create;
Caption:= OpenPictureDialog1.Filename;
b.LoadFromFile(Caption);
Cover.Picture.Bitmap.Assign(B);
B.Free;

end;
end;

wie kann ich es ändern, wenn ich jpegs anstelle von bmps verwenden möchte?

uses jpeg
TJPEGImage soweit das okay
nur das cover.Picture.BitMap.Assign(b) wie muss das verändert werden
oder kann das DBImage keine jpegs darstellen?



Geschrieben von phlox81 am 05.03.2008 um 14:34:

 

ka. wie gesagt ich habe keine Ahnung von Delphi.
Aber wahrscheinlich kannst du ein TJPEGImage in ein TBitmap umwandeln.
Ähnliches dürfte für DBImage irgendwie gelten. Du musst halt dir mal die Dokumentation der Klassen anschauen.

Und verwende bitte code tags!


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH