La v5.20 Beta 1 est sortie

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
Avatar de l’utilisateur
Mindphazer
Messages : 694
Inscription : mer. 24/août/2005 10:42

Re: La v5.20 Beta 1 est sortie

Message par Mindphazer »

Kwai chang caine a écrit : Je suis content on va pouvoir enfin mettre un GOSUB dans une procedure, encore une vieille demande qui a été prise en compte.
Ca devrait simplifier certains de mes codes..merci FRED 8)
La beta 2 est sortie
http://www.purebasic.fr/english/viewtop ... 14&t=54999
Désolé KCC pour le gosub :
Gosub in procedure have been removed as it can't work for now
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

Re: La v5.20 Beta 1 est sortie

Message par Mesa »

L’intérêt des layouts utilisés dans les 'Dialogs", c'est de ne pas mettre des width et des height... sauf quand c'est nécessaire et pour résoudre le problème de l'exemple 3, il faut donner une taille minimale au progressbar sinon il n'apparaît pas :

Code : Tout sélectionner

<?xml version="1.0"?>

<!-- Window -->
<window id="0" name="hello" text="Window" label="TestDialog" width="620" height="10" flags="#PB_Window_SizeGadget|#PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget">
   <splitter width="600" height="600">
     <hbox>
      <checkbox name="checkbox1" text="Run only one Instance" disabled="yes" Flags=""/>
      <progressbar text="Vrey vreyv rye" width="150"/>
      <trackbar text="Ole" invisible="no" Flags="#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>
Mais, j'ai beau changer la taille du splitter, le résultat reste encore bizarre.

Mesa.
Fred
Site Admin
Messages : 2808
Inscription : mer. 21/janv./2004 11:03

Re: La v5.20 Beta 1 est sortie

Message par Fred »

C'est pas étonnant que les resultats soient encore faux, car cette lib est tres complexe, elle va se stabiliser avec vos rapports de bugs, donc n'hesitez pas à poster sur le forum anglais.
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: La v5.20 Beta 1 est sortie

Message par blendman »

clipsprite() ne serait-il pas buggué ?

Car sur ce code, normalement la surface devrait s'étendre et en fait c'est l'intérieur qui change de taille :

Code : Tout sélectionner

If InitSprite() = 0 Or InitKeyboard() = 0 Or UsePNGImageDecoder() = 0 
  MessageRequester("Error", "Sprite system can't be initialized", 0)
  End
EndIf

win= OpenWindow(#PB_Any, 0, 0, 610, 410, "PB 5.20b - Sprite alphablending",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
 If win 
  OpenWindowedScreen(WindowID(win), 5, 5, 600, 400, 0, 0, 0, #PB_Screen_NoSynchronization)

  LoadSprite(0, "Data/but.png",#PB_Sprite_AlphaBlending)
  
  Repeat
    event = WindowEvent()
    FlipBuffers()
    
    ClearScreen(RGB(200,200,200))

    ClipSprite(0, x, x, 250+x,100)     
    DisplayTransparentSprite(0, 50, 100)
    
    If x <250
      x+1
    Else 
      x= 0
    EndIf    
    
    ExamineKeyboard()
    Delay (10)
 Until KeyboardPushed(#PB_Key_Escape) Or event = #PB_Event_CloseWindow
   
Else
  MessageRequester("Error", "Error", 0)
EndIf

End   
Fred
Site Admin
Messages : 2808
Inscription : mer. 21/janv./2004 11:03

Re: La v5.20 Beta 1 est sortie

Message par Fred »

Tu peux mettre ton image en download ?
Avatar de l’utilisateur
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: La v5.20 Beta 1 est sortie

Message par Micoute »

Fred a écrit :C'est pas étonnant que les resultats soient encore faux, car cette lib est tres complexe, elle va se stabiliser avec vos rapports de bugs, donc n'hesitez pas à poster sur le forum anglais.
Le problème, c'est que je n'arrive même pas à m'inscrire !
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: La v5.20 Beta 1 est sortie

Message par Micoute »

Merci beaucoup monsieur Spock, mais ça n'a pas été trop facile de s'inscrire !
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: La v5.20 Beta 1 est sortie

Message par blendman »

Fred a écrit :Tu peux mettre ton image en download ?
et hop voici l'image :
Image
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: La v5.20 Beta 1 est sortie

Message par Kwai chang caine »

Mindphaser a écrit :La beta 2 est sortie
Désolé KCC pour le gosub :
Merci de l'info...y'avait une fonction que j’étais vraiment content...si j'avais autant de chance au LOTO... :(
Quand je pense que je viens d'ecrire que FRED avait deja fait l'effort du GOSUB, alors si il pouvait un jour faire comme le D une procedure dans une autre......
Je crois que je peux dors et déjà me la mettre sur l'oreille, parce que le GOSUB ça doit être de la roupie de sansonnet par rapport à une procédure imbriquée :(
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Re: La v5.20 Beta 1 est sortie

Message par Patrick88 »

procedure dans une autre procedure, comme en pascal je suppose ?

Patrick
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: La v5.20 Beta 1 est sortie

Message par G-Rom »

Une procédure imbriqué ? je ne vois pas l’intérêt , si on pouvait m'expliqué , même en C/C++ ca n'existe pas 8O
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: La v5.20 Beta 1 est sortie

Message par Kwai chang caine »

Oui PASCAL le fait
Les procédures imbriquées sont supportées en D et dans certains C, mais pas tous.
http://fr.wikipedia.org/wiki/Fonction_imbriqu%C3%A9e

En fait c'est super utile quand une fonction n'est utilisée que par une autre, elle n'a donc pas besoin d’être publique.
Ca permet aussi pour simplifier le code, comme par exemple dans une enumeration ou pourrait ecrire une seule procédure au lieu de s'en trimbaler deux, une principale et une autre qui se balade dans le code qui ne dépend que de sa procédure mère
Dans les codes ça simplifierait drolement la clarté, quand tu copie une procédure tout ce que tu as besoin est dedans si ça ne sert qu'a elle.
Dans certains cas les API ne savent être utilisées qu'en pointant une autre procédure, c'est le cas non isolé de "EnumWindows_"

Comme dans ce code que j'ai modifié à l'arache..et qui marche évidement pas

Code : Tout sélectionner


Structure result
  hWnd.i
  String.s
EndStructure

Procedure.s EnumereProcess()

  Procedure EnumWindowsProc(hWnd, *lParam.result)
   Protected Title.s{260}
   GetWindowText_(hWnd, @Title, 260)

   If FindString(Title, *lParam\String)
     *lParam\String = Title
     *lParam\hWnd = hWnd
     ProcedureReturn #False
   EndIf

   ProcedureReturn #True

  EndProcedure

  Define param.result 
  param\String = " 5.10 ("
  
  If Not EnumWindows_(@EnumWindowsProc(), @param)
    ProcedureReturn "Found: " + param\String + " with hWnd: " + Str(param\hWnd)
  EndIf

EndProcedure
Mais apparemment FRED a deja des problemes avec juste un gosub, et il parait que c'est compliqué a gerer les variables d'une procedure locale, alors c'est mal barré :(
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Fred
Site Admin
Messages : 2808
Inscription : mer. 21/janv./2004 11:03

Re: La v5.20 Beta 1 est sortie

Message par Fred »

Kwai chang caine a écrit :Mais apparemment FRED a deja des problemes avec juste un gosub, et il parait que c'est compliqué a gerer les variables d'une procedure locale, alors c'est mal barré :(
Si j'ai enlevé le gosub, c'est qu'il y'a une très bonne raison, si c'etait facile je l'aurai inclu. Alors tes remarques du genre "Fred, il a un probleme avec un simple gosub", tu peux te les garder, merci. Surtout que ca n'a rien à voir avec les procédures imbriquées (qui sont pour moi une aberration, mais passons).

ps: c'est pas en répétant dans tous tes posts: "et le GIF ca en est où", "toujours pas de gosub dans une procédure" que ca va me mettre la pression, alors évite d'en faire des tonnes, car là ça commence à me gaver menu.
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: La v5.20 Beta 1 est sortie

Message par G-Rom »

Kwai chang caine a écrit :Oui PASCAL le fait
Les procédures imbriquées sont supportées en D et dans certains C, mais pas tous.
http://fr.wikipedia.org/wiki/Fonction_imbriqu%C3%A9e

En fait c'est super utile quand une fonction n'est utilisée que par une autre, elle n'a donc pas besoin d’être publique.
Ca permet aussi pour simplifier le code, comme par exemple dans une enumeration ou pourrait ecrire une seule procédure au lieu de s'en trimbaler deux, une principale et une autre qui se balade dans le code qui ne dépend que de sa procédure mère
Dans les codes ça simplifierait drolement la clarté, quand tu copie une procédure tout ce que tu as besoin est dedans si ça ne sert qu'a elle.
Dans certains cas les API ne savent être utilisées qu'en pointant une autre procédure, c'est le cas non isolé de "EnumWindows_"

Comme dans ce code que j'ai modifié à l'arache..et qui marche évidement pas

Code : Tout sélectionner


Structure result
  hWnd.i
  String.s
EndStructure

Procedure.s EnumereProcess()

  Procedure EnumWindowsProc(hWnd, *lParam.result)
   Protected Title.s{260}
   GetWindowText_(hWnd, @Title, 260)

   If FindString(Title, *lParam\String)
     *lParam\String = Title
     *lParam\hWnd = hWnd
     ProcedureReturn #False
   EndIf

   ProcedureReturn #True

  EndProcedure

  Define param.result 
  param\String = " 5.10 ("
  
  If Not EnumWindows_(@EnumWindowsProc(), @param)
    ProcedureReturn "Found: " + param\String + " with hWnd: " + Str(param\hWnd)
  EndIf

EndProcedure
Mais apparemment FRED a deja des problemes avec juste un gosub, et il parait que c'est compliqué a gerer les variables d'une procedure locale, alors c'est mal barré :(
Oui , je ne suis pas convaincu , si c'est pour "caché" des procédures , le c++ est mieux pensé avec ses membres & méthode privé.
Pour le gosub , vois avec Fred avant qu'il prenne des champis, ooops , trop tard , il en à mangé... :mrgreen:
Avatar de l’utilisateur
SPH
Messages : 4944
Inscription : mer. 09/nov./2005 9:53

Re: La v5.20 Beta 1 est sortie

Message par SPH »

Ne me dites pas que les GOSUB vont disparaitre ?? 8O

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Répondre