DBild in TDBImage laden (war: TBImage)
-
Hi,
ich möchte mit einem OPenImageDialog ein Bild in ein DBImage-Feld laden. Dort kann ich aber nur mittels CopyFromClipboard dran, ein Dialog hat aber leider kein CopyToClipboard... wie kommt also das Bild da rein?
Danke!
strauberry
Edit:
Bitte aussagekräftige Überschriften wählen. Danke!
-
Das Bild in ein temporäres TBitmap-Objekt laden und mittels dessen SaveToClipboardFormat-Methode über die Zwischenablage in das DBImage kopieren?
Wozu soll das Ganze denn gut sein?
-
Ich möchte eine AdressDB anlegen und die Scans von Visitenkarten speichern... Ich könnte natürlich auch eine normale Datei anlegen und diese dann auslesen, aber ich dachte, wenn es so eine Komponente gibt, kann man die ja benutzen

-
TDBImage ist allerdings eher zur Ausgabe als zur Eingabe gedacht.
(Image)Dateien kannst du auch direkt per TBlobStream o.ä. in die DB einfügen, Beispiele dazu sollten sich hier mittels Suchfunktion finden lassen.
-
Und wie bekomme ich dann so ein Bild rein in die DB?
-
Lass dir doch nochmal den letzten Teilsatz meines Postings auf der Zunge zergehen.
-
ups
Sorry!
-
Nach Ausführlichem Lesen der Ergebnisse der Suchfunktion stelle ich an dieser Stelle noch eine Frage zu diesem Thema:
Das Objekt des BCB6 Pro: "TDBImage" ist doch dazu da, Bilder (leider nur BMPs) anzuzeigen, richtig?
ok, soweit, so gut...
Ich wähle jetzt perOpenDialog1->Execute();eine *.bmp Datei aus. Dann übergebe ich mit folgender Zeile (Wenn der Rest eingetragen ist) den gewählten Pfad an die Datenbank:
Table1->InsertRecord(ARRAYOFCONST((Edit1->Text,Edit2->Text,Edit9->Text,Edit4->Text,Edit5->Text,Edit10->Text,Edit7->Text,Edit3->Text,OpenDialog1->FileName,Edit8->Text,Edit11->Text,Edit6->Text)));Anschließend soll mir ein anderes Formular mit Hilfe des TDBImage Objektes das augewählte File anzeigen. Stattdessen bekomme ich allerdings immer nur die Fehlermeldung, dass das Bitmap nicht passt... Seltsamerweise kann ich jedoch mit einem normalen TImage über dessen Funktion
Image1->Picture->LoadFromFile(OpenDialog1->FileName);das gewählt Bild anzeigen lassen.. Muss ich etwa wirklich den umständlichen Weg über das BlobStream gehen, um mir lediglich ein Bild anzeigen zu lassen, das zu einem bestimmten Dateinsatz gehört?
Ich will das Bild ja nicht direkt in der Datenbank speichern.. ein Link auf das Bild würde mir genügen. Aber dann sollte das Objekt TDBImage auch das Bitmap anzeigen....Über entsprechende Hilfe würde ich mich freuen.
(Hilfe Funktion wurde genutzt! s.o.)
-
Da in deinem Fall das Bild selbst nicht in der DB steht brauchst du überhaupt kein DBImage.
Lies einfach den Datei-Pfad als String aus dem entsprechenden Feld der Datenbank bzw. des Datensatzes aus und übergib ihn im LoadFromFile eines TImage.
-
ok, ich versuche das mal.. wenn ich auch noch nicht weiß wie ich ein bestimmtes Feld aus der Tabelle auslesen kann, aber ich werde schon irgendwas finden...
Danke für deine schnelle Antwort

[EDIT]
ok, mit einigen Umwegen hat es endlich geklappt
sämtliche Äderungen werden OnTheFly übernommen.. thx Jansen!
[/EDIT]