PB2Web : Pure Basic to JavaScript (Windows)

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
Avatar de l’utilisateur
majikeyric
Messages : 602
Inscription : dim. 08/déc./2013 23:19
Contact :

Re: PB2Web : Codez en PB et convertissez pour le web

Message par majikeyric »

Oui, c'est super prometteur :)

Mais étant donné qu'il genère du code js a exécuter dans un navigateur, y a plein de choses qui ne pourront pas être implémentables (accès à une bdd par exemple...). A moins d'utiliser de l'ajax, je sais pas trop...

C'est quoi : ServerCode ???
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: PB2Web : Codez en PB et convertissez pour le web

Message par falsam »

majikeyric a écrit : A moins d'utiliser de l'ajax, je sais pas trop
C'est le cas. Tu peux implémenter de l'ajax pour faire appel à un script php.

Code : Tout sélectionner

Procedure DataRecord()  
  Protected user.s
  Protected location.s

  user = GetGadgetText(#fmuser)
  location = GetGadgetText(#fmlocation)
  
  EnableJS
  ;$.post("test.php?action=post&user="+user+"&location="+location);
  DisableJS
  
  SetGadgetText(#fmuser, "")
  SetGadgetText(#fmlocation, "")
  
EndProcedure
Dans cette extrait de code je stocke dans des variables le nom de l'utilisateur (user) et sa localisation (localisation). Ces données proviennent de ma fenêtre.

Code : Tout sélectionner

  user = GetGadgetText(#fmuser)
  location = GetGadgetText(#fmlocation)
puis je transmet ces variable à mon script php se trouvant sur un serveur.

Code : Tout sélectionner

  EnableJS
  ;$.post("test.php?action=post&user="+user+"&location="+location);
  DisableJS
Le code ajax se trouve entre EnableJS et DisableJS. il est précédé du caractère ;
Dernière modification par falsam le dim. 10/août/2014 19:43, modifié 1 fois.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: PB2Web : Codez en PB et convertissez pour le web

Message par falsam »

Une autre façon de faire pour transférer des données à un script php.

Code : Tout sélectionner

Procedure DataRecord()  
  Protected user.s
  Protected location.s
 
  user = GetGadgetText(#fmuser)
  location = GetGadgetText(#fmlocation)
  
  EnableJS
  ;$.ajax({
  ;   type: "GET",
  ;   url: 'test.php',
  ;   data: { action: "post", user: user, location: location }
  ;});
  DisableJS
  
  SetGadgetText(#fmuser, "")
  SetGadgetText(#fmlocation, "")  

EndProcedure
Dernière modification par falsam le dim. 10/août/2014 19:44, modifié 1 fois.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
majikeyric
Messages : 602
Inscription : dim. 08/déc./2013 23:19
Contact :

Re: PB2Web : Codez en PB et convertissez pour le web

Message par majikeyric »

ok, merci pour ces éclaircissements. J'ai fait de l'ajax y a quelques temps avec asp dot.net. On faisait ça pour pas avoir à rafraichir toute la page. L'exploitation de l'objet JSON retourné était laborieuse si y avait pas mal de données.

En fait avant de le tester, je pensais que PB2Web générait aussi du code "serveur" vu la diversité de PB, mais "navigateur" c'est déjà beau :)
C'est un générateur de code de JQuery/JQueryUI.

*edit : bah, si finalement on peut générer du code serveur, si on peut créer un CGI ! J'ai jamais pratiqué ça, je ne sais pas ce que cela vaut. C'est une EXE x86 ?
Kiffi
Messages : 1
Inscription : ven. 06/janv./2012 14:09

Re: PB2Web : Codez en PB et convertissez pour le web

Message par Kiffi »

@majikeyric: take a look here: http://pb2web.de/dokumentation/servercode/

Greetings ... Kiffi
Avatar de l’utilisateur
majikeyric
Messages : 602
Inscription : dim. 08/déc./2013 23:19
Contact :

Re: PB2Web : Codez en PB et convertissez pour le web

Message par majikeyric »

Thanks Kiffi, I was just reading it :lol:
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: PB2Web : Codez en PB et convertissez pour le web

Message par falsam »

Welcome Kiffi :)
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: PB2Web : Codez en PB et convertissez pour le web

Message par blendman »

Hi Kiffi ;)

Welcome on the french forum.

Une nouvelle version de mon programme de peinture (A new version of my Paint test program) :
http://www.dracaena-studio.com/purebasic/paint/

Nouveautés :
- On peut utiliser des images pour peindre (j'ai utilisé certaines images de SlotMachine demo ;))
- Tool : eraser, clear, brush
- panel Layers/options : pour l'instant ce n'est que l'UI qui fonctionne ^^.

Les sources sont disponibles ici (il y a un zip):
http://www.dracaena-studio.com/purebasic/paint/source
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: PB2Web : Codez en PB et convertissez pour le web

Message par falsam »

Héhé tu prends plaisir avec cet outil (pb2web) et les canvas :) Jolie papillon :)
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: PB2Web : Codez en PB et convertissez pour le web

Message par blendman »

falsam a écrit :Héhé tu prends plaisir avec cet outil (pb2web) et les canvas :) Jolie papillon :)
oui, c'est excellent cet outil :)
ça crée une appli compatible immédiatement (win,linux, mac et pitet chromeOS), mise à jour immédiatement, etc...
On bénéficie du zoom de Firefox, du fullscreen de firefox, etc..
On a aussi la traduction automatique de Chrome, bref, plein d'avantage de faire des applis web :D, Grâce à SuperKiffi !!

Les papillons et autres bestioles sont issus de la démo SlotMAchine (Stargate, je crois) ;)
Dernière modification par blendman le jeu. 16/janv./2014 14:03, modifié 1 fois.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: PB2Web : Codez en PB et convertissez pour le web

Message par falsam »

■ Astuce
Le code étant généré pour une application web, on peut placer du code html par exemple dans des textgadgets.
TextGadget(#PB_Any, 20, 550, 500, 22, "Proudly Powered by <b>Pure Basic</b> & <b>PB2Web</b>")
■ Précaution
JavaScript connait bien i=i+1 ou i+=1 ou i++ mais ne connait pas i+1.
:idea: utilisez dans le code pure basic i=i+1
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: PB2Web : Codez en PB et convertissez pour le web

Message par blendman »

falsam a écrit :Le code étant généré pour une application web, on peut placer du code html par exemple dans des textgadgets.

Code : Tout sélectionner

TextGadget(#PB_Any, 20, 550, 500, 22, "Proudly Powered by [color=#0040FF]<b>[/color]Pure Basic[color=#0040FF]</b>[/color] & [color=#0040FF]<b>[/color]PB2Web[color=#0040FF]</b>[/color]") 
ah oui, c'est cool ça !

JavaScript connait bien i=i+1 ou i+=1 ou i++ mais ne connait pas i+1.
:idea: utilisez dans le code pure basic i=i+1
yep, j'avais remarqué que ça ne marchait pas i+1, du coup, pour que ça soit compatible, j'ai utilisé : i = i +1

D'ailleurs, plusieurs select/case imbriqué ne marchent pas non plus on dirait.
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: PB2Web : Codez en PB et convertissez pour le web

Message par falsam »

blendman a écrit :D'ailleurs, plusieurs select/case imbriqué ne marchent pas non plus on dirait.
Je vais tester ça !

Cette exemple fonctionne.

Code : Tout sélectionner

XIncludeFile "D:\Applications\Pure Basic\Pb2Web\p2w.pbi"

P2W_Converter_SetProfile("pb2webtest")

Procedure dummy(x)  
  Select x
    Case 1,3
      Debug "Value is 1 or 3"
    Case 10 
      Debug "Value is 10"
    Default
      Debug "Hmmm ...I don't know"
  EndSelect
  
EndProcedure

dummy(3)
Par contre il y a un souci quand un block comprend l'instruction "To"

Code : Tout sélectionner

XIncludeFile "D:\Applications\Pure Basic\Pb2Web\p2w.pbi"

P2W_Converter_SetProfile("pb2webtest")

Procedure dummy(x)  
  Select x
    Case 1,3
      Debug "Value is 1 or 3"
      
    Case 10 To 20
      Debug "this value is between 10 and 20"
      
    Default
      Debug "Hmmm ...I don't know"
      
  EndSelect
EndProcedure

dummy(10)
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: PB2Web : Codez en PB et convertissez pour le web

Message par Backup »

c'est possible de sauver une ou plusieurs Variables avec ce truc ?

je veux dire , faire un Formulaire... et sauver le contenu des champs (variables ) sur le Serveur .. ?
ou bien sauver un choix par bouton , ou meme lancer un liens... ??

(si c'est le cas , on peut envisager la creation d'un site non ? )
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: PB2Web : Codez en PB et convertissez pour le web

Message par blendman »

falsam a écrit :Cet exemple fonctionne.
Au temps pour moi, j'utilisai la version du 14 et non celle du 15/01 de PB2Web ^^
Forcément, j'avais un bug en retard désolé.
Répondre