Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   PDF in DBMemo speichern Sehe dann nur Schrott (https://www.delphipraxis.net/167356-pdf-dbmemo-speichern-sehe-dann-nur-schrott.html)

blondervolker 26. Mär 2012 09:47

PDF in DBMemo speichern Sehe dann nur Schrott
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

mache gerade meinen ersten Versuch eine Pdf-Datei in ein
DBMemo zu speichern.Sehe dann nur Schrott. Habe im Delphi 7 Buch
nachgeschnarcht, aber nix gefunden.(Hab mal ein Bild mit drangehängt)
Was mach ich falsch?

Code:
Delphi-Quellcode:
ADOTable1.Edit;
OpenDialog1.Filter:='*.pdf|*.pdf';
    if OpenDialog1.Execute then
      begin
        TBlobField(ADOTable1.FieldByName('V_Doc')). //DBMemo8
          LoadFromFile(OpenDialog1.FileName);
          ADOTable1.Post;

DeddyH 26. Mär 2012 09:49

AW: PDF in DBMemo speichern Sehe dann nur Schrott
 
Was erwartest Du denn zu sehen? Ist das ein Memo oder ein TRichEdit auf Deinem Formular?

[edit] Ach, DBMemo, steht ja im Titel. Wie soll das funktionieren, Bilder z.B. schaut man sich ja auch nicht in einem Memo an. [/edit]

Lemmy 26. Mär 2012 09:49

AW: PDF in DBMemo speichern Sehe dann nur Schrott
 
Hi,

was soll denn zu sehen sein? schon mal ein PDF in einem Texteditor geöffnet?

Daniel 26. Mär 2012 09:49

AW: PDF in DBMemo speichern Sehe dann nur Schrott
 
Was Du siehst, ist der "PDF-Klartext". Soweit ich weiß, kann ein DBMemo gar kein PDF anzeigen.

DP-Maintenance 26. Mär 2012 09:50

Dieses Thema wurde am "26. Mar 2012, 10:50 Uhr" von "Daniel" aus dem Forum "Neuen Beitrag zur Code-Library hinzufügen" in das Forum "Programmieren allgemein" verschoben.

blondervolker 26. Mär 2012 09:52

AW: PDF in DBMemo speichern Sehe dann nur Schrott
 
Nee ist ein DBMemo (Blob)

Wollte die Pdf nur im Blobfeld speichern und dann wieder öffnen.

DeddyH 26. Mär 2012 09:54

AW: PDF in DBMemo speichern Sehe dann nur Schrott
 
Dagegen spricht ja auch nichts, aber die Anzeige über ein DBMemo ist halt falsch, dafür ist das Ding nicht gemacht, wie schon gesagt.

mkinzler 26. Mär 2012 09:56

AW: PDF in DBMemo speichern Sehe dann nur Schrott
 
Auf den ersten Blick sieht der Inhalt des Blobs aber nach einer PDF aus.

blondervolker 26. Mär 2012 10:01

AW: PDF in DBMemo speichern Sehe dann nur Schrott
 
Ich hatte gedacht:-D , wenn ich die Pdf Datei im DBMemo speichere,
bekomme ich das Icon angezeigt.
Ist das machbar?
Wie es aussieht ist die PDF auch gespeichert.Hab es mit dem Text-Editor
geöffnet.Es sieht genauso aus.

mkinzler 26. Mär 2012 10:05

AW: PDF in DBMemo speichern Sehe dann nur Schrott
 
Da eine PDF gespeichert wird, müsstest du zur Anzeige eine Komponente verwenden, welche PDF dekodieren kann

blondervolker 26. Mär 2012 10:08

AW: PDF in DBMemo speichern Sehe dann nur Schrott
 
Ja der Webbrowser.
Ist es machbar, das ich im DBMEMO nur das Icon gezeigt bekomme?

mkinzler 26. Mär 2012 10:09

AW: PDF in DBMemo speichern Sehe dann nur Schrott
 
Ein DBMemo zeigt den Inhalt des Feldes an.

Perlsau 26. Mär 2012 10:10

AW: PDF in DBMemo speichern Sehe dann nur Schrott
 
Zitat:

Zitat von blondervolker (Beitrag 1158549)
Hallo, mache gerade meinen ersten Versuch eine Pdf-Datei in ein DBMemo zu speichern.

Das macht keinen Sinn! Wenn du PDF-Dateien in einer Datenbank speichern willst, mußt du sie zum Anschauen erst wieder auf einen Datenträger speichern. Möchtest du eine PDF-Datei in deiner Delphi-Anwendung anzeigen, verwendest du entweder einen TWebBrowser oder aber die Komponente TAcroPDF, die du dir aus einer entsprechenden TypeLibrary selbst erstellen mußt. Ein direktes Laden der PDF-Datei aus der Datenbank ist mir bislang nicht gelungen.

Klaus01 26. Mär 2012 10:12

AW: PDF in DBMemo speichern Sehe dann nur Schrott
 
.. was für ein Icon willst Du denn angezeigt bekommen, ein aus dem PDF generiertes?
Oder das vom Acrobat Reader?

Das Icon wirst Du dir wohl separat in einem BLOB Feld abspeichern und dann in einem Image (DBImage; gibt es sowas?) anzeigen müssen.

Grüße
Klaus

blondervolker 26. Mär 2012 10:14

AW: PDF in DBMemo speichern Sehe dann nur Schrott
 
Oj,das ist gar nicht gut.mal sehn ob ich es gebastelt bekomme.

Danke für den Hinweis.

Sir Rufo 26. Mär 2012 11:28

AW: PDF in DBMemo speichern Sehe dann nur Schrott
 
Es würde doch erheblich mehr Sinn machen, in der DB den Dokumententyp (also hier PDF) zu speichern.
Denn in einem Blob kann man ja so alles möglich reinpacken.

Um jetzt das Icon zu ermitteln, fragt man einfach das Betriebssystem, welches Icon für den Typ PDF vorgesehen ist. Bekommt der Anwender kein Icon angezeigt, dann hat er wohl auch keinen PDF-Viewer installiert ;)

blondervolker 26. Mär 2012 12:25

AW: PDF in DBMemo speichern Sehe dann nur Schrott
 
Weiss nicht mal wie das geht.Bin kein Profi.
Dies ist mein 1.Versuch.Schaffs aber nich.
Hab alle Delphi Bücher in Arbeit.Dort steht aber nichts...:oops:

Darlo 26. Mär 2012 12:37

AW: PDF in DBMemo speichern Sehe dann nur Schrott
 
Hi,

du kannst Dir auch eigene Symbole erstellen und die dann in ein Image kloppen.

Code:
image1.Picture.LoadFromFile(getSymbolPfad(myQuery.FieldByName('fileExtension').AsString));

function getSymbolPfad(extension: String): String;
begin
  if UPPERCASE(extension) = 'PDF' then
    result := './img/meinPdfSymbol.png';

  ....
end;

Morphie 26. Mär 2012 12:56

AW: PDF in DBMemo speichern Sehe dann nur Schrott
 
Wäre nicht ein OleContainer genau das richtige?

Sir Rufo 26. Mär 2012 13:08

AW: PDF in DBMemo speichern Sehe dann nur Schrott
 
Zitat:

Zitat von blondervolker (Beitrag 1158603)
Weiss nicht mal wie das geht.Bin kein Profi.
Dies ist mein 1.Versuch.Schaffs aber nich.
Hab alle Delphi Bücher in Arbeit.Dort steht aber nichts...:oops:

Nun ja, aber die Suche bemühen sollte ja schon gehen, und dann bekommt man u.a. Folgendes geliefert.
http://www.delphipraxis.net/130392-i...ermitteln.html


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:19 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