Ok, lance les bases d'un coursjbernard13 a écrit :Ok , je peux meme vous dessiner les icones.SPH a écrit :D'accord. Poste un truc simple (gadget) et j'essayerais de l'ameliorerjbernard13 a écrit :je veux bien t'aider aussi
création d'un editeur de boite de dialogue
Re: création d'un editeur de boitte de dialogue
!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
Re: création d'un editeur de boitte de dialogue
merci beaucoup les gars mais moi j'ai un truc que je voudrait faire
mais je ne sais pas pourquoi on veut pas m'aider sur sa ?
Nico stp peut tu m'aider
sinon vous voulez quoi vous deux au juste
éclérez ma lanterne
je serais plus for que vous en pure basic ?
j'en doute mais bon l'éspoire fait vivre LOL
mais je ne sais pas pourquoi on veut pas m'aider sur sa ?
Nico stp peut tu m'aider

sinon vous voulez quoi vous deux au juste
éclérez ma lanterne
je serais plus for que vous en pure basic ?
j'en doute mais bon l'éspoire fait vivre LOL

La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !
Mon forum http://purebasic.forumphp3.com/index.php
Mon forum http://purebasic.forumphp3.com/index.php
Re: création d'un editeur de boitte de dialogue
Dayvid, poste un petit code sur les gadgets et je l'etudierais. Puis je t'aiderais...dayvid a écrit :merci beaucoup les gars mais moi j'ai un truc que je voudrait faire
mais je ne sais pas pourquoi on veut pas m'aider sur sa ?
Nico stp peut tu m'aider![]()
sinon vous voulez quoi vous deux au juste
éclérez ma lanterne
je serais plus for que vous en pure basic ?
j'en doute mais bon l'éspoire fait vivre LOL
!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
- falsam
- Messages : 7317
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: création d'un editeur de boitte de dialogue
Tous ensemble.
Moi je donne la base de ton RAD générateur de boite de dialogue
C'est un bon début non ?
Moi je donne la base de ton RAD générateur de boite de dialogue
C'est un bon début non ?
Code : Tout sélectionner
Enumeration
#MainForm
EndEnumeration
Procedure MainFormShow()
OpenWindow(#MainForm,0,0,800,600,"Générateur boite de dialogue")
EndProcedure
MainFormShow()
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
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%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: création d'un editeur de boitte de dialogue
Ok. Et qu'est ce que dayvid voudrait greffer a cette fenetre ? (car je ne sais pas ce qu'il veux)falsam a écrit :Tous ensemble.
Moi je donne la base de ton RAD générateur de boite de dialogue
C'est un bon début non ?
Code : Tout sélectionner
Enumeration #MainForm EndEnumeration Procedure MainFormShow() OpenWindow(#MainForm,0,0,800,600,"Générateur boite de dialogue") EndProcedure MainFormShow() Repeat Select WaitWindowEvent() Case #PB_Event_Gadget Case #PB_Event_CloseWindow End EndSelect ForEver
!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
- falsam
- Messages : 7317
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: création d'un editeur de boitte de dialogue
dayvid a écrit : ...
ce que j'ai besoin:
une selection avec la souris sur la fenêtre
crée le gadget voulut
pouvoir déplacer le gadget crée
pouvoir modifier le gadget crée (taille, texte, image, etc)
je ne cherche pas a refaire un editeur visuelle car mon niveaux est
trop bas pour le momment et sa ne m'interesse pas en plus
j'ai juste besoin de ton aide si tu l'accepte pour divers petite chose
pour le reste je ferais je que je peut tous seulle
merci d'avence !!!
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%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: création d'un editeur de boitte de dialogue
Une question de newbies : qu'est ce qu'un gadget ? 

!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
Re: création d'un editeur de boitte de dialogue
bon ça va ...SPH a écrit :Une question de newbies : qu'est ce qu'un gadget ?

te fais pas plus con que tu l'es...

Re: création d'un editeur de boitte de dialogue
Je t'assure que je ne sais pas ce que c'est.Dobro a écrit :bon ça va ...SPH a écrit :Une question de newbies : qu'est ce qu'un gadget ?![]()
te fais pas plus con que tu l'es...

(je me met au niveau de dayvid)

Est ce que la croix de fermeture est un gadget ? Une liste deboulante ? Un champ ?
!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
Re: création d'un editeur de boite de dialogue
Non un bouton
Bon bin je pence que nico n'as pas le temps de m'aider
ou qu'il ne veut pas et c'est son droit
par conte lui il connais bien ce genre de chose
bon bin donc je sais pas comment faire la
en plus j'ai déjà poster un code !
j'avoue que je change un peut d'avis comme de chemise
mais j'aimerais pourtant réaliser ce que je souhaite
mais franchement si nico ou n'importe qui d'autre pouvez
éclairer ma lanterne ce serais cool
dobro doit savoir mais j'ose même pas lui demander
bin oui car je sens qu'il ne m'aime pas vraiment
enfin bon bref
que doi-je faire pour réaliser ce petit programme comme j'ai dit ?

Bon bin je pence que nico n'as pas le temps de m'aider
ou qu'il ne veut pas et c'est son droit

par conte lui il connais bien ce genre de chose
bon bin donc je sais pas comment faire la
en plus j'ai déjà poster un code !
j'avoue que je change un peut d'avis comme de chemise
mais j'aimerais pourtant réaliser ce que je souhaite

mais franchement si nico ou n'importe qui d'autre pouvez
éclairer ma lanterne ce serais cool
dobro doit savoir mais j'ose même pas lui demander

bin oui car je sens qu'il ne m'aime pas vraiment
enfin bon bref
que doi-je faire pour réaliser ce petit programme comme j'ai dit ?
La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !
Mon forum http://purebasic.forumphp3.com/index.php
Mon forum http://purebasic.forumphp3.com/index.php
Re: création d'un editeur de boite de dialogue
Avec jbernard13 et dayvid comme programmeurs, si on a besoin de rien, on sera au moins sur d'être servi plus vite! 

Re: création d'un editeur de boite de dialogue
Aller quoi un chti coup de pouce 

La vie, C'est comme, Une boitte, De startis, On en voie, De toutes, Les couleurs !
Mon forum http://purebasic.forumphp3.com/index.php
Mon forum http://purebasic.forumphp3.com/index.php
- falsam
- Messages : 7317
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: création d'un editeur de boite de dialogue
J'imagine que tu as un fichier contenant les gadgets à positionner sur ta fenetre.
Exemple de fichier mafenetre.txt
la structure de chaque enregistrement est sous la forme :
Model,Name,Left,Top,Width,Height,Caption
A toi de faire un programme qui ouvre ce fichier et dans lequel tu intégres une boucle qui ouvre ce fichier, le lit séquentiellement, teste le model de gadget et enfin positionne le gadget dans la fenêtre.
Exemple : Idgadget=ButtonGadget(#Pb_Any,400,20,80,20,"Envoyer")
Pour pouvoir interagir avec l'ensemble de tes gadgets, je pense que une des solutions est de passer par une structure de gadgets dans laquelle tu stockes chacun de tes identifiants et le nom de tes gadgets.
Bon je vais tenter de te faire un bout de code minimaliste pour répondre à ton "problème" en espérant que j'ai compris le sens de ta demande :p
Exemple de fichier mafenetre.txt
la structure de chaque enregistrement est sous la forme :
Model,Name,Left,Top,Width,Height,Caption
Code : Tout sélectionner
Window,#MainForm,0,0,800,600,Ma fenêtre
Button,#BtnOk,400,20,80,20,Ok
Text,#Pb_Any,20,20,60,20,Nom
String,#Name,100,20,100,20,Null
Tu récuperes l'identifiant du gadget au moment de la création du gadget.dayvid a écrit :Moi j'ai un truc a demander
j'ai une fenêtre et je crée un bouton (dynamiquement)
avec #PB_Any
donc le programme va automatiquement donner une valeur a ce bouton
méton 30498
bin voilà le problème !
comment je fait pour intéragire avec ce gadget maintenant ?!??!!?!!!
Exemple : Idgadget=ButtonGadget(#Pb_Any,400,20,80,20,"Envoyer")
Pour pouvoir interagir avec l'ensemble de tes gadgets, je pense que une des solutions est de passer par une structure de gadgets dans laquelle tu stockes chacun de tes identifiants et le nom de tes gadgets.
Code : Tout sélectionner
;Structure minimum d'un gadget
Structure StructureGadget
Idgadget.i
Name.s
EndStructure
Dim Gadgets.StructureGadget(100)
Dernière modification par falsam le sam. 19/févr./2011 17:18, 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%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
-
- Messages : 1501
- Inscription : dim. 18/avr./2004 15:04
- Localisation : sud de la france
Re: création d'un editeur de boite de dialogue
merci pour ton codeChris a écrit :Avec jbernard13 et dayvid comme programmeurs, si on a besoin de rien, on sera au moins sur d'être servi plus vite!
Jbernard13
- falsam
- Messages : 7317
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: création d'un editeur de boite de dialogue
Crées un fichier texte qui contiendra la structure de ta boite de dialogue.
la première ligne de ton fichier doit être la structure de ta fenêtre.
Nomme ce fichier par exemple mafenetre.txt
Voila maintenant le code minimaliste de ton programme qui va lire ce fichier et générer ta boite de dialogue. A toi d'imaginer le reste.
la première ligne de ton fichier doit être la structure de ta fenêtre.
Code : Tout sélectionner
Window,#MainForm,0,0,500,300,Ma fenêtre
Button,#BtnOk,400,20,80,20,Ok
Text,#PB_Any,20,20,60,20,Nom
String,#Name,100,20,100,20,
Voila maintenant le code minimaliste de ton programme qui va lire ce fichier et générer ta boite de dialogue. A toi d'imaginer le reste.
Code : Tout sélectionner
EnableExplicit
Enumeration
#IdFichier
EndEnumeration
;Structure d'un gadget
Structure StructureGadget
Id.i ;Identifiant du gadget
Name.s ; Nom de la fenetre ou du gadget à generer
EndStructure
Global Dim Gadget.StructureGadget(100) ;Fenetre et gadgets
Global Countgadget.i ;Compteur de gadgets
Global IdGadget.i ;Identifiant du gadget en cours de creation
Global FileName.s ; Fichier à lire
Global Record.s ;Ligne qui est lu dans le fichier en entrée
Global Dim Field.s(7) ;Les champs constituants l'enregistrement lu
Global i.i ;Indice de parcours
;Création de la fenetre
Procedure MainFormCreate(Model.s, Gadget.s, x, y, Width, Height, Caption.s)
Select Model
Case "Window" : IdGadget=OpenWindow(#PB_Any, x, y, Width, Height, Caption)
Case "Button" : IdGadget=ButtonGadget(#PB_Any, x, y, Width, Height, Caption)
Case "Text" : IdGadget=TextGadget(#PB_Any, x, y, Width, Height, Caption)
Case "String" : IdGadget=StringGadget(#PB_Any, x, y, Width, Height, Caption)
EndSelect
;Mise à jour de la structure des gadgets
Gadget(Countgadget)\Id=IdGadget
Gadget(Countgadget)\Name=Gadget
CountGadget=CountGadget+1
EndProcedure
Procedure LoadFile()
FileName.s=OpenFileRequester("Ouvrir un fichier...", "*.Txt", "Texte (*.txt)|*.txt",0)
If FileName
If ReadFile(#IdFichier,FileName) ; Si le fichier peut être lu , on continue...
While Eof(#IdFichier) = 0 ; Boucle tant que la fin du fichier n'est pas atteinte. (Eof = 'End Of File')
Record=ReadString(#IdFichier) ; Lit une ligne du fichier
For i=1 To 7
Field(i-1)=StringField(Record, i, ",")
Next
MainFormCreate(Field(0), Field(1), Val(Field(2)), Val(Field(3)), Val(Field(4)), Val(Field(5)), Field(6))
Wend
CloseFile(#IdFichier) ; Ferme le fichier précédemment ouvert
Else
MessageRequester("Information","Impossible d'ouvrir le fichier!")
EndIf
EndIf
EndProcedure
LoadFile()
Repeat
Select WaitWindowEvent()
;C'est ici que tu connais le nom de ton gadget :)
Case #PB_Event_Gadget
For i=0 To (CountGadget-1)
If Gadget(i)\Id=EventGadget()
Debug Gadget(i)\Name
EndIf
Next
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
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%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%