Entwickler-Ecke
Datenbanken - Bild in einem Memo Feld speichern
ThomasN - Do 07.11.02 12:28
Titel: Bild in einem Memo Feld speichern
hallo!
ich bastle seit langer langer zeit einmal wieder etwas in delphi 3. ich möchte ein beliebiges (*.jpg) bild in einer datenbank speichern.
verzweifelt suche ich nach einem kurzen code beispiel, wie ich die grafik datei (oder prinzipell beliebige binären daten) in ein memo feld bringe und auch hinterher leicht wieder aus dem memo feld auslesen kann und in einem form anzeigen kann. eine bearbeitung der grafik ist nicht vorgesehen.
irgendwo meine ich sogar schonmal sowas bei irgendwelchen "tips & tricks" gelesen zu haben, aber ich kann die website nicht mehr finden.
in einem anderen frage hier im forum habe ich was von einer komponente von "torry" gelesen. ich bin hier im forum blutiger anfänger und kann mit dem begriff/namen leider nix anfangen. wer oder was ist das?
nachdem ich nun in sachen programmieren nach der langen zeit praktisch wieder von vorne anfange, wäre mir eine art tutorial am liebsten, wo alles mal haarklein erklärt ist. mit den tutorials auf
http://www.delphi-source.de komme ich zum beispiel prima klar.
ich gehe mal davon aus, dass ich die grafik in meinem programm in ein *.bmp umwandeln muss um diese bmp dann in der datenbank zu speichern. das bekomme ich wohl noch hin, aber dann gehen meine probleme los ...
beste grüsse
thomas
hansa - Do 07.11.02 13:22
Hi,
glaube nicht, daß das mit einem Memo geht. Suche mal nach Blob-Feldern. Weiß aber nur, daß das in Interbase geht.
Das hab ich doch gestern schon geschrieben. :shock: Naja, wer kommt schon auf den Namen Blob. :mrgreen: Soweit ich weiß kann man da alles drin speichern JPG,ZIP,MP3.......Frag mich nur nicht wie.
Gruß
Hansa
LCS - Do 07.11.02 13:50
Hi
Beispiel für das grundsätzliche Verfahren:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure Schreiben; var Daten: TMemoryStream; begin Daten := TMemoryStream.Create; table1.Edit; TJpegImage(image1.picture.Graphic).SaveToStream(Daten); Daten.Position := 0; TBlobField(table1.FieldByName('Bild')).LoadFromStream(Daten); tblBi.Post; Daten.Free; end; |
In dem Beispiel wird eine Grafik aus Image1 in das Feld Bild von Table1 geladen. Das Feld ist im Fall von Interbase vom Typ BLOB, bei Paradox vom Typ GRAPHIC oder BINARY.
In allen Fällen wird der Inhalt des Feldes über einen BlobStream gefüllt bzw. gelesen. Ich hoffe das hilft dir erst mal weiter.
Gruss Lothar
ThomasN - Do 07.11.02 14:44
hi!
das klingt einfacher, als ich gedacht hatte. ich werde das heute abend gleich mal ausprobieren.
danke für den tip!
gruss
thomas
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!