FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

D騅eloppement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Plan騁arium virtuel.
par Pedro Alvarez Hier 16:57

» Roues dent馥s
par jean_debord Hier 10:40

» Attention arnaque !
par mindstorm Jeu 19 Juil 2018 - 19:18

» Qui fait quoi ?
par silverman Mer 18 Juil 2018 - 15:21

» ITEM_SELECT N,L pour synedit
par silverman Mer 18 Juil 2018 - 15:20

» Boussole
par jean_debord Mer 18 Juil 2018 - 11:06

» Roue n faces
par Marc Dim 15 Juil 2018 - 22:16

» Exemple d'une nouvelle version d'un GRID
par Jean Claude Ven 13 Juil 2018 - 10:32

» Une simple question
par Oscaribout Sam 7 Juil 2018 - 23:20

» BUG sur l'objet TAB
par Jack Sam 7 Juil 2018 - 21:12

» Monopoly moderne
par jjn4 Sam 7 Juil 2018 - 15:06

» R馗apitulatif ludoth鑷ue panoramic jjn4
par jjn4 Ven 6 Juil 2018 - 17:41

» Lignes ondul馥s
par JL35 Ven 6 Juil 2018 - 17:39

» bug off_activate 0 : sans d'effet
par silverman Ven 6 Juil 2018 - 13:02

» Position des objets d'un conteneur dans FBPano et Panoramic
par Navigateur Ven 6 Juil 2018 - 12:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

R駸ultats par :
 
Rechercher Recherche avanc馥
Juillet 2018
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 A l段ntention des nouveaux et qui viennent d置n autre BASIC

Aller en bas 
AuteurMessage
papydall

avatar

Nombre de messages : 5980
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: A l段ntention des nouveaux et qui viennent d置n autre BASIC   Ven 1 Mai 2015 - 19:48

Tout est dans le titre.
Tout est dans le code.

Code:

rem ============================================================================
rem Programmation 騅駭ementielle
rem Exemple de code
rem Par Papydall
rem ============================================================================
rem Contrairement la programmation s駲uentielle, la programmation 騅駭ementielle
rem est fond馥 sur des 騅駭ements pouvant se produire.
rem Ces 騅駭ements peuvent correspondre une action de l utilisateur :
rem un click sur un bouton, une 馗riture dans une zone de texte, un choix dans
rem une case d option ou une case cocher, etc.
rem Le programme sera articul autour de trois sections :
rem La premi鑽e section d馗lare et initialise les constantes,les variables, etc.
rem Elle peut aussi d馭inir les objets (FORM, BUTTON, etc.) utilis駸 dans le
rem programme ou bien les d馭inir dans une proc馘ure part, par exemple dans
rem SUB GUI() selon l importance du programme.
rem GUI : Graphic User Interface
rem La seconde section d騁ecte les 騅駭ements.
rem La troisi鑪e section g鑽e ces 騅駭ements.
rem Les 騅駭ements sont capt駸 par le syst鑪e d exploitation, sont mis en file
rem d attente ce qui signifie que les 騅駭ements sont s駲uentialis駸.
rem Ils sont ensuite pris en charge par la boucle de gestion des 騅駭ements.
rem La boucle de gestion des 騅駭ements prend le premier 騅駭ement traiter
rem dans la file et le traite.
rem Le traitement consiste en l ex馗ution des proc馘ures 騅駭ement associ馥s
rem celui-ci si il en existe.
rem Par exemple, le d馗lenchement de l 騅駭ement click sur un bouton quitter
rem doit terminer le programme, le choix d un 駘駑ent dans un menu doit d馗lencher
rem certaines op駻ations, etc.
rem ============================================================================
rem Ce programme est un simple visualiseur d images contenues dans un dossier
rem quelconque.
rem Au 1er lancement, le programme ouvre l explorateur Window dans le r駱ertoire
rem en cours o vous pouvez choisir une image visualiser.
rem Si votre choix se fait dans un autre r駱ertoire, au prochain lancement du
rem programme, c est cet autre r駱ertoire qui sera ouvert.
rem Le code suivant est constitu de deux parties :
rem 1) Le programme principal qui contient :
rem Une section D馗laration
rem Une section D馭inition des objets et des 騅駭ements
rem 2) La gestion des 騅駭ements qui aiguille le programme vers les proc馘ures
rem ad駲uates. Dans cet exemple, on a deux proc馘ures :
rem SUB Afficher_Image()
rem SUB Quitter_Programme()
rem ============================================================================
' Programme principal
' D馗larations : cette section se limite la d馗laration d'un simple LABEL
' Le programme ne n馗essite pas de variales globales d馗larer.
label Gestion_click
' D馗laration et Description des objets
' Fen黎re principale du programme : FORM 0
left 0, 300 : top 0, 200 : width 0, screen_x/2 : height 0, screen_y/2 + 100
color 0, 50,180,150 : caption 0, "Visualisation d'images"
' ------------------------------------------------------------------------------
' Boutton pour charger une image
button 10 : left 10, 80 : top 10, 50 : width 10, 150 : caption 10, "Charger image"
font_bold 10 : ' style "gras"
on_click 10, Gestion_click : ' On d馗lare l'騅駭ement sur cet objet
  ' quand l'utilisateur clique sur ce boutton,
  ' 軋 d馗lenche l'騅駭ement Gestion_Click
' ------------------------------------------------------------------------------
' Bouton pour quitter le programme
button 20 : left 20, width(10) +left(10) +20 : top 20, 50 : width 20, 150
font_bold 20 : caption 20, "Quitter"
on_click 20, Gestion_click : ' On d馗lare l'騅駭ement sur cet objet
  ' quand l'utilisateur clique sur ce boutton,
  ' 軋 d馗lenche l'騅駭ement Gestion_Click
' ------------------------------------------------------------------------------
' D馗laration de l'objet PICTURE
picture 30 : stretch_on 30 : ' redimensionner l'image visualis馥 par l'objet
  ' PICTURE la forme de cet objet
left 30, 50 : top 30, 100 : width 30, width(0)/2 : height 30, width(0)/2
' ------------------------------------------------------------------------------
' D馗laration de l'objet OPEN_DIALOG
open_dialog 40 : ' ouvrir la bote de dialogue pour choisir un nom de fichier
filter 40,"Fichiers images | *.bmp ; *.jpg" : ' filtrer les types de fichier afficher
' ------------------------------------------------------------------------------
end : ' Fin du programme principal
' Cette commande est indispensable ici. Elle a pour rle d'arr黎er le programme
' pour l'emp鹹her d'aller plus loin.
' Cependant, le programme reste actif et continue traiter et r駱ondre aux
' 騅駭ements d馭inis
rem ============================================================================

' Gestion des 騅駭ements
Gestion_click:

 select number_click : ' D騁erminer l'objet cliqu
  case 10 : Afficher_Image() : ' On a cliqu sur l'objet 10 qui est
  ' le bouton Charger_Image, on se branche
  ' sur la proc馘ure Afficher_Image()
 
  case 20 : Quitter_Programme() : ' On a cliqu sur l'objet 20 qui est
  ' le bouton Quitter, on se branche
  ' sur la proc馘ure Quitter_Programme()
 end_select
return : ' Terminer le sous-programme, rendre la main au programme principal
  ' et remet le programme en attente d'騅駭ement
rem ============================================================================
' Proc馘ure pour afficher une image
SUB Afficher_Image()
  dim_local fichier$ : ' Une variable locale, elle n'est visible que dans
  ' cette proc馘ure et sera d騁ruite automatiquement
  ' la sortie de la proc馘ure d馗lench馥 par END_SUB
  fichier$ = file_name$(40) : ' retourner le nom du fichier choisi par l'utilisateur
  if fichier$ <> "_" : ' L'utilisateur a-t-il valid par 'OUVRIR' ?
  file_load 30, fichier$ : ' Si oui, on charge le fichier
  ' si l'utilisateur a cliqu sur 'Annuler, on ne fait rien
  end_if
END_SUB
rem ============================================================================
' Proc馘ure pour quitter le programme
SUB Quitter_Programme()
' On va 黎re prudent et poser une question l'utilisateur pour v駻ifier s'il
' veut effectivement quitter
  if message_confirmation_yes_no("Vous voulez vraiment quitter ce programme ?") = 1
' L'utilisateur a cliqu sur YES la question pos馥 (ou a tapp la touche <ENTER>
' qui est s駘ectionn馥 par d馭aut par le syst鑪e), alors le programme se termine
  terminate : ' arr黎e d馭initivement l'ex馗ution du programme et lib鑽e
  ' la m駑oire. Tous les objets sont d騁ruits.
  ' Le programme n'existe plus en m駑oire et tout s'arr黎e ici
  ' On revient PANORAMIC EDITOR
  end_if
' Si le programme arrive jusqu'ici, c'est que l'utilisateur a cliqu sur NO la
' question pos馥.
' Le traitement de la proc馘ure est fini et on rend la main au sous-programme
' qui a d馗lench cette proc馘ure, c--d Gestion_Clik
END_SUB
rem ============================================================================


PS :
Vous remarquez que je nomme les objets avec des num駻os croissant de 10 en 10 et non de 1 1.
C'est juste pour pouvoir ins駻er d'autres objets si besoin est, mais 軋 n'a aucune influence sur le d駻oulement du programme : une simple habitude.
Ne dit-on pas que "l'habitude est une seconde nature" ? Laughing

Bonne programmation sous PANORAMIC!

EDIT : Les v騁駻ans et les sp馗ialistes de PANORAMIC voudront bien donner leur avis. king
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 1 Mai 2015 - 20:20

Je ne sais pas si je dois me consid駻er comme un v騁駻an...

Juste une petite remarque sur ta fa輟n de d馗larer un message,
je pr馭ere i%=message_warning_ok("mon texte") plutt...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5928
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: A l段ntention des nouveaux et qui viennent d置n autre BASIC   Ven 1 Mai 2015 - 21:42

En tout cas bravo pour l'effort fait pour les commentaires. Ca sent le programme qui va servir pour un article 軋. Enfin je suppose, mais en tout cas bravo pour la peine prise pour les explications dans le source Wink et le programme fonctionne tr鑚 bien
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5980
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: A l段ntention des nouveaux et qui viennent d置n autre BASIC   Ven 1 Mai 2015 - 23:08

Merci ygeronimi.
Merci Jicehel

ygeronimi a 馗rit:
Juste une petite remarque sur ta fa輟n de d馗larer un message,
je pr馭ere i%=message_warning_ok("mon texte") plutt...

Comme tous les chemins m鈩ent Rome, autant prendre le sentier battu ! Laughing

Plus s駻ieusement, j誕i voulu montrer UNE mani鑽e de r馘iger un code (tr鑚 simple) en Panoramic g駻ant des 騅駭ements.
J誕i insist sur la structure du programme qui doit 黎re claire et quelle partie du programme fait quoi.
De cette fa輟n, on oublie (heureusement !) les tests et les branchements qui n弾n finissent pas en rendant le code comme un treillis inextricable.

Mais ta remarque sur le message_warning est tout fait l馮itime. king

Spoiler:
 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Contenu sponsoris




MessageSujet: Re: A l段ntention des nouveaux et qui viennent d置n autre BASIC   

Revenir en haut Aller en bas
 
A l段ntention des nouveaux et qui viennent d置n autre BASIC
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Boutons nouveaux messages
» Bienvenue tous les nouveaux membres
» nouveaux setup
» Article : Le formatage complice des nouveaux blockbusters
» Les nouveaux Forfaits "Sensation" de Bouygues Telecom sont en ligne !

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