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
Antwort Antwort
Seite 2 von 6     12 34     Letzte »    
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#11

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge

  Alt 16. Apr 2009, 13:06
Ich habe mal im DF ein CrossPost angelegt, um eventuell an mehr Informationen zu kommen.

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#12

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge

  Alt 16. Apr 2009, 13: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
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#13

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge

  Alt 16. Apr 2009, 14:22
Hallo Stephan,

finde ich ne coole Idee, werde das aufjedenfall mal auprobieren. Ich häng mal eine Screenshot von meinem Programm an.
Ist es möglich die HTML Datei so ähnlich aussehen zu lassen wie das VST in der Abbildung.

Zitat von nahpets:
wann soll das PDF erstellt werden? Bei jedem Ereignis oder einmal am Tag?
Das möchte ich in den Konfiguraionen meines Programms einstellen können. Möglich solle sein...

1. 1 mal Nachts z.B. die Ereignisse vom vergangenen Tag
2. Bei gewissen Ereignissen sofort, aber nur das vorher in der Konfiguration angegeben Ereignis(Also nur eine Zeile aus dem VST)

Gruß Jens
Miniaturansicht angehängter Grafiken
oberfl_chegif_167.gif  
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#14

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge

  Alt 16. Apr 2009, 14:32
Hallo,
Zitat von Jens Hartmann:
Ich häng mal eine Screenshot von meinem Programm an.
Ist es möglich die HTML Datei so ähnlich aussehen zu lassen wie das VST in der Abbildung.
ja, Du brauchst nur im Stylesheet für jedes Ereignis eine entsprechende Klasse. Mit den Farben muss Du halt rumprobieren, bis es passt oder Dir die RGB-Werte des VST nehmen und dann ins Stylesheet übernehmen.
Für die Ereignisse brauchst Du eine "passende" Übersetzung, damit die Namen CSS-konform werden.

Hast Du eine Liste der Ereignisse in einer Stringliste oder so?

Dann wird halt aus
Code:
.Stoerung     { background-color : #ff0000; }
.AllesInButter { background-color : #00FF00; }
.IchBinBlau   { background-color : #0000ff; }
.AllesGrau    { background-color : #999999; }
Code:
.Ereignis1 { background-color : #ff0000; }
.Ereignis2 { background-color : #00FF00; }
.Ereignis3 { background-color : #0000ff; }
.Ereignis4 { background-color : #999999; }
und ausslHTML.Add('<tr class="' + Ereignis + '">'); // Hierzu ein passendes Stylesheet bauen wird dannslHTML.Add('<tr class="Ereignis' + slEreignisliste.IndexOf(Ereignis) + '">');
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#15

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge

  Alt 16. Apr 2009, 14:42
Ahhhhhhh, ja,

ich glaube ich versteh. Muss das aber erstmal ausprobieren. Also erstmal allerbesten Dank. Werde die Vorschläge mal durcharbeiten, wobei ich glaube das mit dem HTML nicht der schlechteste ist.

Ich muss das aber erstmal programmieren und ausprobieren, da ich damit bis jetzt noch nichts gemacht habe.

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#16

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge

  Alt 16. Apr 2009, 14:46
Ich habe so eine Logdatei mal mit XML und XSL realisiert. Da konnte man dann sogar nach bestimmten Einträgen filtern.
Angehängte Dateien
Dateityp: zip logxml_722.zip (2,6 KB, 20x aufgerufen)
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#17

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge

  Alt 16. Apr 2009, 14:55
Ihr macht mich glücklich, das wäre natürlich noch besser, aber jetzt tritt wieder mein Problem aus, was ist jetzt für mich die beste und vorallem für den Kunden die schönste Lösung.

Oh, man. ??????

Muss das glaube ich erstmal alles probieren. Hast du eventuell mal ein Beispiel,[EDIT] Sorry da war ja eins dran
[EDIT][ALT]das ich mal sehe, wie so was in XML aussehen könnte. Das kann ich mir momentan alles nicht so vorstellen.

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#18

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge

  Alt 16. Apr 2009, 15:23
Da die XML-Datei nicht großartig verschachtelt ist, kannst du das gnaze einfach mit einer StringListe machen, ich glaube, so hab eich das damals auch gemacht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#19

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge

  Alt 16. Apr 2009, 15:43
Ich muss mir das erstmal alles ansehen. Ich habe bislang noch nichts mit XML gemacht. Die Frage wäre nur, ich habe die Daten in einer Datenbank, kann ich nicht direkt irgendwas von den vielen Möglichkeiten direkt aus der Datenbank erstellen lassen, so eine Art Reportdatei die so aussieht.

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#20

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge

  Alt 16. Apr 2009, 15:49
Hi!

Du kannst natürlich auch einen Reportgenerator wie z.B. RaveReport nutzen, um damit dann gleich eine PDF-Datei erstellen zu lassen (ich glaube es geht direkt nach PDF, ganz sicher bin ich mir nicht)


Ciao, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 6     12 34     Letzte »    


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