Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Petite sub pour créer des objets facilement | |
| | Auteur | Message |
---|
Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Petite sub pour créer des objets facilement Mer 7 Mai 2014 - 23:08 | |
| Bonsoir a tous ! Voici une petite SUB comme on en a déjà vu mais je rajoute ma touche perso en facilitant la création des objets. On peut bien sur améliorer avec d'autres objets et d'autres paramètres comme les options de font (gras, souligné, etc) Qu'en pensez vous ? - Code:
-
DIM nombre_objet% , objet_parent%
LABEL click
full_space 0 nombre_objet%=1
' type$ = le type de l'objet (cmb=COMBO / chk=CHECK / alp=ALPHA / ... ) ' titre$ = nom du titre de l'objet (CAPTION) ' parent% = relation objet parent (parent%=0 pas de relation / parent%=1 determine l'objet comme PARENT / parent%=2 l'objet est rataché au dernier PARENT enregistré) ' bord_gauche% = coordonnées bord gauche de la fenêtre (LEFT) ' bord_superieur% = coordonnées bord supérieur de la fenêtre (TOP) ' largeur% = largeur de la fenêtre (WIDTH) ' hauteur% = hauteur de la fenêtre (HEIGHT) ' nom_font$ = Nom de la police (FONT_NAME) ' taille_font% = Taille de la police (FONT_SIZE)
interface(cmb,"combo",0,10,10,150,20,"",8) interface(chk,"check",0,10,40,150,20,"@KaiTi",8) interface(alp,"alpha",0,10,70,150,20,"",8) interface(edi,"Edit",0,10,100,150,20,"",8) interface(mem,"Memo",0,10,130,150,50,"",8) interface(cnt,"Container",1,200,10,900,800,"",8) interface(bou,"Bouton 1",2,10,20,160,25,"@FangSong",15) interface(bou,"Bouton 2",2,190,20,160,25,"@FangSong",15) interface(bou,"Bouton 3",2,370,20,160,25,"@FangSong",15) interface(bou,"Bouton 4",2,550,20,160,25,"@FangSong",15) interface(bou,"Bouton 5",2,730,20,160,25,"@FangSong",15) interface(pic,"Picture",2,10,50,880,740,"",8)
END
click: SELECT NUMBER_CLICK CASE 1 : MESSAGE "Combo" CASE 2 : MESSAGE "check" CASE 3 : MESSAGE "alpha" CASE 4 : MESSAGE "Edit" CASE 5 : MESSAGE "Memo" CASE 6 : MESSAGE "Container" CASE 7 : MESSAGE "Bouton 1" CASE 8 : MESSAGE "Bouton 2" CASE 9 : MESSAGE "Bouton 3" CASE 10 : MESSAGE "Bouton 4" CASE 11 : MESSAGE "Bouton 5" CASE 12 : MESSAGE "Picture" END_SELECT RETURN
SUB interface(type$,titre$,parent%,bord_gauche%,bord_superieur%,largeur%,hauteur%,nom_font$,taille_font%) if type$="bou" then button nombre_objet% : caption nombre_objet%,titre$ if type$="alp" then alpha nombre_objet% : caption nombre_objet%,titre$ if type$="chk" then check nombre_objet% : caption nombre_objet%,titre$ if type$="cnt" then container nombre_objet% : caption nombre_objet%,titre$ if type$="cmb" then combo nombre_objet% if type$="edi" then edit nombre_objet% if type$="mem" then memo nombre_objet% if type$="pic" then picture nombre_objet% if parent%=1 THEN objet_parent%=nombre_objet% if parent%=2 THEN parent nombre_objet%,objet_parent% font_name nombre_objet%,nom_font$ : font_size nombre_objet%,taille_font% top nombre_objet%,bord_superieur% : left nombre_objet%,bord_gauche% width nombre_objet%,largeur% : height nombre_objet%,hauteur% ON_CLICK nombre_objet%,click nombre_objet%=nombre_objet%+1 END_SUB
| |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Petite sub pour créer des objets facilement Jeu 8 Mai 2014 - 9:46 | |
| Simple et efficace, je met dans mon cartable.... J'ai adapté ta version pour ceux qui, comme moi, utilisent un identifiant d'objets sous forme de variable à la place de son numéro. Ainsi, chacun choisi la version qui correspond à sa propre méthode. - Code:
-
' Créateur d'objets Panoramic par Minibug ' Version avec identifiant pour chaque objet (plus gourmand en variable) par Jean Claude
DIM no% :' no%=numéro de l'objet
LABEL click
full_space 0 no% =1
' type$ = le type de l'objet (cmb=COMBO / chk=CHECK / alp=ALPHA / ... ) ' titre$ = nom du titre de l'objet (CAPTION) ' parent% = parent de l'objet (parent%=0 pas de parent / Sinon designer l'objet parent "voir bouton 1") ' bord_gauche% = coordonnées bord gauche de la fenêtre (LEFT) ' bord_superieur% = coordonnées bord supérieur de la fenêtre (TOP) ' largeur% = largeur de la fenêtre (WIDTH) ' hauteur% = hauteur de la fenêtre (HEIGHT) ' nom_font$ = Nom de la police (FONT_NAME) ' taille_font% = Taille de la police (FONT_SIZE) ' nom_obj% = Nom de l'objet pour le retrouver par un nom plutot que par son numéro
dim Combo_1%:Combo_1%=no% :interface(cmb,"combo",0,10,10,150,20,"",8) dim Check_1%:Check_1%=no% :interface(chk,"check",0,10,40,150,20,"@KaiTi",8) dim Alpha_1%:Alpha_1%=no% :interface(alp,"alpha",0,10,70,150,20,"",8) dim Edit_1%:Edit_1%=no% :interface(edi,"Edit",0,10,100,150,20,"",8) dim Memo_1%:Memo_1%=no% :interface(mem,"Memo",0,10,130,150,50,"",8) dim Container_1%:Container_1%=no% :interface(cnt,"Container",0,200,10,900,800,"",8) dim Bouton_1%:Bouton_1%=no% :interface(bou,"Bouton 1",Container_1%,10,20,160,25,"@FangSong",15) dim Bouton_2%:Bouton_2%=no% :interface(bou,"Bouton 2",Container_1%,190,20,160,25,"@FangSong",15) dim Bouton_3%:Bouton_3%=no% :interface(bou,"Bouton 3",Container_1%,370,20,160,25,"@FangSong",15) dim Bouton_4%:Bouton_4%=no% :interface(bou,"Bouton 4",Container_1%,550,20,160,25,"@FangSong",15) dim Bouton_5%:Bouton_5%=no% :interface(bou,"Bouton 5",Container_1%,730,20,160,25,"@FangSong",15) dim Picture_1%:Picture_1%=no% :interface(pic,"Picture",Container_1%,10,50,880,740,"",8)
END
click: SELECT NUMBER_CLICK CASE 1 : MESSAGE "Combo" CASE 2 : MESSAGE "check" CASE 3 : MESSAGE "alpha" CASE 4 : MESSAGE "Edit" CASE 5 : MESSAGE "Memo" CASE 6 : MESSAGE "Container / Objet n°"+str$(Container_1%)+" / Parent: pas de parent" CASE 7 : MESSAGE "Bouton 1 / Objet n°"+str$(Bouton_1%)+" / Parent: "+str$(Container_1%) CASE 8 : MESSAGE "Bouton 2 / Objet n°"+str$(Bouton_2%)+" / Parent: "+str$(Container_1%) CASE 9 : MESSAGE "Bouton 3 / Objet n°"+str$(Bouton_3%)+" / Parent: "+str$(Container_1%) CASE 10 : MESSAGE "Bouton 4 / Objet n°"+str$(Bouton_4%)+" / Parent: "+str$(Container_1%) CASE 11 : MESSAGE "Bouton 5 / Objet n°"+str$(Bouton_5%)+" / Parent: "+str$(Container_1%) CASE 12 : MESSAGE "Picture / Objet n°"+str$(Picture_1%)+" / Parent: "+str$(Container_1%) END_SELECT RETURN
SUB interface(type$,titre$,parent%,bord_gauche%,bord_superieur%,largeur%,hauteur%,nom_font$,taille_font%) if type$="bou" then button no% : caption no% ,titre$ if type$="alp" then alpha no% : caption no% ,titre$ if type$="chk" then check no% : caption no% ,titre$ if type$="cnt" then container no% : caption no% ,titre$ if type$="cmb" then combo no% if type$="edi" then edit no% if type$="mem" then memo no% if type$="pic" then picture no% if parent%<>0 then parent no% , parent% font_name no% ,nom_font$ : font_size no% ,taille_font% top no% ,bord_superieur% : left no% ,bord_gauche% width no% ,largeur% : height no% ,hauteur% ON_CLICK no% ,click no% = no% +1 END_SUB
A+
Dernière édition par Jean Claude le Ven 9 Mai 2014 - 8:56, édité 1 fois | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Petite sub pour créer des objets facilement Ven 9 Mai 2014 - 8:49 | |
| Bonjour Jean Claude, Pour identifier les objets tu peux juste rajouter la ligne suivante a la fin de la SUB : - Code:
-
HINT nombre_objet%,"Objet n° "+STR$(nombre_objet%)+" de type "+UPPER$(type$)+" parent à "+STR$(objet_parent%) Cela te permettra d'avoir le numéro et le rattachement au parent juste en passant la souris sur les éléments. Bonne journée | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Petite sub pour créer des objets facilement Ven 9 Mai 2014 - 8:58 | |
| Oui c'est pas idiot, mais ça oblige à lancer le code...
A+ | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Petite sub pour créer des objets facilement Ven 9 Mai 2014 - 9:58 | |
| C'est vrai Jean Claude, tu as raison ! Mais le but premier de mon programme est de simplifié et de gagné en rapidité d'écriture. Après, une fois la présentation effectué on peut programmer facilement le traitement. A l"issus, il suffit de supprimer la ligne et c'est terminé. Il ne reste pas le lignes supplémentaires dans le code. Tout est propre... | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Petite sub pour créer des objets facilement Dim 11 Mai 2014 - 17:49 | |
| Voici un petit complément avec un MAIN_MENU intégré : Pour la déclaration on fait une ligne de variable avec / comme séparateur et * pour sous dossier : Testez et vous comprendrez !! - Code:
-
DIM nombre_objet% , objet_parent% , menu$ , chaine_menu$ , n$ , sous_menu$ , parent_menu% , parent_sous_menu%
LABEL click MAIN_MENU 1 : FULL_SPACE 0 : nombre_objet%=2
menu("Fichier/Ouvrir/Enregistrer/Edition*Couper*Copier*Coller/-/Rechercher/Remplacer/-/Annuler") menu("Fenêtres éditeur/Nouvelle fenêtre d'édition/Fractionnement OFF/Fractionnement HORIZONTAL") menu("Fenêtres outils/ON Procédures et subs/ON Variables/ON Mots clé/-/ON Codes caractères/ON Codes couleurs/ON Codes touches") menu("Paramétrages/ON Indentation auto/-/Configuration") menu("Exécution/Exécuter/Compiler") menu("quitter")
' parent% = relation objet parent (parent%=0 pas de relation / parent%=1 determine l'objet comme PARENT / parent%=2 l'objet est rattaché au dernier PARENT enregistré)
interface(cmb,"combo",0,10,10,150,20,"",8) interface(chk,"check",0,10,40,150,20,"@KaiTi",8) interface(alp,"alpha",0,10,70,150,20,"",8) interface(edi,"Edit",0,10,100,150,20,"",8) interface(mem,"Memo",0,10,130,150,50,"",8) interface(cnt,"Container",1,200,10,900,800,"",8) interface(bou,"Bouton 1",2,10,20,160,25,"@FangSong",15) interface(bou,"Bouton 2",2,190,20,160,25,"@FangSong",15) interface(bou,"Bouton 3",2,370,20,160,25,"@FangSong",15) interface(bou,"Bouton 4",2,550,20,160,25,"@FangSong",15) interface(bou,"Bouton 5",2,730,20,160,25,"@FangSong",15) interface(pic,"Picture",2,10,50,880,740,"",8)
END
' A l'execution du programme vous savez quels numéros correspondent au menu et aux objets. ' Il n'y a plus qu'a faire les SUB correspondantes !!
click: SELECT NUMBER_CLICK CASE 3 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK) CASE 4 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK) CASE 5 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK) CASE 6 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK) CASE 7 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK) CASE 8 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK)
CASE 10 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK) CASE 11 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK)
CASE 13 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK) CASE 15 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK) CASE 16 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK) CASE 17 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK)
CASE 19 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK) CASE 20 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK) CASE 21 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK)
CASE 23 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK) CASE 24 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK) CASE 25 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK)
CASE 27 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK)
CASE 29 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK)
CASE 31 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK) CASE 32 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK) CASE 33 : MESSAGE "Objet n° "+STR$(NUMBER_CLICK)+" : "+CAPTION$(NUMBER_CLICK) CASE 34 : MESSAGE "Combo" CASE 35 : MESSAGE "check" CASE 36 : MESSAGE "alpha" CASE 37 : MESSAGE "Edit" CASE 38 : MESSAGE "Memo" CASE 39 : MESSAGE "Container" CASE 40 : MESSAGE "Bouton 1" CASE 41 : MESSAGE "Bouton 2" CASE 42 : MESSAGE "Bouton 3" CASE 43 : MESSAGE "Bouton 4" CASE 44 : MESSAGE "Bouton 5" CASE 45 : MESSAGE "Picture" END_SELECT RETURN
SUB interface(type$,titre$,parent%,bord_gauche%,bord_superieur%,largeur%,hauteur%,nom_font$,taille_font%) if type$="bou" then button nombre_objet% : caption nombre_objet%,titre$ if type$="alp" then alpha nombre_objet% : caption nombre_objet%,titre$ if type$="chk" then check nombre_objet% : caption nombre_objet%,titre$ if type$="cnt" then container nombre_objet% : caption nombre_objet%,titre$ if type$="cmb" then combo nombre_objet% if type$="edi" then edit nombre_objet% if type$="mem" then memo nombre_objet% if type$="pic" then picture nombre_objet% if parent%=1 THEN objet_parent%=nombre_objet% if parent%=2 THEN parent nombre_objet%,objet_parent% font_name nombre_objet%,nom_font$ : font_size nombre_objet%,taille_font% top nombre_objet%,bord_superieur% : left nombre_objet%,bord_gauche% width nombre_objet%,largeur% : height nombre_objet%,hauteur% HINT nombre_objet%,"Objet n° "+STR$(nombre_objet%)+" parent a "+STR$(OBJECT_PARENT(nombre_objet%)) : ON_CLICK nombre_objet%,click nombre_objet%=nombre_objet%+1 END_SUB
SUB menu(chaine_menu$) parent_menu%=1 WHILE INSTR(chaine_menu$,"/")<>0 menu$=LEFT$(chaine_menu$,INSTR(RIGHT$(chaine_menu$,LEN(chaine_menu$)-1),"/")) chaine_menu$=RIGHT$(chaine_menu$,LEN(chaine_menu$)-INSTR(RIGHT$(chaine_menu$,LEN(chaine_menu$)-1),"/")-1) IF INSTR(menu$,"*")=0 SUB_MENU nombre_objet% : PARENT nombre_objet%,parent_menu% : CAPTION nombre_objet%,menu$ IF parent_menu%<>1 THEN ON_CLICK nombre_objet%,click nombre_objet%=nombre_objet%+1 : IF parent_menu%=1 then parent_menu%=nombre_objet%-1 ELSE SUB_MENU nombre_objet% : PARENT nombre_objet%,parent_menu% : CAPTION nombre_objet%,LEFT$(menu$,INSTR(RIGHT$(menu$,LEN(menu$)-1),"*")) ON_CLICK nombre_objet%,click menu$=RIGHT$(menu$,LEN(menu$)-INSTR(RIGHT$(menu$,LEN(menu$)-1),"*")-1) parent_sous_menu%=parent_menu% : parent_menu%=nombre_objet% : nombre_objet%=nombre_objet%+1 WHILE INSTR(menu$,"*")<>0 SUB_MENU nombre_objet% : PARENT nombre_objet%,parent_menu% : CAPTION nombre_objet%,LEFT$(menu$,INSTR(RIGHT$(menu$,LEN(menu$)-1),"*")) ON_CLICK nombre_objet%,click menu$=RIGHT$(menu$,LEN(menu$)-INSTR(RIGHT$(menu$,LEN(menu$)-1),"*")-1) nombre_objet%=nombre_objet%+1 END_WHILE SUB_MENU nombre_objet% : PARENT nombre_objet%,parent_menu% : CAPTION nombre_objet%,menu$ ON_CLICK nombre_objet%,click nombre_objet%=nombre_objet%+1 : parent_menu%=parent_sous_menu% END_IF END_WHILE menu$=chaine_menu$ IF INSTR(menu$,"*")=0 SUB_MENU nombre_objet% : PARENT nombre_objet%,parent_menu% : CAPTION nombre_objet%,menu$ ON_CLICK nombre_objet%,click nombre_objet%=nombre_objet%+1 : IF parent_menu%=1 then parent_menu%=nombre_objet%-1 ELSE SUB_MENU nombre_objet% : PARENT nombre_objet%,parent_menu% : CAPTION nombre_objet%,LEFT$(menu$,INSTR(RIGHT$(menu$,LEN(menu$)-1),"*")) ON_CLICK nombre_objet%,click menu$=RIGHT$(menu$,LEN(menu$)-INSTR(RIGHT$(menu$,LEN(menu$)-1),"*")-1) parent_sous_menu%= parent_menu% : parent_menu%=nombre_objet% : nombre_objet%=nombre_objet%+1 WHILE INSTR(menu$,"*")<>0 SUB_MENU nombre_objet% : PARENT nombre_objet%,parent_menu% : CAPTION nombre_objet%,LEFT$(menu$,INSTR(RIGHT$(menu$,LEN(menu$)-1),"*")) ON_CLICK nombre_objet%,click menu$=RIGHT$(menu$,LEN(menu$)-INSTR(RIGHT$(menu$,LEN(menu$)-1),"*")-1) nombre_objet%=nombre_objet%+1 END_WHILE SUB_MENU nombre_objet% : PARENT nombre_objet%,parent_menu% : CAPTION nombre_objet%,menu$ ON_CLICK nombre_objet%,click nombre_objet%=nombre_objet%+1 : parent_menu%=parent_sous_menu% END_IF END_SUB
| |
| | | Contenu sponsorisé
| Sujet: Re: Petite sub pour créer des objets facilement | |
| |
| | | | Petite sub pour créer des objets facilement | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |