Einzelnen Beitrag anzeigen

hacki

Registriert seit: 15. Nov 2002
96 Beiträge
 
Delphi XE5 Professional
 
#7
  Alt 19. Nov 2002, 23:44
Danke dass ihr mich so prima aufnehmt ! Ich habe zwischenzeitlich noch weiter rumgestöbert und bin DANK deines Tips d3g auf die Lösung gestossen. Für alle die es interessiert:

Die Proceduren:
Delphi-Quellcode:
PROCEDURE TTechBeForm.StoreJPEGImage(Field: STRING);
VAR s : TBlobStream;
    fs : TFileStream;
BEGIN
    IF OpenPictureDialog1.Execute THEN
    BEGIN

        fs := TFileStream.Create(OpenPictureDialog1.FileName, fmOpenRead);
        s := TBlobStream.create(MainForm.TechTakTable.FieldByName(Field) AS TBlobField, bmWrite);
        s.CopyFrom(fs, fs.Size);
        fs.free;
        s.Free;

    END;
END;
und

Delphi-Quellcode:
PROCEDURE TTechBeForm.LoadJPEGImage(Field: STRING; Image: TImage);
VAR s : TBlobStream;
    jpg : TJPEGImage;
BEGIN

    IF NOT (MainForm.TechTakTable.FieldByName(Field) AS TBlobField).IsNull THEN
    BEGIN
        s := TBlobStream.create(MainForm.TechTakTable.FieldByName(Field) AS TBlobField, bmRead);
        jpg := TJPEGImage.Create;
        jpg.LoadFromStream(s);
        Image.Picture.Assign(jpg);
        jpg.Free;
        s.Free;
    END ELSE
    BEGIN
        Image.Picture.Assign(NIL);
    END;

END;
können prima dazu verwendet werden, das JPEG aus der Datenbank zu lesen (LoadJPEGImage) bzw. hinein zu schreiben (StoreJPEGImage) !
Dies kann dann beispielsweise bei einem Event zu folgendem kombiniert werden um das Bild in einem TImage (nicht DBImage) anzuzeigen ! DBImage unterstützt anscheinend keine JPEG-Anzeige !
Delphi-Quellcode:
    try
      MainForm.TechTakTable.Edit;
      StoreJPEGImage('TTSnapShoot10');
      LoadJPEGImage( 'TTSnapShoot10', Image4 );
      MainForm.TechTakTable.Post;
     except
     end
Beim Laden der Form reicht dann

Delphi-Quellcode:
if( not MainForm.TechTakTable.FieldByName('TTSnapShoot7').IsNull ) then
  LoadJPEGImage('TSnapShoot7', Image1 );
Also denn ...

HACKI
Es ist nicht gesagt, daß es besser wird, wenn es anders wird! Wenn es aber besser werden soll, muß es anders werden! ** There are 10 different types of people in this world; those who understand binary numbers and those who don’t !
  Mit Zitat antworten Zitat