AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi PDF-Datei aus dem Inhalt eines VirtualStringTree erzeugen
Thema durchsuchen
Ansicht
Themen-Optionen

PDF-Datei aus dem Inhalt eines VirtualStringTree erzeugen

Ein Thema von Jens Hartmann · begonnen am 16. Apr 2009 · letzter Beitrag vom 28. Apr 2009
 
nahpets
(Gast)

n/a Beiträge
 
#11

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge

  Alt 16. Apr 2009, 12:51
Hallo,

wann soll das PDF erstellt werden? Bei jedem Ereignis oder einmal am Tag?
Bei bestimmten Ereignissen bedeutet für mich, dass genau dann das PDF erstellt wird und nicht permanent, nur so für den Fall, dass es ja eventuell gebraucht werden könnte.

Meine Vorstellung wäre hier:

Ereignis tritt ein.
Einmal durch den VST und alles als PDF ausgeben, was benötigt wird.

PowerPDF sollte da gut geeignet sein, schau es Dir aber bitte zuerst einmal (losgelöst von der Aufgabenstellung) an und entscheide dann, ob es das Gewünschte leisten kann.

HTML wäre hier aber auch nicht schlecht, das als HTML-Email und der Anwender sieht sofort in der Mail, was ihn (hoffentlich) interessiert, kein Spamfilter hält Dir 'nen Anhang fest, kein Anhang kann zu groß werden und der Anwender muss auch nicht erst den Anhang speichern, um Ihn dann zu öffnen. Okay: Der Mailclient muss HTML können

Delphi-Quellcode:
Procedure OnEreignisIrgendwasOderSo;
Var
     slHTML : TStringList
     i : Integer;
begin
  slHTML := TStringList.Create;
  // Hier den Header der HTML-Seite bauen...
  slHTML.Add('<html>');
  slHTML.Add('<head>');
  slHTML.Add('<link rel="stylesheet" type="text/css" href="VST.css"');
  slHTML.Add('</head>');
  slHTML.Add('<body>');
  slHTML.Add('<table>');
  slHTML.Add('<tr>');
  slHTML.Add('<th>ID</th>');
  slHTML.Add('<th>LfdNr</th>');
  slHTML.Add('<th>Datum</th>');
  slHTML.Add('<th>Uhrzeit</th>');
  slHTML.Add('<th>Ereignis</th>');
  slHTML.Add('<th>Teilnehmer</th>');
  slHTML.Add('<th>Bereich</th>');
  slHTML.Add('</tr>');
  // Hier einmal durch den VST laufen und je Child
  for i := 0 to VST.Count do begin //oder so ähnlich
    slHTML.Add('<tr class="' + Ereignis + '">'); // Hierzu ein passendes Stylesheet bauen
    slHTML.Add('<td align="right">');
    slHTML.Add(IntToStr(Daten.ID));
    slHTML.Add('</td>');
    slHTML.Add('<td align="right">');
    slHTML.Add(IntToStr(Daten.LfdNr));
    slHTML.Add('</td>');
    slHTML.Add('<td align="left">');
    slHTML.Add(DateToStr(Daten.Datum));
    slHTML.Add('</td>');
...
    slHTML.Add('<td>');
    slHTML.Add(Daten.Bereich);
    slHTML.Add('</td>');
    slHTML.Add('</tr>');
  end;
  slHTML.Add('</table>');
  slHTML.Add('</body>');
  slHTML.Add('</html>');

  // hier slHTML speichern und als Mail verschicken, Lösungen solltest Du dazu im Forum finden.


  slHTML.Free;
end;
Stylesheet vst.css
Code:
.Stoerung     { background-color : #ff0000; }
.AllesInButter { background-color : #00FF00; }
.IchBinBlau   { background-color : #0000ff; }
.AllesGrau    { background-color : #999999; }
Hier für jedes Ereignis eine entsprechende Klasse einfügen, dann funktioniert das mit slHTML.Add('<tr class="' + Ereignis + '">'); allerdings dürfen die Ereignisse dann keine Umlaute enthalten.

Das Aussehen lässt sich so an Kundenwünsche anpassen, ohne noch mal das Programm zu ändern, was bei PDF nicht geht.

XML und XSLT wäre hier natürlich auch noch eine Möglichkeit, die ähnlich einfach zu implementieren sein dürfte.
  Mit Zitat antworten Zitat
 


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 02:40 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