Page 13 sur 55

Re: EPB

Publié : mer. 04/mai/2011 22:18
par Backup
venom a écrit :je me suis amusé a compiler une 20taine de codes aléatoire, :) aucun décalage pour ma part V1.24.2 :wink:






@++
merci :)

Re: EPB

Publié : jeu. 05/mai/2011 1:54
par Ar-S
Pas trop le temps de venir vous voir en ce moment, j'ai testé vite fait la 1.24.2 (pas testé le convertisseur).
- La fenêtre des greetings centré sur l’écran et sans bordure ça le ferait mieux.
- centrer le titre horizontalement par rapport à la fenêtre
J'essayerai de manière plus apronfondie quand j'aurai plus de temps.

Re: EPB

Publié : jeu. 05/mai/2011 13:05
par Backup
V 1.26
http://michel.dobro.free.fr/download.php

cette version apporte un Outils Viewer de Structure geré par Purebasic
mais surtout , elle va répondre a une demande faite il y a tres longtemps sur les Forums :D

EPB 1.26 gere les Commandes :)
la premiere du genre sera : _Block et _EndBlock
Qézaquo ?

ben dans EPB la ligne de code :

Code : Tout sélectionner

OpenWindow(0, 100, 200, 195, 260, "PureBasic Window", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
pourra etre ecrite :


_Block
      openwindow (0,
     100,
     200,
     195,
     260,
      "PureBasic Window" ,
      #PB_Window_SystemMenu |
      #PB_Window_MinimizeGadget |
      #PB_Window_MaximizeGadget )
_EndBlock




_Block determine le dbut d'un block de code
et _EndBlock determine la fin du block

dans ce block toute une ligne de code peut etre scindé en plusieurs lignes
les coupures de la ligne de code ainsi séparé , peut intervenir ou bon vous semble :)

_Block et _EndBloc pourront donc servir a Ecrire une ligne de Code en plusieurs ligne pour
la lisibilité :)

Defaut du truc, ça va rendre vos listings utilisable seulement avec EPB ...

exemple de code ainsi modifié :



;
; ------------------------------------------------------------
;
; PureBasic - Window example file
;
; (c) 2001 - Fantaisie Software
;
; ------------------------------------------------------------
;

;
; Open a window, and do some stuff with it...
;
_block
      openwindow (0,
     100,
     200,
     195,
     260,
      "PureBasic Window" ,
      #PB_Window_SystemMenu |
      #PB_Window_MinimizeGadget |
      #PB_Window_MaximizeGadget )
_EndBlock


messagerequester ( "Information" , "Click to move the Window" , 0)
_block
      resizewindow (0,
     200,
     200,
      #PB_Ignore ,
      #PB_Ignore ) ; Move the window to the coordinate 200,200
_EndBlock

messagerequester ( "Information" , "Click to resize the Window" , 0)

_block
      resizewindow (0, #PB_Ignore ,
      #PB_Ignore , 320, 200) ; Resize the window to 320,200
_EndBlock

;
_block ; meme les commentaires peuvent etre scindés
; This is the 'event loop'.
 All the user actions are processed here.
; It's very easy to understand: when an action occurs,
the EventID
; isn't 0 and we just have to see what have happened...;
_EndBlock

Repeat
     Event = waitwindowevent ()
     
      If Event = #PB_Event_CloseWindow ; If the user has pressed on the close button
          Quit = 1
      EndIf
     
Until Quit = 1
End ; All the opened windows are closed automatically by PureBasic



;
; EPb


ps: dans un block tout peut etre scindé , meme les comentaires :)

Re: EPB

Publié : jeu. 05/mai/2011 14:11
par Ar-S
Super ! Enorme ! Bravo !

Re: EPB

Publié : jeu. 05/mai/2011 14:15
par Kwai chang caine
la premiere du genre sera : _Block et _EndBlock
Qézaquo ?
Les underscores en fait...enfin ils arrivent grace au regne de DOBRO 1er 8)
Merci et il t'auras fallu drolement moins de temps que FRED :D

Si tu inclus la gestion des GIF....je me marie :lol: :lol:
Defaut du truc, ça va rendre vos listings utilisable seulement avec EPB ...
Tu pourrais pallier ce probleme en ajoutant une option "Regeneration du code en PB natif"
Cette fonction remmettrait en code PB les fonctions perso de ton IDE

Comme ça..l'utilisateur pourrait faire ce qu'il veut, coder dans ton IDE qui lui serait plus a son gout
Et cela ne le priverait pas de donner son code à ceux qui utilisent l'IDE natif ou japbe :roll:
L'avantage sans l'inconvenient quoi :D
Et en plus, tu pourrais creer autant de "DOBROSERIES" que tu veux sans avoir peur que les utilisateurs de PB s'eloignent...

Regarde FRED il a créé PB en essayant de s'eloigner le moins possible du C qui est son createur.
Pour cela il faut lui reconnaitre une sacré intelligence 8)

Edit:

J'y pense tu pourrais peut etre meme creer ce que tu voulais aussi je crois depuis des années ???
Les goto/return dans une procedure

Re: EPB

Publié : jeu. 05/mai/2011 15:00
par Chris
J'ai testé (vite fait) la 1.26.

Pour mon problème de décalage de code, ..... :|

..... CA MARCHE!!! Image

Re: EPB

Publié : jeu. 05/mai/2011 15:05
par Backup
V1.26.2
http://michel.dobro.free.fr/download.php


toutes mes confuseries :oops:
cette version corrige un oublie de la gestion des _Block _endblock pour les 64bits

mais j'en ai profité pour ajouter un menu "Deblocker"
(dans le menu "Convert")

qui permet de remettre le listing sans les Blocks
(KCC j'ai eu la meme idée que toi ;) )

ps: c'est la derniere version pour aujourd'hui ;)

@Chris : OOOOOUUUF !


@KCC
J'y pense tu pourrais peut etre meme creer ce que tu voulais aussi je crois depuis des années ???
Les goto/return dans une procedure
non , moi je voulais une boucle for-next avec des variables Flottante

For i.F =A.f to C.f step I.f
next i.f

Re: EPB

Publié : jeu. 05/mai/2011 17:27
par venom
En effet sympa ce système de "Bloc" quand tu a une ligne a rallonge :wink: bien jouer 8)








@++

Re: EPB

Publié : ven. 06/mai/2011 14:55
par MLD
Salut Dobro

Nom d'un cocker a poil dur 8O, Il suffit que je m'éloigne quelques jours pour que Dobro ce surpasse :lol:
J'ai fait quelques tests de ta dernière version. Un problème résiste encore. (déja dit) Quand tu compiles un programme et que tu le fermes pour revenir a l'éditeur. Le curseur (d'insertion texte) ou Caret :roll: n'est pas actif a l'endroit ou tu es parti au moment de la compilation,et la ligne de code n'est plus surlignée.
maintenant je verrais ceci lundi.
Bon WE

Michel

Re: EPB

Publié : ven. 06/mai/2011 14:58
par Mindphazer
MLD a écrit : Un problème résiste encore. (déja dit) Quand tu compiles un programme et que tu le fermes pour revenir a l'éditeur. Le curseur (d'insertion texte) ou Caret :roll: n'est pas actif a l'endroit ou tu es parti au moment de la compilation,et la ligne de code n'est plus surlignée.
Pour ma part, je n'ai pas ce problème.
Ou alors, j'ai pas compris :?

Re: EPB

Publié : ven. 06/mai/2011 15:02
par Backup
ben oui moi non plus !
d'autant que je sauvegarde la position du curseur avant compile
et que je la restitue apres ... 8O

Re: EPB

Publié : ven. 06/mai/2011 15:24
par MLD
@ Mindphaser et Dobro

je suis pas de la première jeunesse, mais j'ai des lunettes? Mon PC ne date pas de 14/18 :roll:
Je me répète donc :mrgreen:
Quand je suis dans l'éditeur , et que le curseur est par exemple a la ligne 30 , et que je compile le code par exemple une fenêtre. Celle-ci apparait. je la quitte par la croix.
A ce moment je revient a l'éditeur, mais je n'es plus de curseur ni de ligne surlignée.
Vous yen avoir compris, ou moi être c... :oops:
Si chez vous ce n'est comme ça, je ne comprend rien!

Re: EPB

Publié : ven. 06/mai/2011 16:28
par Backup
MLD a écrit :@ Mindphaser et Dobro

je suis pas de la première jeunesse, mais j'ai des lunettes? Mon PC ne date pas de 14/18 :roll:
Je me répète donc :mrgreen:
Quand je suis dans l'éditeur , et que le curseur est par exemple a la ligne 30 , et que je compile le code par exemple une fenêtre. Celle-ci apparait. je la quitte par la croix.
A ce moment je revient a l'éditeur, mais je n'es plus de curseur ni de ligne surlignée.
Vous yen avoir compris, ou moi être c... :oops:
Si chez vous ce n'est comme ça, je ne comprend rien!
oui personne ne dis que tu raconte des conneries

simplement une video vaut mieux qu'un long discours

regarde ça :

http://www.youtube.com/watch?v=xBtVM3uAblY

je vais voir ce que je peux faire .. mais comme tu le vois , chez moi le Curseur
mis sur la lettre "m" de "Move"

reste a sa place apres compilation et que j'ai quitté le prg :roll:

Re: EPB

Publié : ven. 06/mai/2011 16:55
par MLD
@Dobro

Vue la viédo. Je suis vert :mrgreen:
J'ai refait les tests. C'est pareil
Sauf si je clique sur l'ascenseur vertical ou quelque part sur la fnêtre, tout revient normal.
Si chez moi le phénomène existe, je pense que chez d'autres aussi. (on recommence comme avec Chris) :roll:
C'est franchement incompréhensible :?:

PS: En faisant Compiler/débugger c'est OK
PS2: a condition que je ferme par le fenêtre du débugger et non pas par la fenêtre produit a la compilation.

Voila le code

Code : Tout sélectionner

Procedure RemoveFromTaskbar(hWnd)
      Protected Area.RECT, hWnd_Parent
      If IsWindow_(hWnd)
         SetWindowLongPtr_(hWnd, #GWL_HWNDPARENT, FindWindow_(0, ""))
      EndIf
EndProcedure



#window = 1

OpenWindow(#window, 100, 100, 300, 170, "Test", #PB_Window_SystemMenu)
RemoveFromTaskbar(WindowID(#window));, 1)

Repeat
      Event = WaitWindowEvent()
      Select Event
         
         
      EndSelect
Until Event = #PB_Event_CloseWindow
PS3: J'ai l'impression que le panel ne reçois pas le focus.

Re: EPB

Publié : ven. 06/mai/2011 17:19
par MLD
@ Dobro

Je me la mord 8O :mrgreen: :mrgreen:

avec ce code en compilation plus de problème :?: :?:

Code : Tout sélectionner

Procedure Fenetre2()
     If OpenWindow(2, 0, 0, 300, 300, "Fenetre 2", #PB_Window_WindowCentered | #PB_Window_SystemMenu)
       
       Repeat
         Event = WaitWindowEvent()
         
         If EventWindow() = 2 ; On test que l'on travaille bien avec la fenêtre 2
           ; C'est important de filtrer, sinon, si tu clic sur la croix pour femer la fenêtre 1 par exemple, et bien on va fermer la fenêtre 2
            
           Select Event
             Case #PB_Event_CloseWindow
               Quitter = 1
           EndSelect
           
         EndIf
         
       Until Quitter
       
       CloseWindow(2)
       
     EndIf
EndProcedure

Procedure Fenetre1()
     If OpenWindow(1, 0, 0, 400, 400, "Fenetre 1", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
       
       ButtonGadget(1, 0, 0, 400, 25, "Ouvrir fenêtre 2")
       
       Repeat
         Event = WaitWindowEvent()
         
         Select Event
           Case #PB_Event_Gadget
             Select EventGadget()
               Case 1
                 Fenetre2()
             EndSelect
         EndSelect
         
       Until Event = #PB_Event_CloseWindow
       
       CloseWindow(1)
       
     EndIf
EndProcedure
Bon courage
Pour de bon a lundi