AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi PDF in DB speichern und öffnen danach Proggi-Abstutz
Thema durchsuchen
Ansicht
Themen-Optionen

PDF in DB speichern und öffnen danach Proggi-Abstutz

Ein Thema von blondervolker · begonnen am 9. Mai 2012 · letzter Beitrag vom 6. Okt 2016
Antwort Antwort
Benutzerbild von blondervolker
blondervolker

Registriert seit: 14. Sep 2010
Ort: Bei: Leeeiipzzhhh
381 Beiträge
 
Delphi XE2 Architect
 
#1

AW: PDF in DB speichern und öffnen danach Proggi-Abstutz

  Alt 9. Mai 2012, 10:32
Wie kann ich den Inhalt auf Null prüfens.Das ist mein zigs`ter Versuch,aber ich bin leider noch zu Blöde.
Kannst bitte diesen Code vervollständigen?
Ich würde mich freuen,wenn ich endlich mal einen kleinen Erfolg hätte...
www.bewerbungsmaker.de
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#2

AW: PDF in DB speichern und öffnen danach Proggi-Abstutz

  Alt 9. Mai 2012, 10:39
ADO ist nicht meine Welt, aber versuch mal
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
  PDFField: TBlobField;
begin
  ADOTable1.Open;
  SaveDialog1.Filter:='*.pdf|*.pdf';
  if SaveDialog1.Execute then
    TRY
      PDFField := ADOTable1.FieldByName('PDFFILE') as TBlobField;
      if not PDFField.IsNull then
        PDFField.SaveToFile(SaveDialog1.Filename);
    EXCEPT
      on E: Exception do
       ShowMessage('Fehler beim Speichern der Datei: ' + E.Message);
    end;
end;
Ungetestet, da direkt im Editor getippt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: PDF in DB speichern und öffnen danach Proggi-Abstutz

  Alt 9. Mai 2012, 10:50
Ich meinte das du die Angaben zur verwendeten Datenbank, Zugriffskompos usw. in den entsprechend dafür vorgesehenen Feldern ergänzt.
Angehängte Grafiken
Dateityp: png Beitrag bearbeiten.png (4,6 KB, 17x aufgerufen)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von blondervolker
blondervolker

Registriert seit: 14. Sep 2010
Ort: Bei: Leeeiipzzhhh
381 Beiträge
 
Delphi XE2 Architect
 
#4

AW: PDF in DB speichern und öffnen danach Proggi-Abstutz

  Alt 9. Mai 2012, 11:01
DeddyH,

es hat sofort funktioniert!!! Danke für die Mühe

Ich hab nun versucht die gespeicherte PDF mit dem Adobe Reader
aus der Datenbank herauszuholen,aber da kommt kein Mux,keine Meldung und nix passiert.

Delphi-Quellcode:
var
  myPDF : String;
begin
  myPDF := ADOTable1.FieldByName ('PDFFILE').AsString;
  shellexecute(application.Handle,'open',PChar (myPDF),nil,nil, sw_show);
www.bewerbungsmaker.de

Geändert von blondervolker ( 9. Mai 2012 um 11:03 Uhr) Grund: Code vergessen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.880 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: PDF in DB speichern und öffnen danach Proggi-Abstutz

  Alt 9. Mai 2012, 11:05
Lass mal den ersten Parameter ller (NULL),
Und wenn du die gespeicherte Datei mal manuell im Reader öffnest?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#6

AW: PDF in DB speichern und öffnen danach Proggi-Abstutz

  Alt 9. Mai 2012, 11:10
Wie soll denn Adobe auf Deine Datenbank zugreifen? Speichere doch einfach den Feldinhalt in einer temporären Datei und öffne die dann.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von blondervolker
blondervolker

Registriert seit: 14. Sep 2010
Ort: Bei: Leeeiipzzhhh
381 Beiträge
 
Delphi XE2 Architect
 
#7

AW: PDF in DB speichern und öffnen danach Proggi-Abstutz

  Alt 9. Mai 2012, 11:12
hab absolut keine Ahnung wie das geht.Ich hab schon gelesen und gegoogelt...
www.bewerbungsmaker.de
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

AW: PDF in DB speichern und öffnen danach Proggi-Abstutz

  Alt 9. Mai 2012, 11:41
Delphi-Quellcode:
var
  myPDF : String;
  fs : TFileStream;
begin
  fs:=TFileStream.Create(MeineTempDatei,fmCreate or fmShareExclusive);
  myPDF := ADOTable1.FieldByName ('PDFFILE').AsString;
  fs.Write(mypdf[1],length(mypdf)*Sizeofchar);
  fs.Free;
So sollte das Schreiben funktionieren.
Dann diese Datei an Adobe übergeben und hinterher löschen nicht vergessen.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von blondervolker
blondervolker

Registriert seit: 14. Sep 2010
Ort: Bei: Leeeiipzzhhh
381 Beiträge
 
Delphi XE2 Architect
 
#9

AW: PDF in DB speichern und öffnen danach Proggi-Abstutz

  Alt 11. Mai 2012, 10:17
Hallo,

jetzt meckert Delphi:
Berufe.pas(614): E2003 Undefinierter Bezeichner: 'Sizeofchar'

Hab keinen Plan.Was ist da wieder falsch?


Delphi-Quellcode:
procedure TForm17.Button2Click(Sender: TObject);
var
  myPDF : String;
  fs : TFileStream;
begin
  fs:=TFileStream.Create('Temp\Dok.pdf',fmCreate or fmShareExclusive);
  myPDF := ADOTable1.FieldByName ('PDFFILE').AsString;
  fs.Write(mypdf[1],length(mypdf)*Sizeofchar);
  fs.Free;
end;
www.bewerbungsmaker.de
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.667 Beiträge
 
Delphi 12 Athens
 
#10

AW: PDF in DB speichern und öffnen danach Proggi-Abstutz

  Alt 11. Mai 2012, 10:20
Das sollte wohl SizeOf(Char) heißen. Aber wieso der umständliche Weg über String, statt wie vorher direkt das BLOB-Feld zu benutzen? Du brauchst doch nur den "%Temp%"-Pfad, kannst dann mit GetTempFilename einen temporären Dateinamen generieren lassen und speicherst unter diesem Namen ab. Nun kannst Du den installierten Reader öffnen, warten, bis der wieder geschlossen wird und dann die temporäre Datei wieder löschen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


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 04:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz