Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi PDF-Datei aus dem Inhalt eines VirtualStringTree erzeugen (https://www.delphipraxis.net/132616-pdf-datei-aus-dem-inhalt-eines-virtualstringtree-erzeugen.html)

Jens Hartmann 24. Apr 2009 22:08

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge
 
Wie?

Also bei mir fehlt der Titel...

Delphi-Quellcode:
  slHTML.Add('<title>hartmann uebach Nachrichtentechnik GmbH</title>');

Mithrandir 24. Apr 2009 22:58

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge
 
Du meinst, der Titel wird im Browser nicht angezeigt? Im angehängeten HTML-Dokument steht das jedenfalls drinne, und ich habe bei mir auch einen Titel. Deswegen verstehe ich gerade nicht so ganz, wo das Problem ist... :stupid: Nutze übrigens den Firefox...

Jens Hartmann 26. Apr 2009 12:36

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge
 
Du hast recht, bei mir ist der Titel auch vorhanden. (Internet Explorer). Das Problem, liegt darin, das ich nicht den Titel der Seite programmieren will, sondern eine schöne große farblich hinterlegte Seitenüberschrift.

Und das bekomme ich nicht hin.

Gruß Jens

Luckie 26. Apr 2009 13:55

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge
 
Die Seitenüberschrift mus sinnerhalb des body-Tags sein:

Code:
<html>
  <head>
    <title>Seitentitel in der Caption des Browsers</title>
  </head>
  <body>
    <h1>Seitenüberschrift auf der Seite</h1>
  </body>
</html>

Jens Hartmann 26. Apr 2009 14:59

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge
 
Das habe ich jetzt so hinbekommen. Aber warum aktiviert Delphi mir die Styles nicht. Ich habe hier mal versucht die Überschrift zu unterstreichen. Geht aber leider nicht.

Hier mal der Code...
Delphi-Quellcode:
  slHTML.Add('<style type="text/css">.unterstrich {text-decoration: underline;}</style>');
  slHTML.Add('</head>');
  slHTML.Add('<body>');

  slHTML.Add('<p class="unterstrich">');
  slHTML.Add('<h1>Firma hartmann & uebach Nachrichtentechnik GmbH</h1>');
  slHTML.Add('</p>');
Gruß Jens

Jens Hartmann 27. Apr 2009 19:59

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge
 
Hallo nochmal,

ich bekomme es einfach nicht hin die Klassen(Stylesheets) in meine HTML Seite zu implementieren. Ich habe jetzt folgende css Datei im Programmordner eingebunden.

Code:
.Stoerung     { background-color : #ff0000; } 
.Einbruch { background-color : #00FF00; } 
.Sabotage   { background-color : #0000ff; } 
.Scharf    { background-color : #999999; }
Diese Datei, lese ich ja wenn ich das verstanden habe in folgender Zeile ein...

Delphi-Quellcode:
  slHTML.Add('<link rel="stylesheet" type="text/css" href="VST.css"');
  slHTML.Add('</head>');
Was ich allerdings jetzt nicht versteh, wie nutze ich diese Sheets jetzt...

Über folgende Codezeilen, lese ich die Tabelle in meinem HTML Seite ein. Jetzt müsste ja bei gewissen Ereigniss die entsprechenden Hntergrundfarben zugewiesen werden. Kann mir jemand sagen, wie das geht.

Danke schon mal

Gruß Jens

nahpets 28. Apr 2009 08:47

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge
 
Hallo,

Du nutzt die Stylesheets garnicht, sondern der Browser. In der Form, wie Du es momentan implementiert hast, muss die CSS-Datei im gleichen Verzeichnis liegen, wie die HTML-Datei.

Mit z. B.
Code:
<tr class="Stoerung"><td>irgendeintext</td></tr>
sollte jetzt die entsprechende Zeile im Browser die Hintergrundfarbe für Störungen erhalten, hier also ein kräftiges rot.

Jens Hartmann 28. Apr 2009 09:26

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge
 
Hallo,

also das mit der css-Datei klappt jetzt. Leider bekomme ich es aber nicht hin, das sich meine ganze Zeile färbt. Ich möchte ja, die Zeile Färben, wo in dem Feld Ereignis...

Delphi-Quellcode:
    slHTML.Add('<td>');
    slHTML.Add(QryHTML.FieldByName('Ereignis').AsString);
    slHTML.Add('</td>');
das entsprechende Wort vorhanden ist. Ich habe jetzt schon verschiedene Varianten versucht, allerdings klappt das alles nicht.

wo muss ich den folgende Zeile einfügen...
Delphi-Quellcode:
slHTML.Add('<tr class="Stoerung"><td>Stoerung</td></tr>');
Hier mal die Schleife mit der ich die Tabelle fülle...
Delphi-Quellcode:
  for i := 0 to QryHTML.RecordCount do
    begin
    slHTML.Add('<tr>');
    slHTML.Add('<td>');
    slHTML.Add(IntToStr(QryHTML.FieldByName('ID').AsInteger));
    slHTML.Add('</td>');
    slHTML.Add('<td>');
    slHTML.Add(IntToStr(QryHTML.FieldByName('LfdNr').AsInteger));
    slHTML.Add('</td>');
    slHTML.Add('<td>');
    slHTML.Add(DateToStr(QryHTML.FieldByName('Datum').AsDateTime));
    slHTML.Add('</td>');
    slHTML.Add('<td>');
    slHTML.Add(DateToStr(QryHTML.FieldByName('Uhrzeit').AsDateTime));
    slHTML.Add('</td>');
    slHTML.Add('<td>');
    slHTML.Add(QryHTML.FieldByName('Ereignis').AsString);
    slHTML.Add('</td>');
    slHTML.Add('<td>');
    slHTML.Add(QryHTML.FieldByName('Teilnehmer').AsString);
    slHTML.Add('</td>');
    slHTML.Add('<td>');
    slHTML.Add(QryHTML.FieldByName('Bereich').AsString);
    slHTML.Add('</td>');
    slHTML.Add('</tr>');

    QryHTML.Next;
    end;
:gruebel:
Gruß Jens

nahpets 28. Apr 2009 09:41

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge
 
Hallo,

diese Zeile muss variabel sein:
Delphi-Quellcode:
slHTML.Add('<tr>');
Das tr muss die für die Zeile entsprechende Klasse enthalten.
Delphi-Quellcode:
slHTML.Add('<tr class="' + VariabelMitDemEreignisnamen + "'>');
Das könnte z. B. so aussehen:
Delphi-Quellcode:
slHTML.Add('<tr class="' + QryHTML.FieldByName('Ereignis').AsString + "'>');
sofern die Spalte Ereignis eine Bezeichnung enthält, die mit den von Dir im Stylesheet definierten Klassen übereinstimmt.

Jens Hartmann 28. Apr 2009 09:50

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge
 
Genial,

jetzt funktioniert es. Jetzt habe ich das auch verstanden. Jetzt brauche ich nur noch diverse Ereignisse und Farben in der CSS-Datei eintragen und schon geht das. Geil, Danke.... :thumb: :thumb: :thumb:

Hier mal die Lösung....

Delphi-Quellcode:
  for i := 0 to QryHTML.RecordCount do
    begin
    slHTML.Add('<tr class="' + QryHTML.FieldByName('Ereignis').AsString + '">');
    slHTML.Add('<td>');
    slHTML.Add(IntToStr(QryHTML.FieldByName('ID').AsInteger));
    slHTML.Add('</td>');
    slHTML.Add('<td>');
    slHTML.Add(IntToStr(QryHTML.FieldByName('LfdNr').AsInteger));
    slHTML.Add('</td>');
    slHTML.Add('<td>');
    slHTML.Add(DateToStr(QryHTML.FieldByName('Datum').AsDateTime));
    slHTML.Add('</td>');
    slHTML.Add('<td>');
    slHTML.Add(DateToStr(QryHTML.FieldByName('Uhrzeit').AsDateTime));
    slHTML.Add('</td>');
    slHTML.Add('<td>');
    slHTML.Add(QryHTML.FieldByName('Ereignis').AsString);
    slHTML.Add('</td>');
    slHTML.Add('<td>');
    slHTML.Add(QryHTML.FieldByName('Teilnehmer').AsString);
    slHTML.Add('</td>');
    slHTML.Add('<td>');
    slHTML.Add(QryHTML.FieldByName('Bereich').AsString);
    slHTML.Add('</td>');
    slHTML.Add('</tr>');
    QryHTML.Next;
    end;


Gruß Jens

Jens Hartmann 28. Apr 2009 12:24

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge
 
Jetzt habe ich aber mal noch eine Frage,

da ich dieses Dokument ja per E-Mail versende, ist der Empfänger ja nicht im Besitz der css-Datei. Daher wäre es doch wahrscheinlich besser die Stylesheets direkt zu implementieren. Oder gibt es da eine andere Möglichkeit.

Gruß Jens

Mithrandir 28. Apr 2009 12:27

Re: PDF-Datei aus dem Inhalt eines VirtualStringTree erzeuge
 
Zitat:

Zitat von Jens Hartmann
Daher wäre es doch wahrscheinlich besser die Stylesheets direkt zu implementieren. Oder gibt es da eine andere Möglichkeit.

Nein, das wäre wohl das Beste. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 Uhr.
Seite 2 von 2     12   

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