AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte pas2html OpenSource Tool
Thema durchsuchen
Ansicht
Themen-Optionen

pas2html OpenSource Tool

Ein Thema von negaH · begonnen am 19. Dez 2003 · letzter Beitrag vom 21. Feb 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von negaH
negaH
Registriert seit: 25. Jun 2003
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
Angehängte Dateien
Dateityp: zip pas2html.zip (170,3 KB, 92x aufgerufen)
 
Benutzerbild von Phoenix
Phoenix
 
#2
  Alt 19. Dez 2003, 07:41
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
Sebastian Gingter
  Mit Zitat antworten Zitat
choose

 
Delphi 2006 Architect
 
#3
  Alt 19. Dez 2003, 09:19
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...
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH
 
#4
  Alt 19. Dez 2003, 10:15
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
  Mit Zitat antworten Zitat
MathiasSimmack
 
#5
  Alt 19. Dez 2003, 10:19
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.
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH
 
#6
  Alt 19. Dez 2003, 12:43
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
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
 
#7
  Alt 19. Dez 2003, 12:47
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>
Sebastian Gingter
  Mit Zitat antworten Zitat
MathiasSimmack
 
#8
  Alt 25. Dez 2003, 17:49
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ß.
  Mit Zitat antworten Zitat
Benutzerbild von H4ndy
H4ndy

 
Delphi XE3 Professional
 
#9
  Alt 29. Dez 2003, 21:37
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)
Manuel
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH
 
#10
  Alt 30. Dez 2003, 08:47
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:16 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