AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi JPEG in BLOB Feld speichern
Thema durchsuchen
Ansicht
Themen-Optionen

JPEG in BLOB Feld speichern

Ein Thema von Fritz01 · begonnen am 7. Jun 2006 · letzter Beitrag vom 10. Jun 2006
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: JPEG in BLOB Feld speichern

  Alt 8. Jun 2006, 13:24
Es hat wohl weniger mit Delphi 4 zu tun. Für JPG mußt du erst einen Umweg gehen, wie er oben bereits mehrfach angeboten wurde. Als Anhalt folgender Beispielquelltext:

Delphi-Quellcode:
var
  jpgBild: TJpegImage;
  bmBild: TBitmap;
...
begin
  ...
  bmBild := TBitmap.Create;
  try
    jpgBild := TJpegImage.Create;
    try
      jpgBild.LoadFromFile(Table1.FindField('BildName').AsString);
      jpgBild.DIBNeeded;
      bmBild.Assign(jpgBild);
    finally
      FreeAndNil(jpgBild);
    end;
    Image1.Picture.Bitmap.Assign(bmBild);
  finally
    FreeAndNil(bmBitmap);
  end;
  ...
end;
Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Fritz01

Registriert seit: 22. Mär 2006
Ort: Großenkneten
181 Beiträge
 
Delphi 7 Professional
 
#12

Re: JPEG in BLOB Feld speichern

  Alt 8. Jun 2006, 19:43
Hallo nochmal,
so recht komme ich damit nicht klar, wo der Umweg gemacht werden muß.
1. Bild von Platte nach TImage, 2. von TImage nach BLOB, 3. von BLOB nach TImage
Vielleicht hilft mir das weiter.
Fritz
Fritz
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#13

Re: JPEG in BLOB Feld speichern

  Alt 8. Jun 2006, 20:50
Wo ist dein Problem, Fritz?

Ich hatte dir in Beitrag #6 einen Link auf einen Thread gegeben in dem du fertigen Code zum Laden und Speichern von JPG Bildern findest. Ich habe mit diesem Code soeben JPG Bilder in einer Visual Dbase Datei geschrieben und gelesen. Wie kann man dir noch helfen?

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Fritz01

Registriert seit: 22. Mär 2006
Ort: Großenkneten
181 Beiträge
 
Delphi 7 Professional
 
#14

Re: JPEG in BLOB Feld speichern

  Alt 8. Jun 2006, 23:23
Hallo marabu,
ja richtig, wie kann man mir noch helfen. Werde mich mit diesem Thema noch beschäftigen müssen. Da fehlt es sicher in diesem Punkt an entsprechenden Kenntnissen. Vielleicht postest Du mir mal den Code als Procedure, ich möchte nicht abschreiben ohne zu verstehen. Wenn aber sowas funktioniert kann ich es sicher nachvollziehen.
Fritz
Fritz
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#15

Re: JPEG in BLOB Feld speichern

  Alt 9. Jun 2006, 09:08
Hallo Fritz,

ich habe dir eine kleine Demo erstellt - die benötigte Tabelle liegt bei. Du kannst über den DBNavigator neue Bilder in die Tabelle aufnehmen, bestehende Bilder ersetzen oder löschen. Ich hoffe du kommst zurecht.

Freundliche Grüße vom marabu
Angehängte Dateien
Dateityp: zip db-jpeg_130.zip (83,4 KB, 77x aufgerufen)
  Mit Zitat antworten Zitat
Fritz01

Registriert seit: 22. Mär 2006
Ort: Großenkneten
181 Beiträge
 
Delphi 7 Professional
 
#16

Re: JPEG in BLOB Feld speichern

  Alt 9. Jun 2006, 16:34
Hallo marabu,
ein ganz dickes Dankeschön für die Mühe und Hilfe. Natürlich gilt der Dank auch allen Anderen!
Habe versucht, Dein Beispiel so wie es ist zu öffnen. Fehlermeldung 'beim erzeugen von Formular: ungültiges StreamFormat. Danach habe ich das ganze neu gemacht und Deinen Code benutzt. Darauf die nächste Meldung: 'Variants.dcu' nicht gefunden und ohne 'Variants' geht da garnichts. Das liegt an Delphi 4, ist ja auch schon etwas älter und ich sollte mir was 'moderneres' anschaffen denke da an D7 prof. Nur woher nehmen schaue schon ständig bei eBay danach.
Mit JPEG muß ich mal schaun wie ich da weiter komme, hatte ja bisher genügend Vorschläge unf Hilfe.
Diese Gechichte soll am Ende so sein, dass ich ein Bild von der Platte hole, in ein Formular stelle und zum Schluß mit ButtonClick in einer Datenbanktabelle ablegen kann. Es sollte mit .bmp und .jpeg funktionieren. Will mal sehen und nochmals danke.
Fritz
Fritz
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#17

Re: JPEG in BLOB Feld speichern

  Alt 9. Jun 2006, 19:39
Hallo Fritz,

nicht aufgeben. Das ungültige Stream-Format entsteht dadurch, dass die neueren Delphi-Versionen die Forms (DFM) als Text speichern, während die älteren Versionen ein Binärformat verwendeten. Damit du meine DFM-Datei laden kannst musst du sie zuerst mit einem Hilfsprogramm namens CONVERT aus deinem Delphi-Bin-Verzeichnis vom Text- in das Binärformat wandeln. Werden dabei Eigenschaften als unbekannt ausgewiesen, dann entferne diese einfach aus der Textdatei.

In neueren Delphi-Versionen wurde alle Funktionalität rund um Variants in der gleichnamigen Unit konzentriert, die vorher auf verschiedene Units verteilt war. Schmeiß Variants einfach aus der Uses-Klausel und gut ist.

marabu
  Mit Zitat antworten Zitat
Fritz01

Registriert seit: 22. Mär 2006
Ort: Großenkneten
181 Beiträge
 
Delphi 7 Professional
 
#18

Re: JPEG in BLOB Feld speichern

  Alt 10. Jun 2006, 19:44
Hallo marabu,
nein, nein aufgeben möchte ich nicht.
Deine Sache läuft! Muß nun erst mal den Code studieren und verstehen, um es für mein Vorhaben entsprechend zu ändern. Ich benötige, wie oben schon beschrieben folgendes: Von Datei (Festplatte) nach TImage und von dort mit Click in das BlobFeld schreiben und umgekehrt vom BlobFeld lesen und zurück nach TImage. Werde es wohl schaffen. Ich melde mich dánn wieder.
Fritz
Fritz
  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 11:56 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