Développée en Pure Basic par KIffi (Forum Anglais), PB2Web (Pure Basic to Web) est un outil (ou plugin) paramétrable depuis l'éditeur officiel de Pure Basic permettant de convertir du code Pure Basic vers un code HTML + JavaScript.
■ Site de PB2Web http://pb2web.de (Fermé pour le moment)
■ Fil de discussion (Google Group) https://groups.google.com/forum/#!forum/pb2web
■ Procédure d'installation http://www.falsam.com/forum/viewtopic.php?id=30
■ On en parle aussi sur http://www.falsam.com/forum/viewforum.php?id=11
Si vous avez des connaissances en Php, vous verrez que communiquer avec MySql n'est pas si difficile que ça.
Version actuelle: (20161220) - Les sources sont inclus dans cette distribution.
■ Mon premier code issu de l'aide Pure Basic.
J'ai pris un exemple d'un code figurant dans l'aide permettant de dessiner sur un canvas afin de le rendre compatible PB2Web.
Code : Tout sélectionner
XIncludeFile "D:\Applications\Pure Basic\Pb2Web\p2w.pbi"
P2W_Converter_SetProfile("pb2webtest")
Enumeration
#Mainform
#Canvas
EndEnumeration
Global Draw.b, TEvent.i
Procedure CanvasEvent()
TEvent=EventType()
Select TEvent
Case #PB_EventType_LeftButtonDown
Draw = #True
Case #PB_EventType_LeftButtonUp
Draw = #False
EndSelect
If Draw = #True
If StartDrawing(CanvasOutput(#Canvas))
x = GetGadgetAttribute(#Canvas, #PB_Canvas_MouseX)
y = GetGadgetAttribute(#Canvas, #PB_Canvas_MouseY)
Circle(x, y, 10, RGB(Random(255), Random(255), Random(255)))
StopDrawing()
EndIf
EndIf
EndProcedure
OpenWindow(#Mainform, 0, 0, 500, 500, "CanvasGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CanvasGadget(#Canvas, 0, 0, 500, 500)
BindGadgetEvent(#Canvas, @CanvasEvent(), #PB_EventType_LeftButtonDown)
BindGadgetEvent(#Canvas, @CanvasEvent(), #PB_EventType_LeftButtonUp)
BindGadgetEvent(#Canvas, @CanvasEvent(), #PB_EventType_MouseMove)
Aucun CGI n'est nécessaire à l’exécution de ce code.
■ Astuces et précautions.
Le code minimum.
Code : Tout sélectionner
;Inclure "p2w.pbi"
XIncludeFile "D:\Applications\Pure Basic\Pb2Web\p2w.pbi"
;Le nom du profil à prendre en compte pour la conversion
P2W_Converter_SetProfile("pb2webtest")
;Votre code Pure Basic en dessous
OpenWindow(0, 0, 0, 400, 400, "Hello World", #PB_Window_WindowCentered)
;Il n'est pas necessaire de coder une boucle événementielle
;Mais ça peut être utile de la mettre pour des tests en natif
P2W_Converter_Begin_Comment
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
P2W_Converter_End_Comment
La variable a$ ne contiendra pas la même valeur que la variable $A.
Attention à la casse de vos variables.
Code : Tout sélectionner
XIncludeFile "D:\Applications\Pure Basic\Pb2Web\p2w.pbi"
P2W_Converter_SetProfile("pb2webtest")
a$ = "Test" ;Est correct. Debug A$ va générer une erreur dans votre navigateur.
Debug a$
Si vous prévoyez des variables, veillez à ne pas les nommer de la même manière que les constantes.
Exemple #User et user prendront les valeurs deviendront var user et var user après génération du code Pure Basic.
Kiffi a écrit :unfortunately i have to remove the '#' - character during the conversion otherwise you get an javascript-error.
so '#user' becomes 'user' and stands in conflict with your regular 'user'-variable.
i think there is no other solution than to rename either your constant or your variable.
Il n'est pas nécessaire de coder la boucle événementielle.
Le code généré est une application Java Script. Il n'est pas nécessaire d'introduire une boucle événementielle dans votre code Pure Basic. Toutefois si vous souhaitez tester votre code en natif avant de le convertir pour le web, il est possible d'ajouter une simple boucle évenementielle dans votre code sans qu'il soit pris en compte par l'utilitaire de conversion PB2Web en insérant à la fin de votre code.
Code : Tout sélectionner
P2W_Converter_Begin_Comment
Repeat : Until WaitWindowEvent()=#PB_Event_CloseWindow
P2W_Converter_End_Comment
Vous pouvez connaitre votre numéro de version actuelle lors de la conversion du code Pure Basic