Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Web seiten erzeugen mit THttpProd, oder womit sonst? (https://www.delphipraxis.net/87839-web-seiten-erzeugen-mit-thttpprod-oder-womit-sonst.html)

martinalex 6. Mär 2007 08:47


Web seiten erzeugen mit THttpProd, oder womit sonst?
 
Ich habe mal versucht mit der Komponente THttpProd HTML Code für Web Seiten zu erzeugen. Diese Komponente gehört zu Delphi (Tab: Internet) zumindest seit Delphi 6 Pro, ist aber wenig bekannt.

In einem Html Template gibt es Tags, die mit einem Hash beginnen, z.B. <#author>. In einem onHTMLTag Event wird nach diesen Tag gesucht und es wird durch Html Text ersetzt, z.B. so:

Delphi-Quellcode:
procedure TfrmBookDetail.ppDetailHTMLTag(Sender: TObject; Tag: TTag;
  const TagString: String; TagParams: TStrings; var ReplaceText: String);

if TagString = 'author' then begin
    ReplaceText := '<span class="author">' + mBookAuthor + ':</span>'
Das ist ganz einfach. :)
Für kleine Html Seiten funktioniert die Komponente gut, aber bei großen Html Seiten gibt es manchmal einen Fehler: Zeile zu lang. :cry:
Deshalb suche ich nach Alternativen.

Ich benutze Delphi 7 Pro, der Source von THttpProd ist aber für Delphi 2005 Pro derselbe. Da scheint es keine Weiterentwicklung dieser Komponente zu geben.

Benutzt jemand andere Komponenten, um mit Delphi Html Seiten zu erzeugen?

So einen String Replace könnte ich auch selbst programmieren, bevorzuge aber eine Komponente.

marabu 6. Mär 2007 09:06

Re: Web seiten erzeugen mit THttpProd, oder womit sonst?
 
Hallo,

wenn es ein Fehler zur Übersetzungszeit ist, dann könnte es ein zu großes String-Literal sein. In dem Fall kannst du das Literal einfach in kleinere Portionen aufteilen und diese verketten.

Freundliche Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 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