Delphi-PRAXiS

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

retnyg 4. Jun 2005 20:36


pas2html
 
Konvertiert Pascal-Quellcode in eine HTML-Tabelle mit Syntax-Highlighting usw, wie man es vom forum gewohnt ist. Das ganze ohne zusätzliche Stylesheets zu benötigen in ner 14 kb kleinen exe.

http://krazz.net/retnyg/pas2html.gif

download bin + src

MathiasSimmack 4. Jun 2005 20:41

Re: pas2html
 
Entschuldige, wenn ich "Oh, mein Gott" sage, :shock:. Tabellen? Leerzeichen? Font? :roll: Na, da bleib ich lieber bei meinem Tool. Das erzeugt <pre>-Code und nutzt CSS-Klassen, so dass man die Gestaltung einfach und jederzeit austauschen kann, ohne den Code neu formatieren zu müssen.
Code:
<pre class="Delphi">[b]function[/b] pas2html(s: [b]string[/b]): [b]string[/b];
[b]var[/b]
  i, j : integer;
[b]begin[/b]
  <span class="DelphiComment">// mach doch irgendwas</span>


  [b]if[/b] length(s) &gt; <span class="DelphiNumeric">0</span> [b]then[/b]
    <span class="DelphiComment">// ...</span>
[b]end[/b];</pre>

retnyg 4. Jun 2005 20:45

Re: pas2html
 
:mrgreen:
genau das ist ja das praktische an meinem prog, man braucht nicht lange an stylesheets rumzufriemeln wenn man mal kurz ne source in seine website einbinden will sondern macht strg-c strg-v und die sache ist erledigt.

MathiasSimmack 4. Jun 2005 20:49

Re: pas2html
 
Ich finde das unpraktisch, denn zum einen bin ich auf die von dir festgelegten Farben angewiesen, und außerdem ist der erzeugte HTML-Code (s. Bild) furchtbar.

retnyg 4. Jun 2005 20:53

Re: pas2html
 
Zitat:

Zitat von MathiasSimmack
Ich finde das unpraktisch, denn zum einen bin ich auf die von dir festgelegten Farben angewiesen

wenn dir die farben nicht passen, brauchst du nur eine zeile im beiliegenden source zu ändern ^^
Zitat:

Zitat von MathiasSimmack
, und außerdem ist der erzeugte HTML-Code (s. Bild) furchtbar.

furchtbar ? er ist HMTL 4.0 konform und funktioniert.

wie gesagt, das tool ist dafür da mal schnell ne tabelle mit code zu erzeugen, wenn man nicht lange an styles rumbasteln will.

Matze 4. Jun 2005 20:57

Re: pas2html
 
Liste der Anhänge anzeigen (Anzahl: 1)
Nur so nebenbei, GExperts kann das auch und das direkt aus Delphi heraus (s. Anhang). ;)

Aber dennoch keine schlechte Idee, wenn auch etwas unkomfortabel.

MathiasSimmack 4. Jun 2005 20:58

Re: pas2html
 
Zitat:

Zitat von retnyg
Zitat:

Zitat von MathiasSimmack
Ich finde das unpraktisch, denn zum einen bin ich auf die von dir festgelegten Farben angewiesen

wenn dir die farben nicht passen, brauchst du nur eine zeile im beiliegenden source zu ändern ^^

Na, habe ich ein Glück, dass ich nicht mit Stylesheets rumfriemeln muss. :stupid:

Zitat:

furchtbar ? er ist HMTL 4.0 konform und funktioniert.
Das mag sein, aber er ist furchtbar unübersichtlich durch die Masse an s bei Einrückungen.

malo 4. Jun 2005 20:58

Re: pas2html
 
Zitat:

Zitat von retnyg
Zitat:

Zitat von MathiasSimmack
Ich finde das unpraktisch, denn zum einen bin ich auf die von dir festgelegten Farben angewiesen

wenn dir die farben nicht passen, brauchst du nur eine zeile im beiliegenden source zu ändern ^^

Natürlich, sehr vorteilhaft, wenn man immer Delphi öffnen muss, die Codezeile ersetzen und kompilieren muss. ;)

Zitat:

Zitat von retnyg
Zitat:

Zitat von MathiasSimmack
, und außerdem ist der erzeugte HTML-Code (s. Bild) furchtbar.

furchtbar ? er ist HMTL 4.0 konform und funktioniert.

Ab HTML 5.0 nicht mehr. Und HTML4.0 Strict macht damit imho auch Probleme.


Zitat:

Zitat von retnyg
wie gesagt, das tool ist dafür da mal schnell ne tabelle mit code zu erzeugen, wenn man nicht lange an styles rumbasteln will.

Der Vorteil von Stylesheets ist aber, dass man ihn immer wieder benutzen kann. Dein Code macht die HTML-Datei nur größer und sorgt so nur für mehr Traffic.

Neuni 4. Jun 2005 21:08

Re: pas2html
 
Sorry, aber < font > ist der größte schwachsinn. Dann mach doch einfach oben drüber im HTML-Code einmal ne Definition allá
Code:
<style type="text/css">
.dick {text-style: bold}
</style>
oder so, und mach dann < span class="dick" >. Das ist wesendlich einfacher für den Benutzer hinterher, wenn er z:b. im nachhinein was ändern möchte aber dein tool nicht zu hand hat.

retnyg 4. Jun 2005 21:13

Re: pas2html
 
Zitat:

Zitat von Matze
Nur so nebenbei, GExperts kann das auch und das direkt aus Delphi heraus (s. Anhang). ;)
Aber dennoch keine schlechte Idee, wenn auch etwas unkomfortabel.

wusste ich nicht, habe aber auch kein d2005. unkomfortabel finde ich aber eher, ne datei zu erstellen, diese dann im explorer ausfindig machen zu müssen, mit editor öffnen, um dann erst den benötigten code rauskopieren zu können. bei meinem tool kommt man direkt an den html-source.
Zitat:

Na, habe ich ein Glück, dass ich nicht mit Stylesheets rumfriemeln muss. Stupid
die farben passen, da sie gleich sind wie im DF oder hier...
Zitat:

Ab HTML 5.0 nicht mehr. Und HTML4.0 Strict macht damit imho auch Probleme.
ist mir nicht bekannt-der code wird von jedem browser einwandfrei dargestellt.
Zitat:

Der Vorteil von Stylesheets ist aber, dass man ihn immer wieder benutzen kann. Dein Code macht die HTML-Datei nur größer und sorgt so nur für mehr Traffic.
jo, die paar bytes machen das kraut auch nicht fett, ausser ich poste nen megabyte grossen code ^^
ausserdem wird der text bei webserver seitig aktivierter kompression sehr gut gepackt.
da würde ich mir wegen des traffics mal lieber gedanken machen, wenn jede exe mit 2 funktionen schon 400 kb frisst :mrgreen:

Matze 4. Jun 2005 21:16

Re: pas2html
 
GExperts gibt's auch z.B. für Delphi 7.

Dort kann man auch selbst die Farben und Formatierungen für den Source einstellen, so etwas wäre vielleicht ganz praktisch bei dir. Oder eine Funktion, um den Source direkt zu speichern oder in die Zwischenablage zu kopieren.

Nachtrag: Oder wenigstens ein OpenDialog zum Öffnen von pas-Dateien.

retnyg 4. Jun 2005 21:23

Re: pas2html
 
Zitat:

Zitat von Matze
GExperts gibt's auch z.B. für Delphi 7.

Dort kann man auch selbst die Farben und Formatierungen für den Source einstellen, so etwas wäre vielleicht ganz praktisch bei dir. Oder eine Funktion, um den Source direkt zu speichern oder in die Zwischenablage zu kopieren.

Nachtrag: Oder wenigstens ein OpenDialog zum Öffnen von pas-Dateien.

das läuft so: in delphi benötigten quelltext markieren, im memo1 einfügen und schwupps steht in memo2 der benötigte html-code. markieren, kopieren, in der gewünschten html-datei einfügen, fertig.

ich habe das teil programmiert, weil ich viele kleine code-blöcke für ein tutorial benötige.
am besten seht ihr euch das programm mal an o0
bislang verzeichne ich erst einen download...

malo 4. Jun 2005 21:23

Re: pas2html
 
Zitat:

Zitat von retnyg
Zitat:

Zitat von Matze
Nur so nebenbei, GExperts kann das auch und das direkt aus Delphi heraus (s. Anhang). ;)
Aber dennoch keine schlechte Idee, wenn auch etwas unkomfortabel.

wusste ich nicht, habe aber auch kein d2005.

Was hat D2005 damit zu tun? Imho gibt es GExperts auch für ältere versionen ;)

[quote"retnyg"]
Zitat:

Ab HTML 5.0 nicht mehr. Und HTML4.0 Strict macht damit imho auch Probleme.
ist mir nicht bekannt-der code wird von jedem browser einwandfrei dargestellt.[/quote]

:wall: Was hat das damit zu tun?

Die Daten müssen in der HTML-Datei im Doctype eingestellt werden. Schau mal bei www.selfhtml.org . HTML 5.0 ist übrigens XHTML.


Zitat:

Zitat von retnyg
Zitat:

Der Vorteil von Stylesheets ist aber, dass man ihn immer wieder benutzen kann. Dein Code macht die HTML-Datei nur größer und sorgt so nur für mehr Traffic.
jo, die paar bytes machen das kraut auch nicht fett, ausser ich poste nen megabyte grossen code ^^
ausserdem wird der text bei webserver seitig aktivierter kompression sehr gut gepackt.
da würde ich mir wegen des traffics mal lieber gedanken machen, wenn jede exe mit 2 funktionen schon 400 kb frisst :mrgreen:

Wenn man aber mehrere von solchen Tabellen verwendet und teilweise größere Codes darstellen will macht das im Endeffekt schon was weg. Besonders wenn man recht hohen Traffic hat.

MathiasSimmack 4. Jun 2005 21:37

Re: pas2html
 
Hier ist mal meins. Ist zwar nicht mehr ganz aktuell. Ich habe noch eine Version vom 18.7.04, wo auch eine XML-Version der Testseite beiliegt, mit der man die verschiedenen Farben ausprobieren kann.

Matze 4. Jun 2005 21:47

Re: pas2html
 
Zitat:

Zitat von Matze
Dort kann man auch selbst die Farben und Formatierungen für den Source einstellen, so etwas wäre vielleicht ganz praktisch bei dir. Oder eine Funktion, um den Source direkt zu speichern oder in die Zwischenablage zu kopieren.

Nachtrag: Oder wenigstens ein OpenDialog zum Öffnen von pas-Dateien.

Zitat:

Zitat von retnyg
am besten seht ihr euch das programm mal an o0

Wenn ich mir dein Programm nicht angeschaut hätte, hätte ich diese Aussagen gar nicht treffen können, da die Funktionen genausogut in ein PopupMenu eingabut sein könnten.

Dass es für Tutorials ist, wusste ich nicht, ich nutze ein php-Script, das mir das parst. Aber für solche kleineren Dinge eignet sich dein Programm natürlich gut, mal abgesehen vom Code, auf den hinterher sowieso kaum einer der Websitenbesucher achtet.

retnyg 4. Jun 2005 22:31

Re: pas2html
 
Zitat:

Zitat von Matze
Aber für solche kleineren Dinge eignet sich dein Programm natürlich gut, mal abgesehen vom Code, auf den hinterher sowieso kaum einer der Websitenbesucher achtet.

danke :drunken: endlich mal ein vernünftiges wort :lol:
genau dafür ist es auch gedacht, kann aber auch bedenklos mit grösseren codeschnipseln verwendet werden

@matthiassimmack: schön wenn dein programm alles hocheffizient mit CSS und konsorten löst.
wenn man sich die einarbeitungszeit antun will, hat man auf lange sicht gesehen, sicher die bessere lösung in punkto dateigrösse der html-seite. (wofür werden registry-zugriffe benötigt?)

wenn man mal schnell und unkompliziert einen code online stellen will, so hat man mit meiner methode sicher mehr freude.
meiner ansicht nach sind die font-tags zu unrecht verpönt, immerhin verrichten sie schon seit IE 3.0 oder vielleicht noch länger, brav ihren dienst.

retnyg 4. Jun 2005 23:15

Re: pas2html
 
update: habe mir das mit den pre-tags angeschaut und gleich eingebaut.
der spam gehört somit der vergangenheit an ^^

demo: http://krazz.net/retnyg/pas2html_example.htm

Garfield 5. Jun 2005 08:02

Re: pas2html
 
Zitat:

Zitat von retnyg
jo, die paar bytes machen das kraut auch nicht fett, ausser ich poste nen megabyte grossen code ^^

Das hört sich schon ziemlich überheblich oder zumindest gedankenlos dahergeplappert an. Wenn nur Du auf ein paar wenigen Seiten so programmierst, mag das stimmen. Aber Du willst ja sicher, dass auch andere Dein Tool anwenden. Dann summieren sich diese paar Bytes zu kB, MB und eventuell auch GB.

Und wie sieht es aus, wenn man mal doch ein Styleelement ändern möchte? Dann muss jede einzelne Datei und darin jeder entsprechende Tag manuell geändert werden!? Beim Stylesheet braucht man in der Regel nur eine Änderung in einer Datei vornehmen.

PierreB 5. Jun 2005 08:19

Re: pas2html
 
Hallo,

ich soll für die Schule gerade eine kleine Präsentation erstellen (HTML) auf der auch Quellcode sein muss. Da kommt mir dein Programm gerade nützlich. Dankeschön. ;)

MathiasSimmack 5. Jun 2005 08:36

Re: pas2html
 
:hi: retnyg. Ich habe dein Zitat mal in meinem Beitrag beantwortet, weil er da auch eigentlich hingehört. Ich bin aber froh, dass du immerhin kritikfähig bist und dir das mit <pre> mal angeschaut hast. Über deinen Kommentar im DF habe ich geschmunzelt, den Tipp hattest du hier nämlich eher. :lol: Aber sei´s drum.

Du solltest dir noch den Vorschlag mit der Schriftart in deinem oberen Memo überlegen. Man kann die Abstände und Einzüge mit einer Schriftart wie Arial schlecht abschätzen. Warum benutzt wohl Delphi selbst auch "Courier" bzw. "Courier New"? :zwinker:

Nils_13 5. Jun 2005 09:18

Re: pas2html
 
Wenn z.B. 'end;' konvertiert werden soll, dann steht in der HTML-Zeile noch ein ';' hinter dem Code.

retnyg 5. Jun 2005 17:42

Re: pas2html
 
Zitat:

Zitat von Neuni
Sorry, aber < font > ist der größte schwachsinn. Dann mach doch einfach oben drüber im HTML-Code einmal ne Definition allá
Code:
<style type="text/css">
.dick {text-style: bold}
</style>
oder so, und mach dann < span class="dick" >. Das ist wesendlich einfacher für den Benutzer hinterher, wenn er z:b. im nachhinein was ändern möchte aber dein tool nicht zu hand hat.

ok, habe das jetzt so gemacht (für die farben)
ausserdem gibts nun noch nen button der alles selektiert (strg-c zu drücken wird wohl jeder schaffen)
und die memos haben courier new eingestellt.

Zitat:

Zitat von garfiedl
Das hört sich schon ziemlich überheblich oder zumindest gedankenlos dahergeplappert an. Wenn nur Du auf ein paar wenigen Seiten so programmierst, mag das stimmen. Aber Du willst ja sicher, dass auch andere Dein Tool anwenden. Dann summieren sich diese paar Bytes zu kB, MB und eventuell auch GB.

Und wie sieht es aus, wenn man mal doch ein Styleelement ändern möchte? Dann muss jede einzelne Datei und darin jeder entsprechende Tag manuell geändert werden!? Beim Stylesheet braucht man in der Regel nur eine Änderung in einer Datei vornehmen.

da keine nbsp's mehr vorkommen und auch die farben in ein style-statement ausgelagert sind, dürfte deine kritik zu spät gekommen sein ;)

@nils13 ? kann ich nicht nachvollziehen :gruebel:

Luckie 5. Jun 2005 17:51

Re: pas2html
 
Zitat:

Zitat von retnyg
@matthiassimmack: schön wenn dein programm alles hocheffizient mit CSS und konsorten löst.
wenn man sich die einarbeitungszeit antun will

Wie so Einarbeitungszeit? Ein mal einen Stylesheet gemacht oder einen vorhandenen genommen (@Matthias: Liegt eventuell sogar einer bei?) und das Ding ist fertig.

MathiasSimmack 5. Jun 2005 19:15

Re: pas2html
 
Ähem, guckst du mal bei 9 Uhr 36, Luckie. :stupid:

retnyg 7. Jun 2005 16:28

Re: pas2html
 
so, mittlerweile gibt's ne ziemlich spruchreife version. sämtliche kommentare ausser (* *) werden nun richtig verarbeitet, man kann pas-dateien per drag und drop auf die form ziehen, und das ganze ist noch ziemlich schnell... 24s für ne 2 mb grosse pas -datei ( KOL.pas )
d.h. (* <- solche kommentare werden einfach ignoriert.
mit allen features wie style-set (ohne dieses allerdings auslagern zu müssen) und pre-tags..

wer die veralteten (* kommentare verwenden will, soll entweder mein tool strreplace http://www.delphipraxis.net/internal...ct.php?t=52801 drüberrennen lassen oder sich das vom texteditor seiner wahl suchen und ersetzen lassen (* zu { und *) zu }
oder zu matthiassimmacks programm greifen

beispiel-batch für strreplace:
Code:
@echo off
for %%a in (*.pas) do strreplace %%a (* {
for %%a in (*.pas) do strreplace %%a *) }

MathiasSimmack 7. Jun 2005 16:37

Re: pas2html
 
Zitat:

Zitat von retnyg
wer die veralteten (* kommentare verwenden will,

Veraltet? :gruebel: Es wird wohl niemand ein Quellcodestück veröffentlichen, in dem sich irgendwo ein größerer Block an auskommentiertem Code befindet. Trotzdem gibt es manchmal Situationen, etwa bei Copyright-Infos am Anfang einer Unit, in denen man diesen so genannten veralteten Kommentarblock verwendet.

mirage228 7. Jun 2005 16:40

Re: pas2html
 
Hi,

ich frage mich, was dein macht, wenn im Quelltext, z.B. so ein Code vorkommt
Delphi-Quellcode:
procedure SomeProcedure;
var
  SomeStr: string;
  AnohterString: string;
begin
  SomeStr := '(*';
  AnotherString := '*)';
  // anderer Code...
end;
Wird der Code an sich dann auch verändert oder wirklich nur der Kommentar ersetzt?

mfG
mirage228

retnyg 7. Jun 2005 16:48

Re: pas2html
 
Zitat:

Zitat von mirage228
ich frage mich, was dein macht, wenn im Quelltext, z.B. so ein Code vorkommt

Wird der Code an sich dann auch verändert oder wirklich nur der Kommentar ersetzt?

meinst du jetzt strreplace oder pas2html ? :mrgreen:
strreplace ersetzt jedes vorkommen eines strings durch einen anderen
bei pas2html werden kommentare und strings korrekt auseinandergehalten.


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