Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Des vrais "faux forms" Jeu 29 Oct 2009 - 18:36 | |
| bonsoir à tous, J'ai fabriqué ce qui peut servir a démarrer une programmation (utilisant plusieur FORM), sans se prendre la tête. Vous pourrez y créer jusqu'a 90 FORM et 95 objets par FORM J'ai mis pas mal de REM pour expliquer, mais si ce n'est pas suffisant, je répondrais à vos questions. Voici le Code: - Code:
-
' debut de programme (usage buisiness) ' possibilité de 90 form avec 99 objet par form ' =========================================================================> DIM dim lf(9000),hf(9000),bandeau$,txtnf$,ab$,fnf$,capnf$ dim nf%,x,y,left%,top%,width%,height%,r,v,b,rc,vc,bc,rf,vf,bf,hm,lm,hsm,lp,wb4,wb5 x=screen_x:y=screen_y
' =======================================================================> LABEL label creform,crememo,cadreform,crememo2,bandeau,objetformauto,formauto,ab$,fin label acces,suit
' ======================================================================> FORM 0 nf%=0:lf(nf%)=1100:hf(nf%)=900:rf=150:vf=240:bf=255:fnf$="Fixedsys" capnf$=" NOM DU PROGRAMME " gosub creform rem <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ici les objets de form 0, souvent des DLIST
' ==============================================================> PROG avant end main_menu 9000:rem CREATION DES MENUS
sub_menu 9002:caption 9002," Fichier ":parent 9002, 9000 sub_menu 9003:caption 9003," Edition ":parent 9003, 9000:hide 9003 sub_menu 9004:caption 9004,"":parent 9004, 9000 sub_menu 9005:caption 9005,"":parent 9005, 9000 sub_menu 9006:caption 9006,"" : parent 9006, 9000 sub_menu 9007:caption 9007,"" : parent 9007, 9000 sub_menu 9008:caption 9008,"" : parent 9008, 9000 sub_menu 9009:caption 9009,"" : parent 9009, 9000
rem OPTIONS DU MENU FICHIER
sub_menu 9010 : caption 9010,"Ouvrir" : parent 9010, 9002:on_click 9010,acces sub_menu 9011 : caption 9011,"QUITTER" : parent 9011,9002:on_click 9011,fin
rem OPTIONS DU MENU EDITION
sub_menu 9012 : caption 9012," Annuler " : parent 9012, 9003 sub_menu 9013 : caption 9013," Copier " : parent 9013, 9003 sub_menu 9014 : caption 9014," Coller " : parent 9014, 9003 sub_menu 9015 : caption 9015," Supprimer " : parent 9015, 9003
' ====================================================================> FORM 100 nf%=100: rem dimension, couleur, police et caption de FORM nf% et largeur des boutons nf%+4 et nf%+5 form nf%:lf(nf%)=900:hf(nf%)=700:rf=150:vf=240:bf=255:fnf$="Fixedsys" wb4=140:wb5=140: rem width des boutons nf%+4 et nf%+5 capnf$=" NOM DU PROGRAMME / Accès" gosub creform:hide nf%:command_target_is nf%:gosub objetformauto
rem Vous créez les objets du form nf% ici
' ====================================================================> FORM 100
rem ici vous pouvez créer le form suivant (nf% sera = à 200) faites un copier/coller du précédent et changez la valeur de nf% rem vos objets devrons être numéroté a partir de 6 soit 206 ou nf%+6 ' _______________________________________________________________________________________ rem Sous prog avant END display END ' _______________________________________________________________________________________ ' ======================================================================================= rem Accès acces: inactive 0:hide 9010:nf%=100 lp=3:rem <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Epaisseur du trait rc=0:vc=0:bc=255:rem <<<<<<<<<<<<<<<<<<<< couleur encadrement du FORM r=0:v=100:b=255:bandeau$="O":rem <<<<<<<<<< couleur encadrement bandeau (ligne facultative si pas de bandeau) gosub formauto on_click nf%+3,ab$ goto suit return
suit: rem <<<<<<<<<< entrez votre code
show nf%+1:rem (ou show 101 vu que nf%=100 pour ce form) ce mémo est a la main sur les print
caption 104,"boutton nf%+4" caption 105,"boutton nf%+5" show 104:show 105 return
ab$: clear nf%+1:clear nf%+2:rem ici vous devez remettre les variables à zéro et gérer les objets (HIDE,ACTIVE,...) hide nf%:active 0:rem <<<<<<<<<<<<<<< ferme Form nf% et rend la main à Form 0 return ' _______________________________________________________________________________________ rem Création d'un FORM automatique formauto: ab$="ab"+str$(nf%+3) border_hide nf%:show nf%:show nf%+3 2d_clear:gosub cadreform if bandeau$="O" then show nf%+2:gosub bandeau return creform: caption nf%,capnf$:color nf%,rf,vf,bf:font_name nf%,fnf$:width%=lf(nf%):height%=hf(nf%) width nf%,width%:height nf%,height%:left%=(x-width%)/2:top%=(y-height%)/2 top nf%,top%:left nf%,left% return crememo: memo nf%+1:lm=lf(nf%)-50:width nf%+1,lm:left nf%+1,(lf(nf%)-lm-10)/2 height nf%+1,hm:top nf%+1,hf(nf%)-(hm+hsm):color nf%+1,r,v,b:print_target_is nf%+1 font_name nf%+1,fnf$:font_color nf%+1,0,0,255 return crememo2: memo nf%+2 top nf%+2,13:left nf%+2,13:width nf%+2,lf(nf%)-61:height nf%+2,hf(nf%)-hf(nf%)+21 color nf%+2,255,230,230 item_add nf%+2,txtnf$+" * " +date$ return cadreform: 2d_target_is nf% 2d_pen_color rc,vc,bc 2d_pen_width 6 2d_rectangle 1,1,lf(nf%)-1,hf(nf%)-1 2d_pen_color 255,0,0 2d_pen_width lp 2d_rectangle left(nf%+3)-(lp-1),top(nf%+3)-(lp-1),left(nf%+3)+width(nf%+3)+(lp-1),top(nf%+3)+height(nf%+3)+(lp-1) return bandeau: 2d_target_is nf% 2d_pen_color r,v,b 2d_pen_width lp 2d_rectangle 10,10,lf(nf%)-45,hf(nf%)-hf(nf%)+37 print_target_is nf% print_target_is nf%+1 return objetformauto: hm=100:hsm=100:r=255:v=255:b=235:fnf$="Fixedsys":gosub crememo:hide nf%+1 button nf%+3:top nf%+3,11:left nf%+3,lf(nf%)-35:width nf%+3,25:caption nf%+3,"X":hide nf%+3 txtnf$=caption$(nf%):gosub crememo2:hide nf%+2 button nf%+4:top nf%+4,hf(nf%)-70:width nf%+4,wb4:left nf%+4,lf(nf%)-(wb4+30):hide nf%+4 button nf%+5:top nf%+5,hf(nf%)-70:width nf%+5,wb5:left nf%+5,24:hide nf%+5:bandeau$="" return rem _____________________________________________________________________________________ rem ___________________________________________________________________________ TERMINATE fin: terminate
A+
Dernière édition par Jean Claude le Jeu 29 Oct 2009 - 20:41, édité 1 fois | |
|
jjn4
Nombre de messages : 2747 Date d'inscription : 13/09/2009
| Sujet: euh oui Jeu 29 Oct 2009 - 19:31 | |
| A Jean Claude, Ca a l'air original, mais tu devrais effectivement mettre un mode d'emploi. | |
|
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Des vrais "faux forms" Jeu 29 Oct 2009 - 20:40 | |
| regarder bien tout les REM.
pour commencer essayer de modifier la largeur et la hauteur du form 100. par les variables Lf(nf%) et Hf(nf%) et observez que les objets suivent le mouvement.
La philosophie c'est que pour chaque option de MAIN_MENU, vous créer un nouveau form (par copier/coller du précédent) modifiable par quelques variables (voir les REM au label acces) , le reste se fait tout seul. Ensuite à vous d'écrire votre programme.
Chaque sortie d'un "faux FORM" est contolé par le label lb$ qui est créer automatiquement. A vous de voir ce que vous y ferez.
Quand j'aurais avancé sufisament sur mon programme en cours je vous le filerais pour l'exemple.
Mais regarder de près, c'est pas si compliqué et lisez bien tout les REM
A+
Dernière édition par Jean Claude le Jeu 29 Oct 2009 - 20:50, édité 1 fois | |
|