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 7. Okt 2016
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von blondervolker
blondervolker

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

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

  Alt 9. Mai 2012, 12: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 12:03 Uhr) Grund: Code vergessen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

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

  Alt 9. Mai 2012, 12: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.625 Beiträge
 
Delphi 12 Athens
 
#13

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

  Alt 9. Mai 2012, 12: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
 
#14

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

  Alt 9. Mai 2012, 12: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
 
#15

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

  Alt 9. Mai 2012, 12: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
 
#16

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

  Alt 11. Mai 2012, 11: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.625 Beiträge
 
Delphi 12 Athens
 
#17

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

  Alt 11. Mai 2012, 11: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
Benutzerbild von p80286
p80286

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

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

  Alt 11. Mai 2012, 11:36
Das sollte wohl SizeOf(Char) heißen.
'Tschulligung das war meine Tastatur schuld
Aber wieso der umständliche Weg über String, statt wie vorher direkt das BLOB-Feld zu benutzen?
der "String" war vorgegeben, und als Buffer find ich Strings meistens sehr schön, weil da ist die Größe gleich dabei.
Aber wo wurde vorher das BLOB-Feld genutzt? Ich hab's nochmal durchgelesen aber nichts gesehen.

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

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

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

  Alt 11. Mai 2012, 11:38
Im Ausgangspost und in #9 haben wir TBlobField.SaveToFile benutzt, deshalb war ich über den String als Puffer etwas verwundert.
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
 
#20

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

  Alt 11. Mai 2012, 11:40
Danke nochmal

Hab es so gemacht:
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)*Sizeof(char));
  fs.Free;
  if ShellExecute(Application.Handle,
                 'open',
                 PChar('Temp\Dok.pdf'),
                 nil, nil, SW_NORMAL) <= 32 then
    ShowMessage('Es ist ein Fehler aufgetreten,da in der Datenbank keine Pdf Datei gefunden wurde.');
end;
www.bewerbungsmaker.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 09:09 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