Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   pas2html OpenSource Tool (https://www.delphipraxis.net/13466-pas2html-opensource-tool.html)

negaH 19. Dez 2003 05:29


pas2html OpenSource Tool
 
Liste der Anhänge anzeigen (Anzahl: 1)
Es kommt doch immer wiedermal vor das man einen Pascal Source der als Datei oder in der Zwischenablage vorliegt in HTML konvertieren will.

Das OpenSource Project "SynEdit" bietet da alles was man dazu benötigt, wenn es nicht einige kleine Bug's enthielte.

Mit dem hier vorgestellten kleinen Tool "pas2html", das auf dem in SynEdit enthaltenen Projekt basiert, werden diese Bugs beseitigt.

Setup im Dateisystem:

Ihr entpackt das ZIP mit Ordnern, und kopiert euch die pas2html.exe in einen entsprechenden Ordner. Bei mir ist das d:\borland\pas2html.exe. Danach erzeugt ihr eine Verknüpfung im \SendTo\ Ordner eures Benutzerordners. So nun können wir schonmal per Rechtem Mausklick im Explorer auf eine *.PAS/*.DPR oder was weiß ich Datei diese Datei an "pas2html" senden. Das Tool wird nun im gleichen Ordner der Sourcedatei eine HTML Version anlegen. Dabei berücksichtigt "pas2html" automatisch alle Farb/Font Einstellungen die in Delphi gemacht wurden sind. Immer ausgehend von der höchsten installierten Delphi Version.

Setup in der Delphi IDE:
Startet Delphi, und öffnet über IDE\Menu\Tools\Tool konfigurieren... den Tools-Editor.

Legt per Hinzufügen einen neuen Eintrag an.

Titel = Zwischenablage zu HTML
Program = d:\borland\pas2html.exe

fertig. Nochmals per Hinzufügen einen neuen Eintrag anlegen.

Titel = Datei zu HTML
Program = d:\borland\pas2html.exe
Parameter = $SAVE $EDNAME

Fertig.

Die obigen Pfade zu pas2html.exe müsst ihr natürlich auf euer System anpassen.

Ihr könnt nun über IDE\Menu\Tools\Datei zu HTML die oberste Pascal Source im Editor in eine HTML konvertieren. Über IDE\Menu\Tools\Zwischenablage zu HTML wird der Pascal Source in der Zwischenablage in HTML konvertiert.

Die in der ZIP enthaltene pas2html.exe ist von mir per ASPack komprimiert wurden. Wenn ihr sie neu kompilieren wollt so macht vorher eine Kopie. Ansonsten habt ihr eine ca. 60% größere EXE.
Im selben Ordner liegen die beiden geänderten SynEdit Source Files, die dafür sorgen das alle Editoreinstellungen der neueren Delphi Versionen korrekt geladen werden.


Gruß Hagen

Phoenix 19. Dez 2003 07:41

Re: pas2html OpenSource Tool
 
Ich möchte jetzt ned vorlaut sein, aber wer die GExperts bei sich installiert hat (übrigens auch Open-Source) kann damit beliebigen Code direkt aus Delphi raus nach html exportieren (Strg+Alt+E).

Auch dabei werden die Farbeinstellungen der IDE verwendet.

Nur so als Alternativvorschlag, ohne Hagen etwas madig machen zu wollen ;-)

choose 19. Dez 2003 09:19

Re: pas2html OpenSource Tool
 
Leider nicht open-source, trotzdem als Freeware gibt es das Programm YASH (Yet Another Syntax Highlighter), das auch prima geeignet ist, um mit der Zwischenablage zu arbeiten, indem direkt TeX- oder HTML-Code in die Zwischenablage erzeugt wird...

negaH 19. Dez 2003 10:15

Re: pas2html OpenSource Tool
 
Zitat:

Nur so als Alternativvorschlag, ohne Hagen etwas madig machen zu wollen
Nö machst du ja auch nicht, ich kenne GExperts und habe genau aus diesem Grunde dieses kleine Tool innerhalb 1 Stunde (download inclusive) gecodet. Denn was GExperts nicht kann ist auch ohne Delphi IDE einfach mal ein paar PASCAL Dateien per zwei Mausklicks umzuwandeln :)

Zudem nutze ich separat auch noch ConTEXT als Editor. Auch dieser kann HTML Dateien erzeugen, aus einem Sortiment von x Sourceformaten. Aber auch dieser war mir einfach zu aufwendig.

Aber am wichtigsten ist es für mich hier mal zu zeigen wie einfach und hilfreich das IDE Tools Menü immer noch ist. Man benötigt nicht immer rießige Kanonen um das lästige Gebrülle der Spatzen zu vernichten :)

Gruß hagen

MathiasSimmack 19. Dez 2003 10:19

Re: pas2html OpenSource Tool
 
Also ich nutze nach wie vor eine modifizierte Version von CRAs und Nicos DelphUBB. Der packt mir den Delphi-Code in einen <pre>-Block, formatiert Schlüsselworte wie begin und Co. fett, Kommentare kursiv, und das reicht mir dann eigentlich.
Auf die Weise entstanden sämtliche Codeauszüge in den Win32-API-Tutorials. Die Farben habe ich absichtlich außen vorgelassen, weil sich der gezeigte Code damit an den Farben der HTML-Seite orientiert.

Aber auch das geht nicht gegen dich, Hagen. Ich muss zugeben, dass ich dein Programm nicht getestet habe.

negaH 19. Dez 2003 12:43

Re: pas2html OpenSource Tool
 
Wobei wir auch an einem Punkt sind der mich am SynEdit HTML Konverter stört. Die unterschiedlichen Farben blähen das HTML in der Größe enorm auf. Ich kenne mich im HTML nicht so super aus, aber es müsste doch auch ohne Stylesheets mögliche sein mehrere Fonts vorzudefinieren. Statt dann jedesmal bei Änderung der Schrifftfarbe das lange "<Font.. color..>" Token zu benutzten, wird nur eine kleine Referenz auf die vordefinierten Fonts gesetzt. Geht das ? ohne CSS ? oder sollte HTML wirklich so ineffizient sein ?

Gruß Hagen

Phoenix 19. Dez 2003 12:47

Re: pas2html OpenSource Tool
 
Du kannst die CSS - Angaben in einem style - Tag am Anfang des HTML-Dokumentes einmal definieren.

Da kommt dann genau das gleiche rein, wie es sonst in eine externe css - Datei geschrieben werden würde:

<style type="text/css"> // hier hin \\ </style>

MathiasSimmack 25. Dez 2003 17:49

Re: pas2html OpenSource Tool
 
Als Ergänzung, auch wenn´s schon ein paar Tage her ist -

@Hagen: Es gibt Möglichkeiten, den HTML-Code zu verkürzen, indem du Klassen oder Attribute im Stilbereich (bzw. in einer externen CSS-Datei) definierst. Ein Beispiel mit Attributen (= id):
Code:
<style type="text/css"><!--

#Kommentar {
  color:#000080;
  background-color:transparent;
  font-style:italic;
}

#String {
  color:#008000;
  background-color:transparent;
}

--></style>


<pre><font id="Kommentar">//
// ein mehrzeiliger Kommentar ;)
//</font>
Edit1.Text := '<font id="String">Hallo, Welt!</font>';<pre>
Du musst also nicht mehr ständig die Farben für das <font>-Tag angeben, sondern es genügt ein Verweis auf das Attribut bzw. auf die Klasse. (Bei Klassen ersetzt du das # durch einen Punkt und "id" durch "class".) Man kann also durchaus Code sparen, wenn´s auch nicht viel ist. Aber deswegen ist HTML ja auch eine Beschreibungssprache. ;)

Und einen weiteren Punkt habe ich auch schon gezeigt: mehrzeile Kommentare, bzw. solche, die unmittelbar aufeinander folgen, müssen nicht ständig mit <font> oder [i] eingeklammert werden. Anstelle von
Code:
[i]//[/i]
[i]// ein mehrzeiliger Kommentar[/i]
[i]//[/i]
reicht auch
Code:
[i]//
// ein mehrzeiliger Kommentar
//[/i]
Mein Programm (das ich schon erwähnt habe) benutzt den HTML-Parser von other (weil der sauschnell ist!), wobei ich die eben genannte Funktionalität mit den Kommentarzeilen selbst ergänzt habe. Klar, bei Schlüsselworten usw. geht das natürlich nicht, da zwischen ihnen meist anderer Text steht.

Gruß.

H4ndy 29. Dez 2003 21:37

Re: pas2html OpenSource Tool
 
Zitat:

Zitat von MathiasSimmack
Als Ergänzung, auch wenn´s schon ein paar Tage her ist -

@Hagen: Es gibt Möglichkeiten, den HTML-Code zu verkürzen, indem du Klassen oder Attribute im Stilbereich (bzw. in einer externen CSS-Datei) definierst. Ein Beispiel mit Attributen (= id):
Code:
<style type="text/css"><!--

#Kommentar {
  color:#000080;
  background-color:transparent;
  font-style:italic;
}

#String {
  color:#008000;
  background-color:transparent;
}

--></style>


<pre><font id="Kommentar">//
// ein mehrzeiliger Kommentar ;)
//</font>
Edit1.Text := '<font id="String">Hallo, Welt!</font>';<pre>

Ich muss dir sagen das du extrem vom W3C-Standart abweichst.
IDs dürfen bei CSS nur *EINMAL* auf der HTML-Seite vorkommen.
(Hat was mit JavaScript zu tun, da man da auch IDs ansprechen kann)
Um das zu sehen, brauchst du deine Seite nur mal mit Mozilla zu testen
und schon wirst du zu sehr sauberen HTML gezwungen.
Der IE ist (leider) einfach zu fehlertollerant.

Verwende bei mehrfach verwendeten Eigenschaften eine klasse mit class
Code:
<style type="text/css">
<!--
.kommentar { color:#FFAA00; }
-->
</style>
...
<span class="kommentar">// ich bin ein Kommentar</span>
Desweiteren würde ich nicht <font> zum formatieren benutzen,
sondern das extra dafür vorgesehene <span>, zumal <font>
beim W3C als veraltet eingestuft wurde und nicht mehr zum
nächsten HTML-Standart zählen wird (v5 oder so, 4.01 aktuell)
( -> http://jigsaw.w3.org/css-validator/ )
( -> http://validator.w3.org/ )

Wollte ich nur mal gesagt haben (musste mich selber damit rumschlagen)

negaH 30. Dez 2003 08:47

Re: pas2html OpenSource Tool
 
Vielen Dank euch beiden, leider hilft das ja nicht allzuviel um den HTML wirklich kürzer zu bekommen. Mein Problem war halt das schlechte Verhältnis der Dateigrößen zwischen Pascal Source zu HTML.

Gruß Hagen


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 Uhr.
Seite 1 von 2  1 2      

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