FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» bouton dans autre form que 0
Form Automatique Emptypar leclode Aujourd'hui à 13:59

» KGF_dll - nouvelles versions
Form Automatique Emptypar Klaus Aujourd'hui à 11:41

» Gestion d'un système client-serveur.
Form Automatique Emptypar Klaus Aujourd'hui à 10:23

» PANORAMIC V 1
Form Automatique Emptypar papydall Sam 4 Mai 2024 - 3:43

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Form Automatique Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
Form Automatique Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
Form Automatique Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
Form Automatique Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Form Automatique Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Form Automatique Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Form Automatique Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Form Automatique Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
Form Automatique Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Form Automatique Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Form Automatique Emptypar papydall Dim 21 Avr 2024 - 23:30

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le deal à ne pas rater :
Cdiscount : -30€ dès 300€ d’achat sur une sélection Apple
Voir le deal

 

 Form Automatique

Aller en bas 
2 participants
AuteurMessage
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Form Automatique Empty
MessageSujet: Form Automatique   Form Automatique EmptyVen 16 Juil 2010 - 13:15

Voici une énième version de faux form,

vous charger le code, faite le tourner. Vous remarquerez un cadre bleu dans le bandau, c'est un PICTURE pour charger une image de bouton de fermeture de votre choix. Vous cliquez dessus pour sortir. Le chargement de l'image se trouve ligne 72.

Les explications sont sous forme de REM ( ' )

Code:
dim xe,ye
xe=screen_x:' largeur écran
ye=screen_y:' hauteur écran

dim nf%,nf2%,no%,wnf%,hnf%,lnf%,tnf%,rp,gp,bp,df0,rf,gf,bf,np%,hb,rb,gb,bb,epe,rt,gt,bt
dim caption_bandau$,pdf$,font_titre$
label cre_form,position_form
label abandon_form100

label fin
' =====================================  FORM 0  ===============================
hide 0

' ============================== CREATION de FORM 100 ==========================
nf%=100:wnf%=500:hnf%=500:' dimensions du form
pdf$="CC": ' Position du Form sur l'écran (voir LABEL position_form pour les options)
df0=4:' Epaisseur du dépacement extérieur du Form nf%
rf=180:gf=235:bf=255:' Couleur_remplissage du PICTURE sous le bandau
rp=0:gp=0:bp=255:' Couleur du PEN
epe=2:' épaisseur du PEN
hb=34:' Hauteur du bandau
rb=0:gb=200:bb=200:' couleur remplissage du Bandau
caption_bandau$="FORM 100":font_titre$="fixedsys":rt=0:gt=0:bt=255:' Titre du bandeau (police et couleur de l'ALPHA)
gosub cre_form

' ============== Récap des numéros d'objets système utilisés ===================
' nf%+1 => FORM de TRAVAIL ayant command_target_is
' nf%+2 => PICTURE du BANDAU
' nf%+3 => PICTURE du BOUTTON de Fermeture
' nf%+4 => ALPHA contenant le TITRE dans le BANDAU (caption_bandau$)
' nf%+5 => PICTURE sous le BANDAU
no%=np%:' initialisation numéro d'objet

' ====================== OBJETS DE FORM 100 etc... =============================
' no%=no%+1:Objet no%

on_click nf%+3,abandon_form100

' ============================== CREATION de FORM 200 ==========================
' ICI copier/coller ligne 15 à 24 et renseigner les variables
' nf%=200 etc.......

' ===================================== avant END ==============================
' ici display,wait ou dlist etc.....
END
' ==============================================================================
' ici écrire le code
abandon_form100:
hide nf%:hide nf2%
show 0
return

' ==============================================================================
cre_form:
if hb<34 then message " La variable hb doit être > 33":terminate
if df0<4 then message " La variable df0 doit être > 3":terminate
form nf%:width nf%,wnf%:height nf%,hnf%:command_target_is nf%
gosub position_form:color nf%,225,225,225: ' Couleur du dépacement
border_hide nf%:inactive nf%
' Form de travail
nf2%=nf%+1:form nf2%:width nf2%,width(nf%)-(df0*2):height nf2%,height(nf%)-(df0*2)
top nf2%,top(nf%)+df0:left nf2%,left(nf%)+df0
color nf2%,rf,gf,bf:border_hide nf2%:command_target_is nf2%
' bandau
np%=nf2%+1:picture np%:width np%,width(nf2%):height np%,hb:top np%,0:left np%,0
2d_target_is np%
2d_pen_width epe:2d_pen_color rp,gp,bp
2d_fill_color rb,gb,bb
2d_rectangle epe,epe,width(np%)-int(epe/2),height(np%)-int(epe/2)
' bouton
np%=np%+1:picture np%:width np%,26:height np%,26:top np%,top(np%-1)+(epe*2):left np%,width(np%-1)-(26+epe)
color np%,rp,gp,bp:' file_load np%,"croixrouge2.bmp"
' titre
np%=np%+1:alpha np%::top np%,int(hb/2)-8:left np%,((epe*2)*2):caption np%,caption_bandau$
color np%,rb,gb,bb:font_name np%,font_titre$:font_color np%,rt,gt,bt
' Picture_sous_bandau
np%=np%+1:picture np%:width np%,width(nf2%):height np%,height(nf2%)-(epe+hb)
top np%,hb:left np%,0
2d_target_is np%
2d_pen_width epe:2d_pen_color rp,gp,bp
2d_fill_color rf,gf,bf
2d_rectangle epe,epe,width(np%),height(np%)
return
' ==============================================================================
position_form:
if pdf$="HG" then left nf%,0:top nf%,0
if pdf$="HC" then left nf%,int(xe/2)-int(width(nf%)/2):top nf%,0
if pdf$="HD" then left nf%,xe-width(nf%):top nf%,0
if pdf$="BG" then left nf%,0:top nf%,ye-height(nf%)
if pdf$="BC" then left nf%,int(xe/2)-int(width(nf%)/2):top nf%,ye-height(nf%)
if pdf$="BD" then left nf%,xe-width(nf%):top nf%,ye-height(nf%)
if pdf$="CG" then left nf%,0:top nf%,int(ye/2)-int(height(nf%)/2)
if pdf$="CC" then left nf%,int(xe/2)-int(width(nf%)/2):top nf%,int(ye/2)-int(height(nf%)/2)
if pdf$="CD" then left nf%,xe-width(nf%):top nf%,int(ye/2)-int(height(nf%)/2)
if pdf$="DM" then left nf%,lnf%:top nf%,tnf%
if pdf$="" then message "La variable pdf$ doit être renseigné":terminate
return

fin:
terminate

à vous de jouer


Dernière édition par Jean Claude le Ven 16 Juil 2010 - 15:29, édité 1 fois
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Form Automatique Empty
MessageSujet: Re: Form Automatique   Form Automatique EmptyVen 16 Juil 2010 - 13:55

J'ai modifié la ligne 71 par
Code:
np%=np%+1:picture np%:width np%,26:height np%,26:top np%,top(np%-1)+(epe*2):left np%,width(np%-1)-(26+epe)
Le calcul de TOP est plus correct.
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Form Automatique Empty
MessageSujet: Re: Form Automatique   Form Automatique EmptyVen 16 Juil 2010 - 14:46

il est temps que je vous donne quelques précisions:

1) l'intérêt premier de ce code est de fabriquer autant de FORM de 100 en 100 que l'on veut sans se soucier de gerer les encadrements, par Copier/Coller et en renseignant les différentes variables de gestion du FORM.

2) le deuxième intérêt (non négligeable) c'est de controler la sortie du Form via un LABEL abandon_form100 ou 200 ou 300 etc...

3) La bordure extérieur a pour but de séparer le Form du fond de l'écran (vous pouvez en changer la couleur ligne 58, vous pouvez aussi lui adjoindre un ON_CLICK 0,fin).

4) Vous colorez le form et le bandeau comme çà vous chante et vous choisissez l'icone de bouton de sortie que vous voulez. Et vous pouvez agrandir le HEIGHT du bandau si votre boutton est trop grand (le Picture du dessous suit le mouvement).

5) il n'y a pas de "vrai Button" (qui sont vilains) mais un Picture qui sert de bouton. Vous pouvez continuer de cette façon en ajoutant d'autres icones dans des picture(s).

6) vous redimensionnez chaque nouveau Form comme çà vous chante.

7) Vous disposez d'une variable pdf$(Position Du Form) qui est renseigné par 2 lettres (Ex: "CC" => Centré/Centré ou "HG" => Haut/Gauche etc... et "DM" pour définition manuelle de la position). Voir les lignes 85 à 97 pour toutes les options.

8 ) FORM 0 est hider mais peut être utilisé (par exemple pour un MAIN_MENU).

9) les numéros d'Objets de 1 à 99 sont disponiblles.

10) COMMAND_TARGET est automatiquement orienté sur le FORM de travail.

11) La création d'objets doit se faire par no%=no%+1 (numérotation automatique)
CA VA FAIRE PLAISIR à PAPY35.

Maintenant, par rapport à mes essais précédents, il n'y a plus d'éffacement intempestif des encadrements ou du titre (même si on utilise HINT sur le boutton de sortie)

Dommage que l'on ne peut pas insérer un MAIN_MENU dans ce système sans quil soit au dessus du bandau, mais on peut toujours ajouter une barre de boutons sous forme de "vrai bouton" ou de Picture remplie avec une icone, ou des Alpha(s)

Voilà à ce à quoi j'ai pensé pour que vous voyiez l'intérêt de cette façon de faire.

Je suis ouvert à vos critiques (et surtout à vos compliments)

sunny Very Happy sunny Very Happy sunny
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

Form Automatique Empty
MessageSujet: Re: Form Automatique   Form Automatique EmptyVen 16 Juil 2010 - 15:02

Hello Jean-Claude,

Il y a un truc que je ne comprend pas dans ton programme c'est la création du form nf%... A quoi sert-il ?

Il est crée, modifié en taille et en position puis il est caché et désactivé...
scratch
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Form Automatique Empty
MessageSujet: Re: Form Automatique   Form Automatique EmptyVen 16 Juil 2010 - 15:22

Oui normal, c'est celui qui sert de bordure extérieur.
Tu peux le réactiver et y ajouter un on_click,fin pour sortir par la bordure (Pourqoi ? bof)
Cette bordure a pour but de séparer le "faux-form" de l'image de fond d'écran surtout si tu dimensionne petit.
Important: c'est les dimensions de ce FORM nf% qui détermine automatiquement tout ce qui suit (d'ou l'intérêt du code)
A+
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Form Automatique Empty
MessageSujet: Re: Form Automatique   Form Automatique EmptyVen 16 Juil 2010 - 15:30

J'ai fait une retouche sans gravité ligne 56... (Une erreur dans le caption d'un message)
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5948
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Form Automatique Empty
MessageSujet: Re: Form Automatique   Form Automatique EmptyVen 16 Juil 2010 - 16:43

Voici une nouvelle version avec un LOGO à gauche du bandau et un centrage automatique du texte du bandau.
Et j'ai regroupé le chargement des images (icones) ligne 40 et 41 pour que vous puissiez les shunter ou y mettre vos images (préalablement redimensionnée à 25x25, à moins d'agrandir le HEIGHT du bandau avec le variable hb)

Code:
dim xe,ye
xe=screen_x:' largeur écran
ye=screen_y:' hauteur écran

' les 3 lignes ci_dessous sont réservé pour la construction des Forms
dim nf%,nf2%,no%,wnf%,hnf%,lnf%,tnf%,rp,gp,bp,df0,rf,gf,bf,np%,hb,rb,gb,bb,epe,rt,gt,bt,lcb
dim caption_bandau$,pdf$,font_titre$
label cre_form,position_form

' ici vos DIM et LABEL
label abandon_form100,fin

' =====================================  FORM 0  ===============================
hide 0

' ============================== CREATION de FORM 100 ==========================
nf%=100:wnf%=500:hnf%=500:' dimensions du form
pdf$="CC": ' Position du Form sur l'écran (voir LABEL position_form pour les options)
df0=4:' Epaisseur du dépacement extérieur du Form nf%
rf=180:gf=235:bf=255:' Couleur_remplissage du PICTURE sous le bandau
rp=0:gp=0:bp=255:' Couleur du PEN
epe=2:' épaisseur du PEN
hb=34:' Hauteur du bandau
rb=0:gb=200:bb=200:' couleur remplissage du Bandau
caption_bandau$="FORM 100 *************":font_titre$="fixedsys":rt=0:gt=0:bt=255:' Titre du bandeau (police et couleur de l'ALPHA)
gosub cre_form

' ============== Récap des numéros d'objets système utilisés ===================
' nf%+1 => FORM de TRAVAIL ayant command_target_is
' nf%+2 => PICTURE du BANDAU
' nf%+3 => PICTURE du BOUTTON de Fermeture
' nf%+4 => PICTURE du LOGO
' nf%+5 => ALPHA contenant le TITRE dans le BANDAU (caption_bandau$)
' nf%+6 => PICTURE sous le BANDAU
no%=np%:' initialisation numéro d'objet

' ====================== OBJETS DE FORM 100 etc... =============================
' no%=no%+1:Objet no%

file_load nf%+3,"croixrouge2.bmp"
file_load nf%+4,"logo2.bmp"
on_click nf%+3,abandon_form100

' ============================== CREATION de FORM 200 ==========================
' ICI copier/coller ligne 15 à 24 et renseigner les variables
' nf%=200 etc.......

' ===================================== avant END ==============================
' ici display,wait ou dlist etc.....
END
' ==============================================================================
' ici écrire le code
abandon_form100:
hide nf%:hide nf2%
show 0
return

' ==============================================================================
cre_form:
if hb<34 then message " La variable hb doit être > 33":terminate
if df0<4 then message " La variable df0 doit être > 3":terminate
form nf%:width nf%,wnf%:height nf%,hnf%:command_target_is nf%
gosub position_form:color nf%,225,225,225:' Couleur du Form dépassant
border_hide nf%:inactive nf%
' Form de travail
nf2%=nf%+1:form nf2%:width nf2%,width(nf%)-(df0*2):height nf2%,height(nf%)-(df0*2)
top nf2%,top(nf%)+df0:left nf2%,left(nf%)+df0
color nf2%,rf,gf,bf:border_hide nf2%:command_target_is nf2%
' bandau
np%=nf2%+1:picture np%:width np%,width(nf2%):height np%,hb:top np%,0:left np%,0
2d_target_is np%:2d_pen_width epe:2d_pen_color rp,gp,bp:2d_fill_color rb,gb,bb
2d_rectangle epe,epe,width(np%)-int(epe/2),height(np%)-int(epe/2)
' bouton
np%=np%+1:picture np%:width np%,26:height np%,26:top np%,top(np%-1)+(epe*2):left np%,width(np%-1)-(26+epe)
color np%,rp,gp,bp
' logo
np%=np%+1:picture np%:width np%,26:height np%,26:top np%,top(np%-1):left np%,(epe*2)
color np%,rb,gb,bb
' titre
lcb=len(caption_bandau$)*4
np%=np%+1:alpha np%:top np%,int(hb/2)-8:left np%,int(width(nf2%)/2)-lcb:caption np%,caption_bandau$
color np%,rb,gb,bb:font_name np%,font_titre$:font_color np%,rt,gt,bt
' Picture_sous_bandau
np%=np%+1:picture np%:width np%,width(nf2%):height np%,height(nf2%)-(epe+hb)
top np%,hb:left np%,0
2d_target_is np%:2d_pen_width epe:2d_pen_color rp,gp,bp:2d_fill_color rf,gf,bf
2d_rectangle epe,epe,width(np%),height(np%)
return
' ==============================================================================
position_form:
if pdf$="HG" then left nf%,0:top nf%,0
if pdf$="HC" then left nf%,int(xe/2)-int(width(nf%)/2):top nf%,0
if pdf$="HD" then left nf%,xe-width(nf%):top nf%,0
if pdf$="BG" then left nf%,0:top nf%,ye-height(nf%)
if pdf$="BC" then left nf%,int(xe/2)-int(width(nf%)/2):top nf%,ye-height(nf%)
if pdf$="BD" then left nf%,xe-width(nf%):top nf%,ye-height(nf%)
if pdf$="CG" then left nf%,0:top nf%,int(ye/2)-int(height(nf%)/2)
if pdf$="CC" then left nf%,int(xe/2)-int(width(nf%)/2):top nf%,int(ye/2)-int(height(nf%)/2)
if pdf$="CD" then left nf%,xe-width(nf%):top nf%,int(ye/2)-int(height(nf%)/2)
if pdf$="DM" then left nf%,lnf%:top nf%,tnf%
if pdf$="" then message "La variable pdf$ doit être renseigné":terminate
return

fin:
terminate
A+
Revenir en haut Aller en bas
Contenu sponsorisé





Form Automatique Empty
MessageSujet: Re: Form Automatique   Form Automatique Empty

Revenir en haut Aller en bas
 
Form Automatique
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Automatique
» enregistrement automatique
» Clic souris répétitif automatique
» AUTOMENU ou le codage automatique de menus
» Utilitaire automatique de distribution de KGF.dll (ou autre)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: