AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

JPEG-Datenbankkomponente für Delphi

Offene Frage von "Satty67"
Ein Thema von Kralle · begonnen am 22. Okt 2010 · letzter Beitrag vom 23. Okt 2010
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#11

AW: JPEG-Datenbankkomponente für Delphi

  Alt 23. Okt 2010, 20:11
Zitat:
(aber ich befürchte aus den falschen Gründen, sonst hättest du niemals versucht TDBImage zu verwenden)
Das mit dem TImage habe ich nur hier präsentiert, weil es hies man könnte einfach "jpeg" in die Uses eintragen und dann würde TImage auch Jpeg-Bilder genauso können wie BMPs. Einfach den Feldtyp Image wählen und fertig.

Das haben wir hier in dem Thread wiederlegt.
Was ist denn hier widerlegt worden?
Speicher ein JPEG in der DB in ein BLOB-Feld.
Verbinde dieses BLOB-Feld mit TDBImage und das Bild wird angezeigt. (das mit der jpeg unit nicht vergessen)
Niemand konnte ahnen, dass du mit TDBImage ein Feld verknüpft hast, wo in einem string ein Pfad steht. Das hätte dir jeder hier sofort um die Ohren gehauen.

Zitat:
Wenn du 9 Bilder anzeigen möchtest, dann Klatsch 9x TImage auf das Formular.
Es sind am Ende aber nicht nur 9 Bilder sondern auf 2Tabs 9+4Bilder plus 2 Buttons je Bild und ein OnClick-Ereignis pro Bild.
Entschuldige, aber meine ist im Moment etwas trübe ... und die SIcht auf deinen Bildschirm etwas streifig.

Ich fasse es gerne für Dich etwas besser:
Zitat:
Wenn du n Bilder anzeigen möchtest, dann Klatsch n-mal TImage auf das Formular. Die OnClick-Ereignisse kannst du ja auch schon zur DesignTime setzen. Geht aber auch zur Laufzeit. So wie es der Herr wünscht
Zitat:
dort packst du dann den Code zu laden der Bilder in die TImage
Delphi-Quellcode:
Image1.Picture.LoadFromFile( ADOQuery1.FieldByName( 'Bild1' ).AsString );
{... usw ...}
ADOQuery in einer MyBase-Datenbank?
Das muss ich wohl überlesen haben ... oh nee, du hast es nirgendwo mit einem Wort erwähnt ... erwähnte ich schon die ist trübe?

Und nochmal allgemein:
Zitat:
Bei n Bilder sind das n Zeilen, was ja nicht wirklich aufwendig sein sollte
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#12

AW: JPEG-Datenbankkomponente für Delphi

  Alt 23. Okt 2010, 20:43
Speicher ein JPEG in der DB in ein BLOB-Feld.
Verbinde dieses BLOB-Feld mit TDBImage und das Bild wird angezeigt. (das mit der jpeg unit nicht vergessen)
Niemand konnte ahnen, dass du mit TDBImage ein Feld verknüpft hast, wo in einem string ein Pfad steht.
Aus seinem Beispiel:

TDBImage - Fieldname Bild - FieldKind fkData - BlobType ftGraphic

Den Pfad-String speichert er zwar auch, aber wird nicht von TDBImage (aus der DB) verwendet. Das TImage liegt z.Z. nur auf dem Formular, um beim Laden einen Gegenkontrolle zu haben.

Was hier nicht funktioniert, ist das erste Einlesen des JPG-Bildes in die Datenbank via
DBImage1.Picture.LoadFromFile(OpenPictureDialog1.filename); .
weshalb in der Datenbank auch das Blob-Feld leer bleibt. Bei BMP/GIF funktioniert die Methode aber.

PS: Funktioniert mit keinem nachträglich registrierten Bild-Typ, also auch nicht mit PNG/TIF via GraphicEx.

***

So wie es aussieht will er schon die Bilder in der Datenbank halten und nicht nur die Dateinamen, aber nicht als unkomprimiertes BMP. Die Dateinamen waren nur eine Alternative um notfalls ein TImage statt TDBImage verwenden zu können (müssen).

***

Schlagt mich nicht, aber ich glaube er hat soweit recht. TDBImage kann kein komprimiertes JPG-Imgage direkt darstellen.

Ohne es zu testen, der Umweg über
DBImage1.Picture.Assign(JPEGImage1.Picture); .
speichert wohl auch nur RAW-Daten im Blob, oder?

Geändert von Satty67 (23. Okt 2010 um 21:36 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz