FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» COMPILATEUR V 0.9 beta 7 du 10 aout 2017
par Yannick Aujourd'hui à 1:58

» Pb 17 (en analyse): ITEM_SELECT ne fonctionne pas
par Jack Hier à 19:26

» Compilateur FBPano
par Mike Hier à 13:52

» un nouveau editeur panobasic
par Jean Claude Hier à 10:18

» Le compilateur.
par Pedro Alvarez Hier à 8:36

» Pb 16 (en analyse): ON_CLOSE plante à l'exécution
par Jack Mer 16 Aoû 2017 - 20:00

» Pb 15 (en analyse): TIMER_ON plante à l'exécution
par Jack Mer 16 Aoû 2017 - 19:58

» KGF_dll - nouvelles versions
par Yannick Dim 13 Aoû 2017 - 17:35

» probleme d'outil
par Yannick Dim 13 Aoû 2017 - 17:32

» Carte de France des régions
par Yannick Sam 12 Aoû 2017 - 21:33

» Pb 14 (en analyse): PRINT_LOCATE plante à l'exécution
par Jack Ven 11 Aoû 2017 - 22:37

» Petit avertissement [Mots réservés]
par papydall Ven 11 Aoû 2017 - 13:45

» Distances sur plan
par JL35 Jeu 10 Aoû 2017 - 21:29

» Tracé : Triangle, Carrée, Dents de scie, Sinusoïde redressée
par papydall Jeu 10 Aoû 2017 - 14:52

» Troncature dans une image
par JL35 Mer 9 Aoû 2017 - 13:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 évènements et objets système : listage automatique

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
silverman

avatar

Nombre de messages : 464
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: évènements et objets système : listage automatique   Ven 19 Mai 2017 - 3:02

Bonjour à tous

Il s'agit de la même liste que celle du menu aide->évènements, mais plus complète et généré par programmation! Cool
Les numéros avant les objets correspondent à leur 'object_type()'; voyez l'anomalie du numéro 28 Very Happy
Code:
' Panoramic 0.9.28i6

'  ==============================================================
'  =  Title  :
'  =
'  =  Author : Silverman
'  =
'  =  Date  : Mai 2017
'  =
'  =  Version: 1.0
'  ==============================================================
'  Comments  : Vérifie et affiche l'ensemble des évènements
'            : associés à tous les objets
'  ==============================================================

 label trait_error , on_continu
 dim typ%,obj%,i,l,c

 hide 0 : full_space 0


'
 on_error_goto trait_error
 TEST_EVENT(0,26) :' initialisation tableau
 MAKE_OBJECT_FROM_TYPE(26,26) : delete 26 :' initialisation tableau


' fabrique une grille pour inscrire les résultats
 grid 5 : parent 5,0 : full_space 5 : font_bold 5 : color 5,239,239,239
 grid_column 5,16 : grid_one_column_width 5,1,160
 grid_row 5,50
 ' écrire les évènements
 for i=1 to 15
    grid_write 5,1,i+1," "+EVENT_NAME$(i) : grid_one_column_width 5,i+1,9*len(EVENT_NAME$(i))+9
 next i
 ' écrire les objets
 for i = 1 to 49
    grid_write 5,i+1,1,str$(i)+" : "+OBJECT_TYPE_NAME$(i)
 next i



' teste tous les objets...
 obj%=10
 for typ%=1 to 49
  MAKE_OBJECT_FROM_TYPE(typ%,obj%) :' ...selon leur type...
  '
  if OBJECT_TYPE_NAME$(typ%)<>"_"  :' ...excepté les types non défini
      for c=1 to 15
        TEST_EVENT(c,obj%)        :' teste tous les évènements de panoramic
        on_continu:
        fill_grid(typ%,c,result)  :' remplir la grille
      next c
      delete obj%
  end_if
 next typ%



 show 0
 off_error_goto

END
' ####################################################################################################
' TRAITEMENT D'ERREUR
'
trait_error:
  result=0
  goto on_continu


' ####################################################################################################
' SUBS
'
' remplir la grille
sub fill_grid(l,c,test)
  if test=0
      ' grid_write 5,l+1,c+1,"debug"
  else
      grid_write 5,l+1,c+1,"      X"
  end_if
end_sub



' fabriquer un objet selon son type
sub MAKE_OBJECT_FROM_TYPE(typ%,obj%)
  if variable("OBJECT_TYPE_NAME$")=0
      dim OBJECT_TYPE_NAME$(50)
      dim OBJECT_TYPE_HANDLE(50) : ' Ce tableau n'est pas utilisé dans ce code source
      ' 0=néant / 1=handle / 2=handle_canvas / 4=handle_form / 8=objet non-visible / 16=objet non-déplaçable; Un objet peut avoir plusieurs propriétés(sommation)
      OBJECT_TYPE_NAME$(0)="MAIN_FORM" : OBJECT_TYPE_HANDLE(0)=7
      OBJECT_TYPE_NAME$(1)="SCENE3D" : OBJECT_TYPE_HANDLE(1)=1
      OBJECT_TYPE_NAME$(2)="BUTTON" : OBJECT_TYPE_HANDLE(2)=1
      OBJECT_TYPE_NAME$(3)="EDIT" : OBJECT_TYPE_HANDLE(3)=1
      OBJECT_TYPE_NAME$(4)="MEMO" : OBJECT_TYPE_HANDLE(4)=1
      OBJECT_TYPE_NAME$(5)="COMBO" : OBJECT_TYPE_HANDLE(5)=3
      OBJECT_TYPE_NAME$(6)="ALPHA" : OBJECT_TYPE_HANDLE(6)=2
      OBJECT_TYPE_NAME$(7)="FORM" : OBJECT_TYPE_HANDLE(7)=7
      OBJECT_TYPE_NAME$(8)="LIST" : OBJECT_TYPE_HANDLE(8)=3
      OBJECT_TYPE_NAME$(9)="PICTURE" : OBJECT_TYPE_HANDLE(9)=2
      OBJECT_TYPE_NAME$(10)="CHECK" : OBJECT_TYPE_HANDLE(10)=1
      OBJECT_TYPE_NAME$(11)="OPTION" : OBJECT_TYPE_HANDLE(11)=1
      OBJECT_TYPE_NAME$(12)="MAIN_MENU" : OBJECT_TYPE_HANDLE(12)=25
      OBJECT_TYPE_NAME$(13)="SUB_MENU" : OBJECT_TYPE_HANDLE(13)=25  :' doit être associé à 'main_menu' pour être visible
      OBJECT_TYPE_NAME$(14)="SOUND" : OBJECT_TYPE_HANDLE(14)=25
      OBJECT_TYPE_NAME$(15)="MOVIE" : OBJECT_TYPE_HANDLE(15)=1
      OBJECT_TYPE_NAME$(16)="TRACK_BAR" : OBJECT_TYPE_HANDLE(16)=1
      OBJECT_TYPE_NAME$(17)="OPEN_DIALOG" : OBJECT_TYPE_HANDLE(17)=25
      OBJECT_TYPE_NAME$(18)="SAVE_DIALOG" : OBJECT_TYPE_HANDLE(18)=25
      OBJECT_TYPE_NAME$(19)="SCROLL_BAR" : OBJECT_TYPE_HANDLE(19)=1
      OBJECT_TYPE_NAME$(20)="PROGRESS_BAR" : OBJECT_TYPE_HANDLE(20)=1
      OBJECT_TYPE_NAME$(21)="SPIN" : OBJECT_TYPE_HANDLE(21)=1
      OBJECT_TYPE_NAME$(22)="GRID" : OBJECT_TYPE_HANDLE(22)=3
      OBJECT_TYPE_NAME$(23)="CONTAINER" : OBJECT_TYPE_HANDLE(23)=1
      OBJECT_TYPE_NAME$(24)="MEMO_RICH" : OBJECT_TYPE_HANDLE(24)=0
      OBJECT_TYPE_NAME$(25)="_" : OBJECT_TYPE_HANDLE(25)=0
      OBJECT_TYPE_NAME$(26)="DLIST" : OBJECT_TYPE_HANDLE(26)=24
      OBJECT_TYPE_NAME$(27)="SCENE2D" : OBJECT_TYPE_HANDLE(27)=1
      OBJECT_TYPE_NAME$(28)="TIMER" : OBJECT_TYPE_HANDLE(28)=24
      OBJECT_TYPE_NAME$(29)="PANEL" : OBJECT_TYPE_HANDLE(29)=1
      OBJECT_TYPE_NAME$(30)="_" : OBJECT_TYPE_HANDLE(30)=0
      OBJECT_TYPE_NAME$(31)="MAIN_MENU_POP" : OBJECT_TYPE_HANDLE(31)=0
      OBJECT_TYPE_NAME$(32)="CONTAINER_OPTION" : OBJECT_TYPE_HANDLE(32)=1
      OBJECT_TYPE_NAME$(33)="_" : OBJECT_TYPE_HANDLE(33)=0
      OBJECT_TYPE_NAME$(34)="_" : OBJECT_TYPE_HANDLE(34)=0
      OBJECT_TYPE_NAME$(35)="SHAPE" : OBJECT_TYPE_HANDLE(35)=0
      OBJECT_TYPE_NAME$(36)="HVIEWER" : OBJECT_TYPE_HANDLE(36)=1
      OBJECT_TYPE_NAME$(37)="_" : OBJECT_TYPE_HANDLE(37)=0
      OBJECT_TYPE_NAME$(38)="LED1" : OBJECT_TYPE_HANDLE(38)=0
      OBJECT_TYPE_NAME$(39)="DIGIT1" : OBJECT_TYPE_HANDLE(39)=0
      OBJECT_TYPE_NAME$(40)="SWITCH1" : OBJECT_TYPE_HANDLE(40)=0
      OBJECT_TYPE_NAME$(41)="IMAGE" : OBJECT_TYPE_HANDLE(41)=8  :' Pourquoi 'image' est déplaçable? bug?
      OBJECT_TYPE_NAME$(42)="CONTAINER_TAB" : OBJECT_TYPE_HANDLE(42)=1
      OBJECT_TYPE_NAME$(43)="TAB" : OBJECT_TYPE_HANDLE(43)=9  :' doit être associé à 'container_tab' pour être visible / Pourquoi 'tab' est déplaçable? bug?
      OBJECT_TYPE_NAME$(44)="_" : OBJECT_TYPE_HANDLE(44)=0
      OBJECT_TYPE_NAME$(45)="_" : OBJECT_TYPE_HANDLE(45)=0
      OBJECT_TYPE_NAME$(46)="SYNEDIT" : OBJECT_TYPE_HANDLE(46)=0
      OBJECT_TYPE_NAME$(47)="CHART" : OBJECT_TYPE_HANDLE(47)=0
      OBJECT_TYPE_NAME$(48)="_" : OBJECT_TYPE_HANDLE(48)=0
      OBJECT_TYPE_NAME$(49)="_" : OBJECT_TYPE_HANDLE(49)=0
  end_if
  '
  select typ%
      case 0
      case 1 : scene3d obj%
      case 2 : button obj%
      case 3 : edit obj%
      case 4 : memo obj%
      case 5 : combo obj%
      case 6 : alpha obj%
      case 7 : form obj%
      case 8 : list obj%
      case 9 : picture obj%
      case 10: check obj%
      case 11: option obj%
      case 12: main_menu obj%
      case 13: sub_menu obj%
      case 14: sound obj%
      case 15: movie obj%
      case 16: track_bar obj%
      case 17: open_dialog obj%
      case 18: save_dialog obj%
      case 19: scroll_bar obj%
      case 20: progress_bar obj%
      case 21: spin obj%
      case 22: grid obj%
      case 23: container  obj%
      case 24: memo_rich obj%
      case 25
      case 26: dlist obj%
      case 27: scene2d obj%
      case 28: timer obj%
      case 29: panel obj%
      case 30
      case 31: main_menu_pop obj%
      case 32: container_option obj%
      case 33
      case 34
      case 35: shape obj%
      case 36: hviewer obj%
      case 37
      case 38: led1 obj%
      case 39: digit1 obj%
      case 40: switch1 obj%
      case 41: image obj%
      case 42: container_tab obj%
      case 43: tab obj%
      case 44
      case 45
      case 46: synedit obj%
      case 47: chart obj%
      case 48
      case 49
  end_select
end_sub



' tester les évènements
sub TEST_EVENT(nb%,obj%)
  if variable("EVENT_NAME$")=0
      dim EVENT_NAME$(15)
      EVENT_NAME$(1)="ON_ACTIVATE"
      EVENT_NAME$(2)="ON_CHANGE"
      EVENT_NAME$(3)="ON_CLICK"
      EVENT_NAME$(4)="ON_CLOSE"
      EVENT_NAME$(5)="ON_DOUBLE_CLICK"
      EVENT_NAME$(6)="ON_KEY_DOWN"
      EVENT_NAME$(7)="ON_KEY_UP"
      EVENT_NAME$(8)="ON_MOUSE_DOWN"
      EVENT_NAME$(9)="ON_MOUSE_MOVE"
      EVENT_NAME$(10)="ON_MOUSE_UP"
      EVENT_NAME$(11)="ON_MOVE"
      EVENT_NAME$(12)="ON_RESIZE"
      EVENT_NAME$(13)="ON_SHOW"
      EVENT_NAME$(14)="ON_TIMER"
      EVENT_NAME$(15)="ON_USER_EVENT"
      if label("null_event")=0 then label null_event
      dim result
      dim check_event_nb
  end_if
  '
  if nb%>0
      result=1
      select nb%
        case 1: check_event_nb=1  : on_activate obj%,null_event    : off_activate obj%
        case 2: check_event_nb=2  : on_change obj%,null_event      : off_change obj%
        case 3: check_event_nb=3  : on_click obj%,null_event        : off_click obj%
        case 4: check_event_nb=4  : on_close obj%,null_event        : off_close obj%
        case 5: check_event_nb=5  : on_double_click obj%,null_event : off_double_click obj%
        case 6: check_event_nb=6  : on_key_down obj%,null_event    : off_key_down obj%
        case 7: check_event_nb=7  : on_key_up obj%,null_event      : off_key_up obj%
        case 8: check_event_nb=8  : on_mouse_down obj%,null_event  : off_mouse_down obj%
        case 9: check_event_nb=9  : on_mouse_move obj%,null_event  : off_mouse_move obj%
        case 10: check_event_nb=10 : on_mouse_up obj%,null_event    : off_mouse_up obj%
        case 11: check_event_nb=11 : on_move obj%,null_event        : off_move obj%
        case 12: check_event_nb=12 : on_resize obj%,null_event      : off_resize obj%
        case 13: check_event_nb=13 : on_show obj%,null_event        : off_show obj%
        case 14: check_event_nb=14 : on_timer obj%,null_event        : timer_off obj%
        case 15: check_event_nb=15 : on_user_event obj%,null_event  : off_user_event obj%
      end_select
  end_if
  exit_sub
  '
  null_event:
  return
end_sub

EDIT : réorganisé le code


Dernière édition par silverman le Ven 19 Mai 2017 - 12:48, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

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

MessageSujet: Re: évènements et objets système : listage automatique   Ven 19 Mai 2017 - 9:13

Si j'ai bien compris, ce code est un vérificateur d’événements par objet ?

Le cas du timer (28) montre qu'il supporte On_Click Question Question

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
silverman

avatar

Nombre de messages : 464
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: Re: évènements et objets système : listage automatique   Ven 19 Mai 2017 - 12:59

Jean Claude a écrit:
Si j'ai bien compris, ce code est un vérificateur d’événements par objet ?
En effet, c'est une mise à jour du tableau présent dans l'aide. Le 'SPIN' par exemple, supporte l'évènement 'ON_CHANGE' alors que cela n'est pas encore signalé dans l'aide de panoramic.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: évènements et objets système : listage automatique   

Revenir en haut Aller en bas
 
évènements et objets système : listage automatique
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Démarrage rapide-Etape5:Contrôle automatique des trains
» [Points] Gestion des points, options defalcation automatique....
» Système de up de topic automatique
» [Résolu] pble multiples avec avira
» Mon PC se connécte pas automatique a la wifi

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