PBtoHTML Converter

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Beitrag von Macros »

ZeHa hat geschrieben:Jo macht mal, gibt schon sooo viele Audioplayer und Chats, aber noch lange nicht genügend PB 2 HTML Converter :mrgreen:
Bild Alles nur das nicht


Edit:
Xor, ich hab gerade gelesen, das du PDF unterstützen willst,
konzentrier dich am besten darrauf

Wär auch geil, wenn man PB Code mal zu odt
oder anderen Formaten konvertieren könnte
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

ich hatte ja auch schon ein gebaut, allerding auf einer völlig anderen Basis:

Die CODEs liegen in einer Datei Roh vor und werden dann entweder mit php oder JS erstellt, das erspart eine menge an "Datenmüll", der sich auch mit CSS nicht vermeiden lassen würde
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
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

>Bin gespannt, wie du DAS realisierst, Macros hat sich gemeinsam mit uns den Kopf darüber zerbrochen

Ich würds mit tables machen.

Noch habe ich keine Idee umgesetzt. Arbeite gerade an was anderem.

Edit: Ja ich weiß, der erste flame wird irgendwann kommen
(oder ist ers schon?). Ich habe das Rad neu entwickelt.
Aber das tun wir hier alle. :wink:
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

X0r hat geschrieben:>Bin gespannt, wie du DAS realisierst, Macros hat sich gemeinsam mit uns den Kopf darüber zerbrochen

Ich würds mit tables machen.
Genauer, bitte!
Willst du die einzelnen Tables verstecken? Und wie realisierst du dann Folding-Überschneidungen, etc.?
Bin mächtig gespannt, was du dir da einfallen lässt!
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

Zweifelst du etwa an mir? :lol:
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

In keinster Weise! :)
Ich bin nur neugierig, wie du vielleicht deine Konkurrenz (Macros, TS-Soft) überbieten willst oder Dinge umsetzten möchtest, für die ich momentan keine Idee habe (Beispiel Folding).
(Speziell zum Coding habe ich schon Ideen.)
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Wenn ihr euch langweilt, dann implementiert doch Highlighting für PB-Quellcode für PHPBB... :wink:

//EDIT: @AND51: Macros hat das mit dem Folding und der Zeilennumerierung doch super umgesetzt:
http://10a.rshost.de/load/files/PB2HTMLexample.html
Und sogar alles mit Div-Containern und CSS, wie sich das gehört, ohne erbärmliche Tabellenlayouts... :allright:

//EDIT2: Und wenn ihr PB-Highlighting für PHPBB fertig habt, dann könnt ihr gleich mit nem funktionierenden Code für Fourieranalyse von Audiodaten mit PB weitermachen... Und dann vielleicht noch ein plattformunabhängiger (falls nicht möglich, bitte für Linux entwickeln!) Audiofilter auf Fourier-Basis zur Rauschunterdrückung...
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

dann implementiert doch Highlighting für PB-Quellcode für PHPBB
Gibs doch schon, damit habe ich ja schon mal experimentiert:

Hier ein Beispiel :
PureBasic 3.3 hat geschrieben: InitSprite() 
InitKeyboard() 
InitMouse() 

OpenScreen(1024, 768, 32, "Bot 2.0"

b.f = 3.14159265/180 
#b = 0.01745329

Bot_x.f = 500 
Bot_y.f = 400 
Bot_v.f = 0 
Bot_w.f = 180 
Bot_dw.f = 0 

Structure A
 x.f
 y.f
 w.f
EndStructure
NewList Anh.A()

For n = 1 To 10
 AddElement(Anh())
 Anh()\x = 500+80*n
 Anh()\y = 400 
 Anh()\w = 180 
Next n

a = 1
max_v = 50

Procedure.f Abstand(x1, y1, x2, y2)
 r.f = Sqr(Pow(x1-x2,2)+Pow(y1-y2,2))
 ProcedureReturn r
EndProcedure
Procedure.f Winkel(x.f,y.f)
 Winkel.f
 If x = 0
  If y <  0 : Winkel = -90 : EndIf 
  If y >= 0 : Winkel =  90 : EndIf 
 Else 
  Winkel = ATan(y/x)/#b 
  If x < 0 : Winkel + 180 : EndIf 
 EndIf 
 ProcedureReturn Winkel
EndProcedure

Repeat 

ExamineMouse() 
MouseX = MouseX() 
MouseY = MouseY() 

FlipBuffers() 
ClearScreen(0,0,0) 

StartDrawing(ScreenOutput()) 

Bot_x = Bot_x + Cos(Bot_w*b)*Bot_v*0.1 
Bot_y = Bot_y + Sin(Bot_w*b)*Bot_v*0.1 

Bot_w = Bot_w + Bot_dw 
While Bot_w < 0 : Bot_w + 360 : Wend 
While Bot_w >= 360 : Bot_w - 360 : Wend 

deX = MouseX-Bot_x 
deY = MouseY-Bot_y 
If deX = 0 : 
 If deY < 0 : Winkel = -90 : EndIf 
 If deY >= 0 : Winkel = 90 : EndIf 
Else 
 Winkel = ATan(deY/deX)/b 
 If deX < 0 : Winkel + 180 : EndIf 
EndIf 
Unterschied = Winkel-Bot_w 

If Unterschied > 180 : Unterschied = Unterschied - 360 : EndIf 
If Unterschied < -180 : Unterschied = Unterschied + 360 : EndIf 
If Unterschied > 0 And Unterschied <= 180 : Bot_dw = Unterschied/10 : EndIf 
If Unterschied < 0 And Unterschied >= -180 : Bot_dw = Unterschied/10 : EndIf 
If Bot_dw > 45 : Bot_dw = 45 : ElseIf Bot_dw < -45 : Bot_dw = -45 : EndIf 
If Bot_v > Sqr((Sqr(Pow(deX,2)+Pow(deY,2)))*2*a) : If Bot_v > 0 : Bot_v = Bot_v - a : EndIf : EndIf 
If Bot_v < Sqr((Sqr(Pow(deX,2)+Pow(deY,2)))*2*a) : If Bot_v < max_v : Bot_v = Bot_v + a : EndIf : EndIf 


; INFO :
;--------
; Zugobjekt : Bot mit
;                _x : x-Position
;                _y : y-Position
;                _w : Fahr-Richtung (Winkel)
;                _v : Geschwindigkeit
; Anhänger  : Anh mit
;                _x : x-Position
;                _y : y-Position
;                _w : Fahr-Richtung (Winkel)


;Berechnungen für den ersten Anhänger
xAnh.f = Bot_x-Cos(Bot_w*b)*40
yAnh.f = Bot_y-Sin(Bot_w*b)*40
ResetList(Anh())
While NextElement(Anh())
 d.f = Abstand(xAnh,yAnh,Anh()\x,Anh()\y)
 If d <> 40 :
  Anh()\w = Winkel(xAnh-Anh()\x, yAnh-Anh()\y)
  Anh()\x = Anh()\x + Cos(Anh()\w*b)*(d-40)
  Anh()\y = Anh()\y + Sin(Anh()\w*b)*(d-40)
 EndIf
 xAnh = Anh()\x-Cos(Anh()\w*b)*40
 yAnh = Anh()\y-Sin(Anh()\w*b)*40
Wend

;Bot 
Circle(Bot_x, Bot_y, 15, RGB(255,255,255)) 
Circle(Bot_x+Cos(Bot_w*b)*15, Bot_y+Sin(Bot_w*b)*15, 10, RGB(255,255,255)) 
LineXY(Bot_x, Bot_y, Bot_x+Cos(Bot_w*b)*40, Bot_y+Sin(Bot_w*b)*40) 
LineXY(Bot_x, Bot_y, Bot_x-Cos(Bot_w*b)*40, Bot_y-Sin(Bot_w*b)*40) 

ResetList(Anh())
While NextElement(Anh())
 ;Anhänger
 Circle(Anh()\x, Anh()\y, 10, RGB(0,255,255)) 
 LineXY(Anh()\x, Anh()\y, Anh()\x+Cos(Anh()\w*b)*40, Anh()\y+Sin(Anh()\w*b)*40) 
 LineXY(Anh()\x, Anh()\y, Anh()\x-Cos(Anh()\w*b)*40, Anh()\y-Sin(Anh()\w*b)*40) 
 Circle(Anh()\x+Cos(Anh()\w*b)*40, Anh()\y+Sin(Anh()\w*b)*40, 5, RGB(0,255,0)) 
Wend

;Maus 
Circle(MouseX, MouseY, 5, RGB(128,128,128)) 

StopDrawing() 

ExamineKeyboard() 

Until KeyboardReleased(#PB_Key_Escape) <> 0 

End 

; ExecutableFormat=Windows
; UseIcon=C:\Dokumente und Einstellungen\Martin\Eigene Dateien\FLSDCT\icon.ico
; Executable=C:\Dokumente und Einstellungen\Martin\Desktop\klein Kram\Hat.exe
; DisableDebugger
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
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

0.2 Update:

PDF Support


Bild

Download: http://forgesoft.net/Resources/pbtohtml.zip


Der PBtoHTML Converter ist mit der IDE nicht mehr konfigurierbar. Ich werde erstmal an den Hauptfunktionen arbeiten. Bis dahin gibts den so.



;
; ------------------------------------------------------------
;
; PureBasic - DLL example file
;
; (c) 2002 - Fantaisie Software
;
; ------------------------------------------------------------
;
; This example is a skeleton to build easely a DLL using PureBasic
; The dll is created in the 'Compilers' directory, under the
; 'purebasic.dll' name. An associated '.lib' is generated to use
; with LccWin32 or VisualC++.
;
;
; Rules to follow:
; - Never write code outside a procedure, except for variables
; or structure declaration.
;
; - DirectX Init routines must not be initialized in the the
; AttachProcess() procedure
;
; - There is 4 procedures automatically called: AttachProcess(),
; DetachProcess(), AttachThread() and DetachThread(). If you don't
; need them, just remove them.
;

#TESTDLL = 0

CompilerIf #TESTDLL = 0

; This procedure is called once, when the program loads the library
; for the first time. All init stuffs can be done here (but not DirectX init)
;
ProcedureDLL AttachProcess(Instance)
EndProcedure


; Called when the program release (free) the DLL
;
ProcedureDLL DetachProcess(Instance)
EndProcedure


; Both are called when a thread in a program call or release (free) the DLL
;
ProcedureDLL AttachThread(Instance)
EndProcedure

ProcedureDLL DetachThread(Instance)
EndProcedure


; Real code start here..
;

ProcedureDLL EasyRequester(Message$)

MessageRequester("EasyRequester !", Message$, #MB_ICONINFORMATION)

EndProcedure

CompilerElse

If OpenLibrary(0, "PureBasic.dll")
CallFunction(0, "EasyRequester", "Test")
EndIf

CompilerEndIf
; ExecutableFormat=Shared Dll
; Executable=C:\Programmation\Projets\PureBasic Visual Designer\Dll.Exe
; DisableDebugger
; EOF
--> PBtoHTML Converter
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

TIP:
Damit in dem Forum die Leerzeichen angezeigt werden, nimm statt dem normalen Leerzeichen CHR(32) das andere : CHR(160).

Es wird in phpBB angezeigt, und ist im Code das gleiche "SPACE"
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
Antworten