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
» Calculatrice
par papydall Hier à 22:54

» EPP_V01 éditeur pour Panoramic
par Minibug Mer 19 Sep 2018 - 21:03

» [RESOLU] Quelle ligne est sélectionnée dans SYNEDIT ?
par Jean Claude Mer 19 Sep 2018 - 21:02

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Mer 19 Sep 2018 - 15:58

» Planétarium virtuel.
par Pedro Alvarez Mer 19 Sep 2018 - 9:28

» Demande pour Jack concernant PanExpress
par Marc Mar 18 Sep 2018 - 23:56

» Petit coucou en passant !
par Minibug Dim 16 Sep 2018 - 15:03

» bug SEVERE fnc+sub : variables globales corrompus
par silverman Dim 16 Sep 2018 - 13:38

» Verrouiller un form en avant plan
par silverman Dim 16 Sep 2018 - 12:50

» Fin de l'aventure.
par Pedro Alvarez Sam 15 Sep 2018 - 18:16

» Demande d'explications Sur File_Write & File_writeln
par Jack Sam 15 Sep 2018 - 17:26

» MEMO avec des possibilités de commande
par Oscaribout Mer 12 Sep 2018 - 1:06

» La théorie du chaos
par jean_debord Mar 11 Sep 2018 - 9:30

» Orbites de l’ensemble de Mandelbrot
par Jean Claude Lun 10 Sep 2018 - 21:08

» Version instantanée V 0.9.29i2 du 4/09/2018
par silverman Mer 5 Sep 2018 - 10:15

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
CalendrierCalendrier

Partagez | 
 

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

Aller en bas 
AuteurMessage
silverman

avatar

Nombre de messages : 675
Age : 46
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: évènements et objets système : listage automatique   Ven 19 Mai 2017 - 2: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.28i12

'  ==============================================================
'  =  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
 alpha 4 : font_bold 4 : hide 4 :' pour obtenir la largeur d'un texte
 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,51 : grid_row_height 5,18
 ' écrire les évènements
 for i=1 to 15
    EVENT_NAME$(i)=" "+EVENT_NAME$(i)+"  "
    grid_write 5,1,i+1,EVENT_NAME$(i) : caption 4,EVENT_NAME$(i) : grid_one_column_width 5,i+1,text_width(EVENT_NAME$(i),4)  :' 9*len(EVENT_NAME$(i))+9
 next i
 ' écrire les objets
 for i = 0 to 49
    grid_write 5,i+2,1,str$(i)+" : "+OBJECT_TYPE_NAME$(i)
 next i



' teste tous les objets...
 obj%=10  :' un numero d'objet pour les tests
 for typ%=0 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
      if object_exists(obj%)=1 then 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,"E_"+str$(error_number)  :' DEBUG
  else
      grid_write 5,l+2,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)="OPEN_DIALOG_PIC" : OBJECT_TYPE_HANDLE(33)=25
      OBJECT_TYPE_NAME$(34)="SAVE_DIALOG_PIC" : OBJECT_TYPE_HANDLE(34)=25
      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 : form obj% :' donne les mêmes résultats que le form 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: open_dialog_pic obj%
      case 34: save_dialog_pic obj%
      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%  :' NB:la commande 'off_show obj%' ne fonctionne pas sur un tab
        case 14: check_event_nb=14 : on_timer obj%,null_event        :' timer_off obj%
        case 15: result=0 : check_event_nb=15 : on_user_event null_event        :' off_user_event obj%  :' impossible d'obtenir un erreur car pas d'objet associé à cet évènement, donc on renvoi 0
      end_select
  end_if
  exit_sub
  '
  null_event:
  return
end_sub

EDIT : réorganisé le code/corrigé un bug/ajout des objets connus jusqu'à la version V028i12


Dernière édition par silverman le Mer 15 Nov 2017 - 19:11, édité 3 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

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

MessageSujet: Re: évènements et objets système : listage automatique   Ven 19 Mai 2017 - 8: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 : 675
Age : 46
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: Re: évènements et objets système : listage automatique   Ven 19 Mai 2017 - 11: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
silverman

avatar

Nombre de messages : 675
Age : 46
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: Re: évènements et objets système : listage automatique   Mer 15 Nov 2017 - 14:33

MAJ de l'outils
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Marc

avatar

Nombre de messages : 865
Age : 57
Localisation : TOURS
Date d'inscription : 17/03/2014

MessageSujet: Re: évènements et objets système : listage automatique   Mer 15 Nov 2017 - 15:25

Bonjour à tous !

Merci Silverman pour ce tableau récapitulatif !

Bien pratique !
On peut le modifier quand on veut, sans attendre la mise à jour de l'aide "officielle".

Quant au cas du TIMER, comme dit Jean-Claude, je ne vois pas comment l'utiliser avec un ON_CLICK.

Encore merci et bonne continuation !


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

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

MessageSujet: Re: évènements et objets système : listage automatique   Mer 15 Nov 2017 - 16:43

Merci Silverman pour cette mise à jour,

Pour éviter à mes collègues Panoramiciens de planter le système: ce code fonctionne avec la version V028i12.

Pourquoi cette précision...? car je l'ai testée avec la V09.27, et ça ne marche pas (normal, car il y a utilisation de nouvelles commande).
J'ai perdu bêtement 1/4 d'heure à chercher ce qui n'allait pas.  Embarassed  drunken

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

avatar

Nombre de messages : 675
Age : 46
Localisation : Picardie
Date d'inscription : 18/03/2015

MessageSujet: Re: évènements et objets système : listage automatique   Mer 15 Nov 2017 - 19:15

@jean-claude
Je ne pensais pas que l'on pouvait encore utiliser des versions aussi anciennes de panoramic! Pb identifié, testé avec la V0927i5--->Tout est ok

C'est corrigé Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

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

MessageSujet: Re: évènements et objets système : listage automatique   Mer 15 Nov 2017 - 20:18

En fait j'utilise la  V09.27  du 24/01/2017 car c'est la dernière version "régulière" dont l'éditeur fonctionne parfaitement.

Je suis conscient qu'il lui manque des nouveautés, mais pour ce que je fais actuellement elle me suffit.

J'ai, sur mon bureau, la V09.28i12 car c'est la dernière version instantanée (donc elle bénéficie des nouveautés), mais l'éditeur n'est pas top à cause du délai d'attente d’exécution du code.  Néanmoins, elle me sert à faire les tests des codes publiés sur le forum, mais ce n'est pas encore un reflex.
Je sais que ça va s'arranger dans les temps futurs, mais tant que mon code peut-être développé avec la V09.27, je préfère la version régulière.

Par contre je ne possède pas  la V0927i5 dont tu parles, si tu pouvais me la déposer sur ton webdev, disons 24h (car ce soir je dois m'absenter), pour que je la récupère, se serais sympa. J'aimerai bien l'explorer...

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

avatar

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

MessageSujet: Re: évènements et objets système : listage automatique   Jeu 16 Nov 2017 - 9:15

@Silverman,
Finalement laisse tomber, j'ai regardé les évolutions des versions dans la rubrique "Ce qui est en cours". Les avancées les plus importantes sont plutôt dans les versions 09.28... , donc je n'ai pas besoin des versions intermédiaires.

A+
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
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Démarrage rapide-Etape5:Contrôle automatique des trains
» Système de up de topic automatique
» [Résolu] pble multiples avec avira
» Mon PC se connécte pas automatique a la wifi
» Resize et compression automatique pour l'envoi par email

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: