AND51 hat geschrieben:Und bin gespannt, wie dir meine Ideen gefallen.
- Zeilennummerierung. kommt rein, Aktivierung durch Parameter
- Ich benutze für die Einrückungen "echte" Tabs (Chr(9)) ...
Bei mir wird alles richtig dargestellt, auch echte Tabs.- Panelgadget Zu Befehl
- Folding
Wird kompliziert ^^
Auf meiner Website hab ich das zusammen mit einem Freund gemacht,
für ein Beispiel wäre ich dir schon dankbar.
In Sachen Webdesign bin ich halt noch Anfänger- Bitte nicht einfach einen Ordner namens "html" in meinem PureBasic-Ordner erstellen
Ich habe für dein cooloes Tool extra einen Unterordner angelegt:
#PB_Compiler_Home+"Werkzeuge\PB2HTML", dann sollten deine Temp-Files auch bitte da rein!![]()
ok ok- Ändere HTML-Code created with PB2HTML Converter from Macrosmal zu HTML-Code generated with PB2HTML Converter by Macros. Klingt besser.
Und: Ergänze deinen Werbe-Link um folgendes Attribut: target="_blank", sonst sehe ich mich gezwungen, den Werbelink zu entfernen...![]()
schon geschehen- Fehler
taucht hier nichtmehr auf
Alles in Allem gut
PB2HTML

Solange ich noch an einem Beispiel code, kannst du schon mal folgenden Fehler verbessern:
Leerzeilen werden bei dir mit <FONT>-Tags (color="#black") umschlossen, das ist völig unnötig.
Leerzeilen werden bei dir mit <FONT>-Tags (color="#black") umschlossen, das ist völig unnötig.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Beispiel von mir in BBCode:
PureBasic-Code hat geschrieben: Repeat
If 1 = 0
; Laber Laber
String$ = "123abc"
Else
MessageRequester("", "1 <> 0", #PB_MessageRequester_Ok)
EndIf
ForEver
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
So, fertig.
Ich erkläre es dir Schritt für Schritt:
Dies ist mein Testcode, den ich von deinem Tool konvertieren lasse:
Dein Programm braucht einfach nur eine neue Variable, die alle laufenden Knoten mitzählt. Sagen wir einfach, diese Variable heißt "falte"
Wenn du Zeile 4 parsen tust, setzte du 'falte' auf 1. Für die HTML-Ausgabe fügst du einfach folgenden <DIV>-Tag ein:
Wenn du nun ein Schlüsselwort findest, das die Falte beendet, fügst du einfach in den Code ein.
Außerdem wichtig: füge den einleitenden DIV-tag nach der gefunden Zeile ein, also hier erst in Zeile 5, weil sonst Zeile 4 mit verteckt wird, wenn man das umschalten möchte, verstehst du?
Jetzt das verschachtelte Beispiel:
Dann parst du gemütlich weiter und landest in Zeile 17. Hier erhöhst du die Variable 'falte' wieder um 1. 'falte' ist jetzt also 2.
Füge also einen DIV-Tag mit der ID="knoten2" ein.
Parse weiter und mach dasselbe SPiel nochmal in Zeile 19: falte hat nun den Wert 3 bekommen und es wird ein <div id="knoten3">-Tag eingesetzt.
Die beiden DIV-Tags werden in umgekehrter Reihe geschlossen, d. h. in Zeile 22 wird knoten3 geschlossen und in Zeile 26 wird knoten2 geschlossen. Du kannst knoten2 und knoten3 jeweils schließen, indem du einfach ein </div> einfügst, wie ganz oben bei dem Maximun-Beispiel.
Bitte schaue dir nun die manipulierte Seite an! Ich habe dort per Hand+Notepad die DIV-Tags eingefügt. Durch deine vielen Font-Tags ist der Code etwas unübersichtlich, deshalb wirst du dir 1 Minute mehr Zeit nehmen müssen, das alles zu überblicken.
Zum Anzeigen und verstecken kannst du meine JavaScript Prozedur nehmen, die steckt auch in der HTML-Datei. Dieses JavaScript enthält nur 1 Funktion, welches alles steuert.
Bitte füge das Skript immer irgendwo innerhalb von <HEAD> ... </HEAD> ein.
Hinweis: Zum auf- und zuklappen benutze bitte die Links. Die musste ich irgendwo einfügen und gehören normalerweise nicht dahin sondern neben die zeilennummerierung.
Beachte: Bitte spiele besonders mit der verschachtelten Faltung herum! klappe zum Beispiel die Struktur zu, dann die Prozedur zu. Klappe nun die Prozedur auf: Die struktur bleibt zu! Klappe nun die Prozedur "Dummes Beispiel" wieder zu und danach die Struktur auf.
Du siehst: Obwohl die STruktur eigentlich aufgeklappt ist, ist sie nicht sichtbar, weil die Prozedur immernoch zu ist!
Klappe nun die Prozedur auf und du siehst es.
Ich erkläre es dir Schritt für Schritt:
Dies ist mein Testcode, den ich von deinem Tool konvertieren lasse:
Dein Programm braucht einfach nur eine neue Variable, die alle laufenden Knoten mitzählt. Sagen wir einfach, diese Variable heißt "falte"
Wenn du Zeile 4 parsen tust, setzte du 'falte' auf 1. Für die HTML-Ausgabe fügst du einfach folgenden <DIV>-Tag ein:
Code: Alles auswählen
zeile$ = "<div id="+#DQUOTE$+"knoten"+Str(falte)+#DQUOTE+">"
Code: Alles auswählen
</div>
Außerdem wichtig: füge den einleitenden DIV-tag nach der gefunden Zeile ein, also hier erst in Zeile 5, weil sonst Zeile 4 mit verteckt wird, wenn man das umschalten möchte, verstehst du?
Jetzt das verschachtelte Beispiel:
Dann parst du gemütlich weiter und landest in Zeile 17. Hier erhöhst du die Variable 'falte' wieder um 1. 'falte' ist jetzt also 2.
Füge also einen DIV-Tag mit der ID="knoten2" ein.
Parse weiter und mach dasselbe SPiel nochmal in Zeile 19: falte hat nun den Wert 3 bekommen und es wird ein <div id="knoten3">-Tag eingesetzt.
Die beiden DIV-Tags werden in umgekehrter Reihe geschlossen, d. h. in Zeile 22 wird knoten3 geschlossen und in Zeile 26 wird knoten2 geschlossen. Du kannst knoten2 und knoten3 jeweils schließen, indem du einfach ein </div> einfügst, wie ganz oben bei dem Maximun-Beispiel.
Bitte schaue dir nun die manipulierte Seite an! Ich habe dort per Hand+Notepad die DIV-Tags eingefügt. Durch deine vielen Font-Tags ist der Code etwas unübersichtlich, deshalb wirst du dir 1 Minute mehr Zeit nehmen müssen, das alles zu überblicken.
Zum Anzeigen und verstecken kannst du meine JavaScript Prozedur nehmen, die steckt auch in der HTML-Datei. Dieses JavaScript enthält nur 1 Funktion, welches alles steuert.
Bitte füge das Skript immer irgendwo innerhalb von <HEAD> ... </HEAD> ein.
Hinweis: Zum auf- und zuklappen benutze bitte die Links. Die musste ich irgendwo einfügen und gehören normalerweise nicht dahin sondern neben die zeilennummerierung.
Beachte: Bitte spiele besonders mit der verschachtelten Faltung herum! klappe zum Beispiel die Struktur zu, dann die Prozedur zu. Klappe nun die Prozedur auf: Die struktur bleibt zu! Klappe nun die Prozedur "Dummes Beispiel" wieder zu und danach die Struktur auf.
Du siehst: Obwohl die STruktur eigentlich aufgeklappt ist, ist sie nicht sichtbar, weil die Prozedur immernoch zu ist!
Klappe nun die Prozedur auf und du siehst es.
- Hier noch der Link zur HTML-Datei: http://www.g4you.de/and/extern/pbforum/ ... lding.html

PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
@AND51
Nette Sache, da es aber anscheinend nur mit dem IE funktioniert ist es noch
nicht Internet-Tauglich. Sieht auf jedenfall merkwürdig im FF aus
Nette Sache, da es aber anscheinend nur mit dem IE funktioniert ist es noch
nicht Internet-Tauglich. Sieht auf jedenfall merkwürdig im FF aus

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Falsch, es ist laut SelfHTML in allen Browsern funktionstüchtig, die JavaSCript 1.5 und DOM 2.0 unterstützen:
(Angaben = Mindestversion)
- Netscape 6
- IE 5.5
- Mozilla Firefox 1.0
- Opera 6.0
- Konqueror 3.1
- Safari 1.0
Ich bitte dich, geh mal auf diese Seiteund klicke auf "Stylesheet-Power!". Wird da bei dir alles rot? Bitte nenne nochmal deinen Browser+Version!
Ansonsten: Es ist möglich für alle browser dieses zu programmieren. Aber wer nutzt noch IE 4, sodass ich mit document.all arbeiten muss? Pech für die, denn die Unterstützen nicht CSS 2.x.
Ich gebe zu, ich programmiere wenn, dann meist nur für'n IE. Da FF und OP dem IE fast alles nachmachen, brauch ich mich um diese beiden Browser nicht zu kümmern. Und Netscape, von AOL im Jahre 1998 aufgekauft, geht mir am Allerwertesten vorbei - der soll gefälligst JS 1.5 und DOM 2.0 unterstützen und dann kann der auch das gleiche wie der IE. Tut er ja auch, seit Version 6.
Somit müsste meine Prozedur eigentlich in allen modernen & gängigen Browsern funktionieren.
Bitte versuch es, wie gesagt nochmal.
Bei mir (IE 7) funktioniert es ordnungsgemäß.
Ich könnte mir einen Haken vorstellen, der das Problem verursachen könnte; aber dazu möchte ich dich bitten, einen Screenshot zu posten, wenn's geht.
(Angaben = Mindestversion)
- Netscape 6
- IE 5.5
- Mozilla Firefox 1.0
- Opera 6.0
- Konqueror 3.1
- Safari 1.0
Ich bitte dich, geh mal auf diese Seiteund klicke auf "Stylesheet-Power!". Wird da bei dir alles rot? Bitte nenne nochmal deinen Browser+Version!
Ansonsten: Es ist möglich für alle browser dieses zu programmieren. Aber wer nutzt noch IE 4, sodass ich mit document.all arbeiten muss? Pech für die, denn die Unterstützen nicht CSS 2.x.
Ich gebe zu, ich programmiere wenn, dann meist nur für'n IE. Da FF und OP dem IE fast alles nachmachen, brauch ich mich um diese beiden Browser nicht zu kümmern. Und Netscape, von AOL im Jahre 1998 aufgekauft, geht mir am Allerwertesten vorbei - der soll gefälligst JS 1.5 und DOM 2.0 unterstützen und dann kann der auch das gleiche wie der IE. Tut er ja auch, seit Version 6.
Somit müsste meine Prozedur eigentlich in allen modernen & gängigen Browsern funktionieren.
Bitte versuch es, wie gesagt nochmal.
Bei mir (IE 7) funktioniert es ordnungsgemäß.
Ich könnte mir einen Haken vorstellen, der das Problem verursachen könnte; aber dazu möchte ich dich bitten, einen Screenshot zu posten, wenn's geht.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
@AND51
Stylesheet Power funzt. Ich nutze einen Internet-Browser, und zwar den
FireFox 2.0.0.3. Was der Internet Explorer (nicht Browser) macht ist mir
ziemlich wurscht. Weder das Internet noch die Browser-Standards stammen
von MS. Das IE Sachen unterstützt oder nicht unterstützt, die kein Standard
sind juckt mich nicht. Firefox und Co gucken nicht beim IE ab, sondern
wirken am Standard mit, im Gegensatz zu Microsoft IE die alles nach eigenen
Ideen und Vorstellungen umdefinieren.
>> Bei mir (IE 7) funktioniert es ordnungsgemäß.
Wenn das ignorieren der <nobr> ordnungsgemäß für Dich ist
dann sollteste Du den IMHO schlechten IE weiter nutzen, aber zum Testen
vielleicht nen richtigen Browser nehmen
Stylesheet Power funzt. Ich nutze einen Internet-Browser, und zwar den
FireFox 2.0.0.3. Was der Internet Explorer (nicht Browser) macht ist mir
ziemlich wurscht. Weder das Internet noch die Browser-Standards stammen
von MS. Das IE Sachen unterstützt oder nicht unterstützt, die kein Standard
sind juckt mich nicht. Firefox und Co gucken nicht beim IE ab, sondern
wirken am Standard mit, im Gegensatz zu Microsoft IE die alles nach eigenen
Ideen und Vorstellungen umdefinieren.
>> Bei mir (IE 7) funktioniert es ordnungsgemäß.
Wenn das ignorieren der <nobr> ordnungsgemäß für Dich ist

dann sollteste Du den IMHO schlechten IE weiter nutzen, aber zum Testen
vielleicht nen richtigen Browser nehmen

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

@ Macros:
> AND du musst einfach nur <nobr> entfernen
Das Tag habe ich übersehen. Zum Verstecken oder anzeigen benutze ich DISPLAY mit den Eigenschaften BLOCK und NONE. BLOCK bewirk´t, dass ein Element angezeigt wird, aber als eigenständiges, d. h. für ein mit <DIV STYLE="DISPLAY:BLOCK"> umgebenes Element wird ein neuer Absatz erzeugt.
Da ich keinen anderen Brwoser außer dem IE 7 habe, u. a. weil ich keinen anderen brauche, kann ich euch leider nicht genau sagen, wo der Fehler liegt.
> NOBR
NOBR steht für "no break", wenn ich also zwischen zwei Wörter 300 Leerzeichen einfüge, soll der Browser diese zeile nicht umnbrechen. Ich bin mir grad nicht sicher, aber ich würde aus dem Stand mal behaupte, das NOBR könntest du dir eh sparen, warum? Weil PRE schon festlöegt, dass nichts umgebrochen werden soll, sondern es soll alles so wie es im Quelltext steht, geschrieben werden (inkl. Leerzeichen und Zeilenumbrüchen).
Wenn das Entfernen des NOBR zur Lösung führt, dann bin ich ja beruhigt!
@ TS-Soft:
> das Internet noch die Browser-Standards stammen von MS
Hat auch keiner beauptet
> Firefox und Co gucken nicht beim IE ab
Das meintee ich nicht abwertend, sorry. Das sollte heißen, dass diese drei genannten Brwoser sich gleich verhalten, sodass ich für diese 3 Browser schon mal nicht mehr differenziert programmieren muss.
> im Gegensatz zu Microsoft IE die alles nach eigenen Ideen und Vorstellungen umdefinieren
Das wird in einem Flame enden!
Das ist nicht wahr. Der IE unterstützt ebenso wie andere browser die Vorgaben des W3C-Konsortiums. Wenn du die Redmonder dafür bestrafst, dass sie extra Features einbauen, wie VBSCRIPT oder ActiveX, dann möchte ich dir keine extraleistungen mehr bieten, für die ich bestraft werden könnte. Abgesehen davon nutze ich soweiso kein VBSCRIPT.
> Wenn das ignorieren der <nobr> ordnungsgemäß für Dich ist
Bei mir wird alles korrekt angezeigt, auch mein eigenes Beispiel, das noch das NOBR Tag enthält! Somit verstehe ich nicht, was dir beim Schreiben dieses Satzes durch'n kopf ging...
Bei mir wird nämlich kein Code umgebrochen.
> zum Testen vielleicht nen richtigen Browser nehmen
Wenn ich einen Browser habe, der W3C-gemäß anzeigt, brauche ich auch keine anderen. 2 Browser... Das ist ja so, als hätte ich PB IDE und jaPBe gleichzeitig installiert, wer sowas nötig hat, ist selber schuld.
@ Macros again:
Hast du schon wieder was am Tool gemacht?
Werd's mir anschauen... Bin gespannt!
> AND du musst einfach nur <nobr> entfernen
Das Tag habe ich übersehen. Zum Verstecken oder anzeigen benutze ich DISPLAY mit den Eigenschaften BLOCK und NONE. BLOCK bewirk´t, dass ein Element angezeigt wird, aber als eigenständiges, d. h. für ein mit <DIV STYLE="DISPLAY:BLOCK"> umgebenes Element wird ein neuer Absatz erzeugt.
Da ich keinen anderen Brwoser außer dem IE 7 habe, u. a. weil ich keinen anderen brauche, kann ich euch leider nicht genau sagen, wo der Fehler liegt.
> NOBR
NOBR steht für "no break", wenn ich also zwischen zwei Wörter 300 Leerzeichen einfüge, soll der Browser diese zeile nicht umnbrechen. Ich bin mir grad nicht sicher, aber ich würde aus dem Stand mal behaupte, das NOBR könntest du dir eh sparen, warum? Weil PRE schon festlöegt, dass nichts umgebrochen werden soll, sondern es soll alles so wie es im Quelltext steht, geschrieben werden (inkl. Leerzeichen und Zeilenumbrüchen).
Wenn das Entfernen des NOBR zur Lösung führt, dann bin ich ja beruhigt!

@ TS-Soft:
> das Internet noch die Browser-Standards stammen von MS
Hat auch keiner beauptet
> Firefox und Co gucken nicht beim IE ab
Das meintee ich nicht abwertend, sorry. Das sollte heißen, dass diese drei genannten Brwoser sich gleich verhalten, sodass ich für diese 3 Browser schon mal nicht mehr differenziert programmieren muss.
> im Gegensatz zu Microsoft IE die alles nach eigenen Ideen und Vorstellungen umdefinieren
Das wird in einem Flame enden!

Das ist nicht wahr. Der IE unterstützt ebenso wie andere browser die Vorgaben des W3C-Konsortiums. Wenn du die Redmonder dafür bestrafst, dass sie extra Features einbauen, wie VBSCRIPT oder ActiveX, dann möchte ich dir keine extraleistungen mehr bieten, für die ich bestraft werden könnte. Abgesehen davon nutze ich soweiso kein VBSCRIPT.
> Wenn das ignorieren der <nobr> ordnungsgemäß für Dich ist
Bei mir wird alles korrekt angezeigt, auch mein eigenes Beispiel, das noch das NOBR Tag enthält! Somit verstehe ich nicht, was dir beim Schreiben dieses Satzes durch'n kopf ging...

Bei mir wird nämlich kein Code umgebrochen.
> zum Testen vielleicht nen richtigen Browser nehmen
Wenn ich einen Browser habe, der W3C-gemäß anzeigt, brauche ich auch keine anderen. 2 Browser... Das ist ja so, als hätte ich PB IDE und jaPBe gleichzeitig installiert, wer sowas nötig hat, ist selber schuld.
@ Macros again:
Hast du schon wieder was am Tool gemacht?
Werd's mir anschauen... Bin gespannt!
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Extra Post wegen Bug-Hunting:
Nett, dass du den html-Ordner nun im programmordner machst.
Problem: Er schreibt immer: "Kann Datei nicht erstellen". Abhilfe: Manuelles anlegen eines html-Ordners neben der EXE.
Das müsstest du nochmal überprüfen.
Nett, dass du den html-Ordner nun im programmordner machst.
Problem: Er schreibt immer: "Kann Datei nicht erstellen". Abhilfe: Manuelles anlegen eines html-Ordners neben der EXE.
Das müsstest du nochmal überprüfen.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End