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
» Gestion d'un système client-serveur.
number_child(N) Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
number_child(N) Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
number_child(N) Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
number_child(N) Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
number_child(N) Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
number_child(N) Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
number_child(N) Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
number_child(N) Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
number_child(N) Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
number_child(N) Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
number_child(N) Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
number_child(N) Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
number_child(N) Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
number_child(N) Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
number_child(N) Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-39%
Le deal à ne pas rater :
Pack Home Cinéma Magnat Monitor : Ampli DENON AVR-X2800H, Enceinte ...
1190 € 1950 €
Voir le deal

 

 number_child(N)

Aller en bas 
5 participants
AuteurMessage
jjn4

jjn4


Nombre de messages : 2709
Date d'inscription : 13/09/2009

number_child(N) Empty
MessageSujet: number_child(N)   number_child(N) EmptyDim 1 Avr 2018 - 16:12

Je crois que ça n'existe pas et ce serait bien utile.
(Du moins, je viens de tomber sur ce problème en
codant mon futur nouveau jeu). Oh, je vais trouver
un moyen de résoudre le problème sans ça, mais
ce serait plus rapide et élégant d'avoir un :
NUMBER_CHILD(N)
qui permettrait de savoir de combien d'objets-système
l'objet_système N est le parent.
(Histoire d'en rajouter un peu plus à la to-do-list  Laughing )
Qu'en pense le forum ?
scratch


Dernière édition par jjn4 le Lun 2 Avr 2018 - 14:30, édité 2 fois
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Klaus

Klaus


Nombre de messages : 12301
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

number_child(N) Empty
MessageSujet: Re: number_child(N)   number_child(N) EmptyDim 1 Avr 2018 - 21:30

Ca existe, sauf que la fonction s'appelle PARENT(N):
Code:
panel 1
button 2 : parent 2,1
message str$(parent(2))
end
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

number_child(N) Empty
MessageSujet: Re: number_child(N)   number_child(N) EmptyDim 1 Avr 2018 - 21:50

Désolé Klaus mais non ! Moi aussi j'ai failli faire comme toi ! Laughing Laughing Laughing

Ce que tu propose c'est la façon de connaître le PARENT N d'un objet.
Alors que JJN4, lui, cherche a savoir combien il y a d'éléments attachés à l'objet N.
Ce qui est différent !

C'est vrai que cette fonction a existé et à été remplacé par PARENT()
Mais elle retourne le numéro du PARENT d'un objet et non le nombre d'objets rattachés !
Sans rancune... geek
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Klaus

Klaus


Nombre de messages : 12301
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

number_child(N) Empty
MessageSujet: Re: number_child(N)   number_child(N) EmptyDim 1 Avr 2018 - 21:58

Oups... tu as raison, Minibug ! Ca m'apprendra à vouloir distiller des "informations", juste en sortant d'un grand repas de famille !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


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

number_child(N) Empty
MessageSujet: Re: number_child(N)   number_child(N) EmptyDim 1 Avr 2018 - 22:00

Si ça peut servir à quelqu'un (pas forcement à un Martien ! No alien )

Code:

rem ============================================================================
rem                      IsChild(pere,fils)
rem ============================================================================
rem      Détermine si oui ou non l’objet pere est parent de l’objet fils
rem ============================================================================
rem      _________________________________________________
rem     |                                                 |
rem     |  dll_call2("IsChild",handle(pere),handle(fils)) |
rem     |_________________________________________________|
rem
rem     Si le résultat vaut 1, FILS est enfant de PERE
rem     Autrement dit : PERE est PARENT de FILS
rem ============================================================================
' Exemple d'utilisation
dim i
caption 0,"FORM 0"
panel 5 : caption 5,"PANEL 5"
combo 8 : left 8,200 : top 8,20 : text 8,"COMBO 8"
form 10 : top 10,150 : left 10,100 : caption 10,"FORM 10"
for i = 11 to 13
    button i : parent i,10 : top i,50 : left i,10+ (i-11)*100 : caption i,"Bouton "+ str$(i)
next i
' Appels
 IsChild(10,12)  : ' <--- 12 est        fils de 10
 IsChild(0,13)   : ' <--- 13 n'est pas  fils de 0
 IsChild(0,10)   : ' <--- 10 n'est pas  fils de 0
 IsChild(10,11)  : ' <--- 11 est        fils de 10
 IsChild(0,5)    : ' <---  5 est        fils de 0
 IsChild(0,8)    : ' <---  8 est        fils de 0
 IsChild(100,30) : ' <---  Ces objets n'existent pas !
end
rem ============================================================================
SUB IsChild(pere,fils)
    if object_exists(pere) <> 1 or object_exists(fils) <> 1
       message "Les objets " + str$(pere) + " et/ou " + str$(fils) + " n'existent pas !!!" : exit_sub
    end_if
    dll_on "user32"
    if dll_call2("IsChild",handle(pere),handle(fils)) = 1
       message "L'objet : " + str$(fils) + " est un enfant de l'objet : " + str$(pere)
    else
       message "L'objet : " + str$(fils) + " n'est pas un enfant de l'objet : " + str$(pere)
    end_if
    dll_off
END_SUB
rem ============================================================================

EDIT : Bon appétit Klaus!
On vient de se croiser.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


Nombre de messages : 12301
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

number_child(N) Empty
MessageSujet: Re: number_child(N)   number_child(N) EmptyDim 1 Avr 2018 - 22:16

Bon, alors je vais tenter de répondre avec plus de sérieux, cette fois.

Actuellement, en Panoramic pur, on ne peut pas savoir combien d'enfants a un objet Panoramic.

Je pourrais faire une fonction dans KGF.dll retournant le nombre de fenêtres enfant d'un objet Panoramic. Ce n'est pas bien compliqué. Je pourrais même retourner le handle d'une fenêtre enfant dont le numéro est passé en paramètre.

Mais il y a un problème. Ceci ne marche que pour les objets "fenêtrées" de Panoramic. Ce sont ceux qui ont un handle. Mais des objets comme ALPHA ou PICTURE n'ont pas de handle, et je n'ai aucun moyen de détecter s'ils sont enfant d'un certain objet Panoramic ou non.

Conclusion: Seul Jack pourrait fournir une solution à ce problème. C'est un des cas où je ne peux rien faire de valable dans KGF.dll.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

number_child(N) Empty
MessageSujet: Re: number_child(N)   number_child(N) EmptyDim 1 Avr 2018 - 23:01

Voila un petit code qui pourrait répondre à la demande de JJN4.

Mais il y a plusieurs restrictions.
- La première c'est de connaître le numéro le plus grand des objets créés pour pouvoir faire le test de vérification.
- La seconde c'est qu'on ne peut retenir que les objets en parent direct. pas les parents des parents et etc...

voilà les quelques lignes :
Code:
' Test pour connaitre le nombre d'objet rattaché  à un PARENT n%

DIM n% , p% , nb%

BUTTON 1 : PARENT 1,0 : LEFT 1,5 : TOP 1,5
PANEL 4 : PARENT 4,0 : LEFT 4,5 : TOP 4,50
  BUTTON 5 : PARENT 5,4 : LEFT 5,5 : TOP 5,5
  BUTTON 8 : PARENT 8,4 : LEFT 8,100 : TOP 8,5
ALPHA 10 : PARENT 10,0 : LEFT 10,100 : TOP 10,5 : CAPTION 10,"test"

' Test sur les objets jusqu'a 10 àpour trouvé les objets rattachés au parent p%
p%=4
FOR n%=0 TO 10
   IF n%<>p%                                                  : ' si l'objet n'est pas le parent recherché  en continue
      IF OBJECT_EXISTS(n%)=1 AND PARENT(n%)=p% THEN nb%=nb%+1 : ' si l'objet existe et et bien rattaché au parent p%
   END_IF
NEXT n%

MESSAGE "Il y a "+STR$(nb%)+" objet(s) rattaché(s) au parent numéro "+STR$(p%)

END
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

number_child(N) Empty
MessageSujet: Re: number_child(N)   number_child(N) EmptyLun 2 Avr 2018 - 6:54

@jjn4
Si tu veux connaitre le nombre de descendants, c'est plutot NUMBER_CHILD() qu'il faut nommer ta fonction Smile

@klaus
Tu as un peu changé... farao

@minibug
Il y a la possibilité de se passer de la premiere restriction en utilisant la variable number_object. Wink


L'exemple de minibug avec la variable number_object, dans une fnc:
Code:
' Test pour connaitre le nombre d'objet rattaché  à un PARENT n%

DIM n% , p% , nb%

BUTTON 1 : PARENT 1,0 : LEFT 1,15 : TOP 1,5
PANEL 4 : PARENT 4,0 : LEFT 4,5 : TOP 4,50
  BUTTON 5 : PARENT 5,4 : LEFT 5,5 : TOP 5,5
  BUTTON 8 : PARENT 8,4 : LEFT 8,100 : TOP 8,5
ALPHA 10 : PARENT 10,0 : LEFT 10,100 : TOP 10,5 : CAPTION 10,"test"

' Test pour trouver les objets rattachés au parent p%
p%=4
MESSAGE "Il y a "+STR$(NUMBER_CHILD(p%))+" objet(s) rattaché(s) au parent numéro "+STR$(p%)

END
fnc NUMBER_CHILD(obj%)
   dim_local i%,o%,child%
   repeat
      i%=i%+1
      if object_exists(i%)=1
         o%=o%+1
         if parent(i%)=obj% then child%=child%+1
      end_if
   until o%=number_objects
   result child%
end_fnc
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

number_child(N) Empty
MessageSujet: Re: number_child(N)   number_child(N) EmptyLun 2 Avr 2018 - 7:23

Bonne idée Silverman ! cheers

C'est vrai que j'ai un peu de mal avec les FNC mais ça va venir... Laughing Laughing
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
jjn4

jjn4


Nombre de messages : 2709
Date d'inscription : 13/09/2009

number_child(N) Empty
MessageSujet: +++   number_child(N) EmptyLun 2 Avr 2018 - 14:24

Merci pour tous ces conseils !
Silverman a écrit:
Si tu veux connaitre le nombre de descendants, c'est plutot NUMBER_CHILD() qu'il faut nommer ta fonction
Très juste, plutôt NUMBER_CHILD !
(je vais d'ailleurs corriger le post plus haut)
rendeer
J'ai finalement trouvé une solution simple
puisqu'il n'y a finalement que 4 objects dont il peut être le parent
Code:
dim_local v1cm%
   NPP%=0
   for v1cm% = 1 to 4
      if parent(v1cm%*10+1490)=1410
         NPP%=NPP%+1
      end_if
   next v1cm%
1410, c'est le parent
1500,1510,1520,1530=ce sont les childs possibles
Bon, j'aurais pu le faire avec une fonction,
je n'ai pas encore l'habitude.
sunny
Mais ça n'empêche qu'il pourrait y avoir un NUMBER_CHILD
pour le cas où il y aurait un grand nombre de childs possible
(une famille nombreuse, quoi  Laughing )
flower
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Klaus

Klaus


Nombre de messages : 12301
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

number_child(N) Empty
MessageSujet: Re: number_child(N)   number_child(N) EmptyLun 2 Avr 2018 - 14:36

Tiens, regarde la nouvelle version de KGF.dll que je viens de publier:
https://panoramic.1fr1.net/t5206p650-kgf_dll-nouvelles-versions#69702
Elle permet de connaître l'arborecence des objets d'un programme avec le type des objets, mais elle ne permet pas d'avoir les numéros d'objets.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
jjn4

jjn4


Nombre de messages : 2709
Date d'inscription : 13/09/2009

number_child(N) Empty
MessageSujet: +++   number_child(N) EmptyLun 2 Avr 2018 - 19:33

Oh, oh, intéressant !
scratch
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
Contenu sponsorisé





number_child(N) Empty
MessageSujet: Re: number_child(N)   number_child(N) Empty

Revenir en haut Aller en bas
 
number_child(N)
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos souhaits d'amélioration de Panoramic-
Sauter vers: