Page 1 sur 2

Runtime library & Formulaire (Pure Basic 5.20 Beta)

Publié : ven. 21/juin/2013 10:17
par falsam
Pure Basic 5.20 Beta apporte un lot de pas mal de nouveauté et je me penche actuellement sur la Runtime library
Fred a écrit :Added: Runtime library
On peut utiliser des formulaires sous forme de boites de dialogues stockées dans des fichiers xml.

Mise en oeuvre.
Exemple d'un fichier xml que j'ai appelé demoUI1.xml

Code : Tout sélectionner

<?xml version="1.0"?>
<window id="0" name="MainForm" text="Ma fenetre" width="500" height="300" flags="#PB_Window_ScreenCentered">
	<hbox>
		<text text="Nom" width="80"/>
		<string id="1" text="Votre nom" width="150"/>
		<button text="Envoyer" width="100" onevent="ButtonClick()"/>
	</hbox>	
</window>
le code Pure Basic pour générer la boite de dialogue correspondante que j'ai appelé demo1.pb. Ces deux fichiers se trouvent dans un même dossier.

Code : Tout sélectionner

Enumeration
  #XML
  #Dialog 
EndEnumeration

Runtime Procedure ButtonClick()
  Debug GetGadgetText(1) ;<string id="1"
EndProcedure

Procedure Main()
  LoadXML(#XML, "demoUI1.xml")  
  CreateDialog(#Dialog)
  OpenXMLDialog(#Dialog, #XML, "MainForm")
  HideWindow(0, #False) ;<window id="0"
  
  While WaitWindowEvent() <> #PB_Event_CloseWindow : Wend
EndProcedure

Main()
Dans cet exemple les gadget se placent horizontalement avec l'utilisation de la balise <hbox> ... </hbox>. (<vbox> ... </vbox> pour une disposition verticale)

J'ai l'impression que les flags de la fenêtre ne fonctionnent pas.

Est il possible de positionner plusieurs blocs horizontaux ?
Est il possible de panacher des blocs horizontaux et verticaux sans passer par une balise <splitter> ?
[Edit] Réponse oui http://www.purebasic.fr/french/viewtopi ... 71#p154371

Re: Runtime library & Formulaire

Publié : ven. 21/juin/2013 10:28
par Micoute
Comme les layout et je trouve ça génial !

Re: Runtime library & Formulaire

Publié : ven. 21/juin/2013 10:34
par falsam
Micoute a écrit :Comme les layout et je trouve ça génial !
Micoute je préférerais que tu me donnes un exemple d'un fichier xml qui pourrait satisfaire à ma demande.

Re: Runtime library & Formulaire

Publié : ven. 21/juin/2013 13:51
par falsam
A la question peut on positionner plusieurs blocs horizontaux la réponse est oui. Il suffit pour cela de placer un container de blocs vertical qui contiendra les blocs horizontaux.

le fichier xml précédent devient

Code : Tout sélectionner

<?xml version="1.0"?>
<window id="0" name="MainForm" text="Ma fenetre" width="500" height="300" flags="#PB_Window_ScreenCentered">

	<vbox>
		<hbox>
			<text text="Nom" width="80"/>
			<string id="1" text="Votre nom" width="150"/>
		</hbox>
	
		<hbox>
			<button text="Envoyer" width="100" onevent="ButtonClick()"/>
			<description>Enregistrer</description>
		</hbox>

	</vbox>
</window>

Re: Runtime library & Formulaire

Publié : ven. 21/juin/2013 15:06
par Micoute
Spock a écrit :
Micoute a écrit :Comme les layout et je trouve ça génial !
tu preferes lesquels ? les layouts a la vanille ou au citron ? :lol:
Pourquoi ? Il n'y a pas tous les parfums ?

Re: Runtime library & Formulaire

Publié : ven. 21/juin/2013 15:09
par Micoute
falsam a écrit :
Micoute a écrit :Comme les layout et je trouve ça génial !
Micoute je préférerais que tu me donnes un exemple d'un fichier xml qui pourrait satisfaire à ma demande.

Code : Tout sélectionner

<?xml version="1.0" ?> 
- <!--  Window 
  --> 
- <window id="0" name="hello" text="Window" label="TestDialog" width="320" height="10" flags="#PB_Window_SizeGadget|#PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget">
- <splitter width="300" height="500">
- <hbox>
  <checkbox name="checkbox1" text="Run only one Instance" disabled="yes" Flags="" /> 
  <progressbar text="Vrey vreyv rye" /> 
  <trackbar text="Ole" invisible="no" Flags="#PB_TrackBar_Ticks|#PB_TrackBar_Ticks|#PB_TrackBar_Ticks" width="150" /> 
  <option text="option 1" name="option1" onevent="CheckBoxEvent()" /> 
  <option text="option 2" /> 
  </hbox>
- <vbox>
  <listview text="option 3" height="50" /> 
  <button text="Ole 2" /> 
  <listicon text="option 4" height="50" /> 
  <string text="string content" /> 
  <editor text="editorgadget" height="50" /> 
  <text text="Text gadget" /> 
  </vbox>
  </splitter>
  </window>

Re: Runtime library & Formulaire (Pure Basic 5.20 Beta)

Publié : ven. 21/juin/2013 15:15
par Fred
Il y aussi un container gridbox:

Code : Tout sélectionner

<?xml version="1.0"?>

<!-- Window -->
<window id="0" name="GridBoxWindow" text="Window" label="TestDialog" width="220" height="250" flags="#PB_Window_SizeGadget|#PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget">
  <gridbox spacing="3" columns="2" expand="yes">
      <checkbox text="Run only one Instance" disabled="yes" Flags=""/>
      <progressbar text="Vrey vreyv rye dsqj jsqhdk hqskjdh kjqshd kjqhsdjk hqjkdh kjqhdk qhkj"/>
      <trackbar text="Ole" invisible="yes" Flags="   #PB_TrackBar_Ticks | #PB_TrackBar_Ticks|#PB_TrackBar_Ticks"/>
      <option text="option 1" />
      <option text="option 2" />
      <listview text="option 3" height="50" />
      <button text="Ole 2" />
      <listicon text="option 4" height="50" />
      <string text="string content" />
      <editor text="editorgadget" height="50" />
      <text text="Text gadget" />
  </gridbox>
</window> 
On peut tout combiner, mettre une gridbox dans une gridbox qui est lui-meme dans un vbox. Ensuite tout est calculé automtiquement en fonction des contraintes specifiées, ce qui est tres pratiques quand on fait du multi OS car souvent les fonts sont pas les meme et la taille des controles non plus. Vous pouvez meme laisser ces fichiers XML en externe de votre appli, comme ca vos utilisateurs peuvent modifier l'interface comme bon leur semble ;)

Re: Runtime library & Formulaire (Pure Basic 5.20 Beta)

Publié : ven. 21/juin/2013 15:23
par falsam
Fred a écrit :Il y aussi un container gridbox:
Merci pour cet exemple de fichier xml.

Re: Runtime library & Formulaire (Pure Basic 5.20 Beta)

Publié : ven. 21/juin/2013 16:22
par Patrick88
bleurk, ça me rappel horriblement le langage de description de fenêtre, le DCL + AutoLisp d'autoCAD... arglll

mais... d'un autre coté, cela pourrait permettre de faire un éditeur DCL, vu la similitude des commandes

:roll:


Patrick

Re: Runtime library & Formulaire (Pure Basic 5.20 Beta)

Publié : lun. 24/juin/2013 10:34
par Kwai chang caine
Alors la jusqu'a maintenant tant bien que mal, j'arrivais à suivre les evolutions de PB (Peut etre "quelques" subtilités m'avaient échapées, mais je comprenais au moins à quoi ça sert)
Mais pour le coup, cette nouvelle fonction, j'y comprend rien et ça fait un peu peur :oops:

Déjà le coup des modules, c'est pas évident, j'ai compris que c’était comme en VB, pour avoir des modules réutilisables à volonté sans choquer les variables...je ne sais pas si c'est le seul avantage ???

Mais pour le runtime :

A quoi ça sert exactement ?
Ca vient d'ou ??? c'est surement déjà utilisé quelque part, ou ça sort du cerveau torturé de FRED :mrgreen:
PB deviendrait aussi un espèce de langage de scripts maintenant ?
Ca va permettre d'interfacer avec d'autres applis ou c'est juste pour "Scripter" PB ?
Aura-t-on plus d'explications de la part de FRED et en french si possible, parce que en anglais ça facilite pas vraiment la compréhension... :(

Et pourquoi pas une interview juste sur ces deux fonctions..parce que cette fois moi je trouve que c'est un sacré virage :lol:

Re: Runtime library & Formulaire (Pure Basic 5.20 Beta)

Publié : lun. 24/juin/2013 12:11
par kernadec
bonjour KCC
heureux de te lire, j'aime beaucoup les questions,
dont tu connais les réponses, mais que tu pose pour la communauté. :wink:
Pour répondre à ton inquiétude, :)
Beaucoup de choses sur Net sont du chinois pour moi aussi.... :mrgreen:
le XML est en quelque sorte le langage "mandarin" du Net
les Apis Google , Net Framework, mdsn etc.... sont accessibles en XML
Donc, Si PB devient capable d'inclure et faire exécuter du XML avec nos codes.
je suis fan, c'est trop cool... :D

Bonne journée KCC

Re: Runtime library & Formulaire (Pure Basic 5.20 Beta)

Publié : lun. 24/juin/2013 14:10
par Micoute
Et c'est quand même bien d'avoir un langage qui évolue sans qu'on ai trop à remanier les code et c'est tant mieux, car je ne le referais pas tous les jours, comme disait Marie-Pierre Casey.

Re: Runtime library & Formulaire (Pure Basic 5.20 Beta)

Publié : lun. 24/juin/2013 18:08
par Torp
+1 tout comme Kwai chang caine :)

Re: Runtime library & Formulaire (Pure Basic 5.20 Beta)

Publié : lun. 24/juin/2013 19:26
par Ar-S
J'avoue que, non le XML, mais que ce "runtime" me perturbe aussi.
C'est un interpréteur XML ? en gros le XML est un standard bien utilisé en ligne et notre PB pour exploiter les pages en ligne qui l'utilisent ? Je vais attendre sagement la doc pour ce nouveau morceau mais ça parait bien sympa.

Re: Runtime library & Formulaire (Pure Basic 5.20 Beta)

Publié : mar. 25/juin/2013 21:13
par Kwai chang caine
bonjour KCC
heureux de te lire, j'aime beaucoup les questions,
dont tu connais les réponses, mais que tu pose pour la communauté.
Merci mon bon KERNADEC, moi aussi je suis content de te lire :wink:
En fait, je pense que pas mal de personnes se posent des questions, mais n'osent pas les poser, peut etre de peur du ridicule.
Mais j'ai appris que le ridicule ne tue pas..sinon y'a longtemps que je serais mort :D
Peut etre même dans l'oeuf :mrgreen: :oops:

Moi je suis content que PB y progresse, et je me doute que FRED qui a une connaissance monstrueuse dans la prog, si il affuble PB de cette nouvelle robe, c'est qu'il a des raisons que nous comprendront surement plus tard.
Comme nous tous, je lui fait evidemment confiance en dehors du fait que je n'ai pas trop le choix non plus :lol:
Mais c'est pas parce que l'on sait qu'une piqure va nous soulager...que l'on en a pas peur :mrgreen:

Moi aussi j'attends que les copains beaucoups plus intelligent que moi fournissent des exemples et de lire aussi la doc, pour essayer de comprendre 8)

J'ai lu aussi que certains C ou le D, mais pas le C standard autorisent les procédures dans les procédures, FRED a déjà fait le premier pas avec le GOSUB dans une procédure, peut etre qu'un jour il voudra essayer de faire que PB sache faire ce que le D sait faire :D

Ca va devenir un avion ce PB....moi je commence à avoir les chocotes :oops:
Quand je pense que "certaines personnes" trouvent que les GIF c'est compliqué à coder :roll: