Page 3 sur 3

Re: RESOLUS PAR FALSAM] Il n'y pas de gadget list actuelleme

Publié : lun. 28/avr./2014 12:41
par Backup
c'est un langage Objet !

Purebasic est un langage Procedurale ;)

Re: RESOLUS PAR FALSAM] Il n'y pas de gadget list actuelleme

Publié : lun. 28/avr./2014 12:45
par microdevweb
Non procédurale (bien que l'on puisse faire de LOBJ )
le par exemple client.Localite fait appel au client et à sa rubrique localite , pas de rapport direct avec une classe

Re: RESOLUS PAR FALSAM] Il n'y pas de gadget list actuelleme

Publié : lun. 28/avr./2014 16:43
par majikeyric
T'as la version 18. PC-Soft doit te harceler pour passer en 19 ! :mrgreen:

Moi, j'ai la 17. En décembre j'ai reçu 10 kilos de pub Windev19 dans ma boite aux lettres :x

Re: RESOLUS PAR FALSAM] Il n'y pas de gadget list actuelleme

Publié : lun. 28/avr./2014 16:49
par Micoute
Dobro a écrit :fait en partie ici :
http://www.purebasic.fr/french/viewtopic.php?f=1&t=8982
Merci Dobro, c'est que du tout bon et la boucle principale c'est une idée géniale au début du programme, je vais m'y mettre !

Re: RESOLUS PAR FALSAM] Il n'y pas de gadget list actuelleme

Publié : lun. 28/avr./2014 17:33
par majikeyric
@microdevweb : Je n'utilise plus Windev mais j'ai repris sa "philosophie" pour developper avec PB.

Lorsque je crée une form avec l'éditeur, mes noms de champs sont préfixés comme avec windev

fichier : FEN_Principale.pbf

Code : Tout sélectionner

;
; This code is automatically generated by the FormDesigner.
; Manual modification is possible to adjust existing commands, but anything else will be dropped when the code is compiled.
; Event procedures needs to be put in another source file.
;

Global FEN_Principale

Global BTN_Valider, SAI_Nom

Procedure OpenFEN_Principale(x = 0, y = 0, width = 600, height = 400)
  FEN_Principale = OpenWindow(#PB_Any, x, y, width, height, "", #PB_Window_SystemMenu)
  BTN_Valider = ButtonGadget(#PB_Any, 200, 30, 100, 25, "Valider")
  SAI_Nom = StringGadget(#PB_Any, 60, 30, 100, 25, "")
EndProcedure
J'ai fait un petit programme qui parse le fichier pbf et génère automatiquement le fichier de tous les évènements associés "à la Windev".

fichier : FEN_Principale.pb

Code : Tout sélectionner

EnableExplicit

Global	FEN_Principale_Fenetre_d_appel.i
Global	FEN_Principale_QuitteFenetre.b

XIncludeFile("FEN_Principale.pbf")

;-
;-=== FEN_Principale =============================
;-

Procedure Initialisation_de_FEN_Principale()
EndProcedure

Procedure Fermeture_de_FEN_Principale()
	If FEN_Principale_Fenetre_d_appel<>-1
		DisableWindow(FEN_Principale_Fenetre_d_appel, 0)
		SetActiveWindow(FEN_Principale_Fenetre_d_appel)
	EndIf
	CloseWindow(FEN_Principale)
	FEN_Principale_QuitteFenetre=#True
EndProcedure

;-
;-=== BTN_Valider =============================
;-

Procedure Initialisation_de_BTN_Valider()
EndProcedure

Procedure Clic_sur_BTN_Valider()
EndProcedure

;-
;-=== SAI_Nom =============================
;-

Procedure Initialisation_de_SAI_Nom()
EndProcedure

Procedure Entree_de_SAI_Nom()
EndProcedure

Procedure Sortie_de_SAI_Nom()
EndProcedure

Procedure A_Chaque_Modification_de_SAI_Nom()
EndProcedure

;-
;-*** Ouverture de la fenêtre / Boucle d'évènements ********
;-
Procedure Ouverture_de_FEN_Principale()
	Protected.i	Event, EventWindow, EventMenu, EventGadget, EventType
	FEN_Principale_QuitteFenetre=#False
	FEN_Principale_Fenetre_d_appel=GetActiveWindow()
	If FEN_Principale_Fenetre_d_appel<>-1
		DisableWindow(FEN_Principale_Fenetre_d_appel,1)
	EndIf
	OpenFEN_Principale()
	SetActiveWindow(FEN_Principale)
	Initialisation_de_FEN_Principale()

	If Not FEN_Principale_QuitteFenetre : Initialisation_de_BTN_Valider() : EndIf
	If Not FEN_Principale_QuitteFenetre : Initialisation_de_SAI_Nom() : EndIf

	While Not FEN_Principale_QuitteFenetre

		Event		= WaitWindowEvent()
		EventWindow = EventWindow()
		EventMenu	= EventMenu()
		EventGadget = EventGadget()
		EventType 	= EventType()

		Select EventWindow
			Case FEN_Principale
				Select Event
					Case #PB_Event_Menu
						Select EventMenu
						EndSelect
					Case #PB_Event_Gadget
						Select EventGadget
							Case BTN_Valider
								Select EventType
									Case #PB_EventType_LeftClick	: Clic_sur_BTN_Valider()
								EndSelect
							Case SAI_Nom
								Select EventType
									Case #PB_EventType_Focus		: Entree_de_SAI_Nom()
									Case #PB_EventType_LostFocus	: Sortie_de_SAI_Nom()
									Case #PB_EventType_Change		: A_Chaque_Modification_de_SAI_Nom()
								EndSelect
						EndSelect
					Case #PB_Event_CloseWindow						: Fermeture_de_FEN_Principale()
				EndSelect
		EndSelect

	Wend

EndProcedure

Ouverture_de_FEN_Principale()
Quand tu as plein de champs, c'est super pratique que tout se génère automatiquement.

Je n'ai restranscrit la gestion que de certains champs mais j'en ajoute au fur et à mesure de mes besoins.
Pour l'instant je gère ces champs : BTN,SAI,LIB,IMG,TABLE,COMBO,INT,SEL,CANVAS,ASC,DATE,EDIT,JAUGE,FRAME,ONG,POT

L'architecture est telle que cela ne pose aucun problème dans la gestion d'une fenêtre d'en ouvrir d'autres en cascade puis de les fermer et de revenir à celle là.

Y a aussi d'autres facilités (pour la gestion de menu, du DragAndDrop...etc.).

PS: J'ai aussi bossé sur un style de "générateur d'analyse"...

Re: RESOLUS PAR FALSAM] Il n'y pas de gadget list actuelleme

Publié : mar. 29/avr./2014 11:07
par microdevweb
Bonjour majikeyric,

Oui PCsoft me bombarde de pub, bha j'utilise encore windev parce que parce qu’il est simple et efficace en plus avec le même langage je fait mes sites web / application Windows et application mobile par contre bonjour le prix de ça de 900 à 1600 par module soit +- 3000 euros en moyenne pour Windev webdev et windev mobile. Maintenant quant tu compare une appli réalisé en PB ou WD il y a pas photo
PB fait des exe peu gourmand et rapide WD avec son frameword est gourmand et l'exe pas super rapide.
Je l'ai surtout remarqué lors du développement de petite applis de dessin vectoriel.

Avec PB je peux recalculer par exemple le rectangle et le ré afficher aussitôt par ma procédure de dessin sans saccade
Avec WD je suis obligé de créer une image masque pour le rafraîchissement.

Je penses qu'il serais possible de faire en PB un éditeur qui travaillerais comme WD (comme ta philosophie), avec un éditeur de Form ou tu pourrais placer ton code directement sur le Bouton champ ect... Si l'aventure te tente? et d'autres aussi se serais un super projet pour faire un peux la nic à pcsoft et valoriser encore plus PB :roll:

PS: Je travaille également actuellement sur un éditeur d'analyse, mon but est de pouvoir faire un rad après.

Re: RESOLUS PAR FALSAM] Il n'y pas de gadget list actuelleme

Publié : mer. 30/avr./2014 15:48
par majikeyric
microdevweb a écrit : Je penses qu'il serais possible de faire en PB un éditeur qui travaillerais comme WD (comme ta philosophie), avec un éditeur de Form ou tu pourrais placer ton code directement sur le Bouton champ ect... Si l'aventure te tente? et d'autres aussi se serais un super projet pour faire un peux la nic à pcsoft et valoriser encore plus PB :roll:

Salut, ça serait un projet colossal d'essayer de faire le meme IDE.
Les programmes que je me suis faits me suffisent (GenereWDForm et GenereWDAnalyse) :mrgreen:
microdevweb a écrit : PS: Je travaille également actuellement sur un éditeur d'analyse, mon but est de pouvoir faire un rad après.
cool, c'est une bonne idée!
mon GenereWDAnalyse fonctionne un peu comme ça. Il lit la description des tables dans un fichier texte et génère toutes les fonctions (hRecherche(),hLitSuivant()....etc...) ainsi que les fenêtres "fiche" associées à chaque table.
Mais faire un editeur visuel serait cool.