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 FBPano
par jean_debord Aujourd'hui à 11:07

» Documentation de KGF
par Klaus Hier à 22:52

» Zoom sur une portion d'écran
par JL35 Hier à 21:51

» KGF_dll - nouvelles versions
par Klaus Hier à 21:31

» double guillemets "" dans un EDIT
par pascal10000 Hier à 21:08

» Recherche d'une expression dans un source
par Marc 37 Hier à 13:08

» Tracer une grille n'importe où sur l'écran
par JL35 Dim 19 Nov 2017 - 22:14

» TourD Version 2
par Klaus Sam 18 Nov 2017 - 23:58

» La métamatière et le peuple
par JL35 Ven 17 Nov 2017 - 21:18

» Capture d'une zone de l'écran total
par JL35 Ven 17 Nov 2017 - 18:41

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 17 Nov 2017 - 11:49

» qui peut résoudre mon prb
par pascal10000 Jeu 16 Nov 2017 - 17:30

» évènements et objets système : listage automatique
par Jean Claude Jeu 16 Nov 2017 - 11:15

» Panoramic et la reconnaissance vocale.
par papydall Jeu 16 Nov 2017 - 3:45

» Bizzarerie dans Edge
par Marc 37 Mer 15 Nov 2017 - 17:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   
CalendrierCalendrier

Partagez | 
 

 Nouveau pseudo-objet GLIST utilisable par #INCLUDE

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2
AuteurMessage
Klaus

avatar

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

MessageSujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE   Mar 14 Sep 2010 - 14:56

Je pense qu'en ajoutant un if supplémentaire, ça marchera:
Code:

TimerGlist:
  if left$(GLIST_params$,6)="Liste "
    message "Prog principal :"+GLIST_params$
    GLIST_params$=""
  end_if
  for i% = 1 to GLIST_n_listes%
    if GLIST_liste_listes%(i%)=ListFiltre% then exit_for
  next i%
  TimerGlist_x% = 0 : TimerGlist_y% = 0
  if mouse_right_down(ListFiltre%+1)=1
    TimerGlist_x% = mouse_x_right_down(ListFiltre%+1)
    TimerGlist_y% = mouse_y_right_down(ListFiltre%+1)
  end_if
  if TimerGlist_x% <> 0
    GLIST_right_click% = GLIST_nr%(i%) + int((TimerGlist_y%+13)/14) - 1
    caption ButtonLoad%,str$(GLIST_right_click%)
  else
    GLIST_right_click% = 0
    caption ButtonLoad%,str$(GLIST_right_click%)
  end_if

return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Nardo26

avatar

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

MessageSujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE   Mar 14 Sep 2010 - 15:35

Merci Klaus pour ton aide
Mais je pense que c'est beaucoup plus compliqué que ça:
les mouse_right_xxx fonctionnent sur front donc j'ai modifié la procédure de cette manière :
Code:
TimerGlist:
  timer_off TimerGlist%
  ' ----- évènement clic gauche
  if left$(GLIST_params$,6)="Liste "
    message "Prog principal :"+GLIST_params$
    GLIST_params$=""
  end_if
  ' ----- évènement clic droit
  if mouse_right_down(ListFiltre%+1)=1 : ' mémo du front 'down'
    GLIST_mouse_right% = 1
  else
    if mouse_right_up(ListFiltre%+1)=1  : ' et on attend le front 'haut' pour remettre à zero
      GLIST_mouse_right% = 0
    end_if
  end_if
  if (GLIST_mouse_right% = 1)
    if (GLIST_right_click%=0)
      for i% = 1 to GLIST_n_listes%
        if GLIST_liste_listes%(i%)=ListFiltre% then exit_for
      next i%
      TimerGlist_x% = 0 : TimerGlist_y% = 0
      TimerGlist_x% = mouse_x_right_down(ListFiltre%+1)
      TimerGlist_y% = mouse_y_right_down(ListFiltre%+1)
      if TimerGlist_x% <> 0
        GLIST_right_click% = GLIST_nr%(i%) + int((TimerGlist_y%+13)/14) - 1
        GLIST_params$ = "Selected|" : gosub GLIST_function
        ' pour éviter le scintillement de la liste...
        if val(GLIST_params$)<>GLIST_right_click%
          GLIST_params$ = "Item_select|"+str$(GLIST_right_click%)+"|" : gosub GLIST_function
        end_if
      end_if
    end_if
  else
    GLIST_right_click% = 0
  end_if
  timer_on TimerGlist%
return

Petite cerise sur le gâteau : le clic droit sélectionne l'item.
le truc qui me manque c'est de pouvoir desélectionner l'item au relachement...
on a "Item_select" mais pas "Item_deselect"... je ne sais pas si c'est possible en panoramic... scratch
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
JL35



Nombre de messages : 5991
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE   Mar 14 Sep 2010 - 17:38

Juste une remarque, mais comme je l'ai déjà dit, mon idée est que le ON_CLICK devrait déclencher indifféremment sur le clic gauche ET sur le clic droit, à charge pour l'utilisateur, s'il le désire, de tester dans le s/p appelé si c'est droit ou gauche, avec les outils MOUSE disponibles.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Nardo26

avatar

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

MessageSujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE   Mar 14 Sep 2010 - 17:42

D'accord avec toi, cela éviterai de faire de la gymnastique pour pas grand chose...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Klaus

avatar

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

MessageSujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE   Mar 14 Sep 2010 - 17:55

D'accord avec JL35 sur on_click par clic gauche ou droit indifféremment !

Pour Nardo26: en Panoramic, on ne peut PAS dé-sélectionner un item dans une liste. Si c'est nécessaire, je peux par contre le faire dans les GLIST puisque c'est moi qui gère l'affichage visuel de la sélection...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Nardo26

avatar

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

MessageSujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE   Mar 14 Sep 2010 - 18:20

C'est possible ?
la dlist ne va pas poser prooblème ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Klaus

avatar

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

MessageSujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE   Mar 14 Sep 2010 - 18:48

J'ai relu mon programme: en fait, ça existe déjà ! La fonction s'appelle Item_free ! Tu peux essayer...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Nardo26

avatar

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

MessageSujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE   Mar 14 Sep 2010 - 19:57

J'avais vu la fct, j'ai déjà essayé et cela ne marche pas... Sad
mystère...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Klaus

avatar

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

MessageSujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE   Mar 14 Sep 2010 - 20:25

OK, je vais voir ça...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Nardo26

avatar

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

MessageSujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE   Mar 14 Sep 2010 - 20:35

désolé de te donner du boulot... Embarassed
je vais regarder moi aussi de mon coté...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Klaus

avatar

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

MessageSujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE   Mar 14 Sep 2010 - 20:40

Bon, j'ai regardé la fonction Item_free. Elle est accessible dans le programme de démo par un bouton. Il suffit de cliquer sur une des listes -> cela sélectionne la ligne correspondante dans les 3 listes. Le bouton dé-sélectionne alors les enregistrements. Bon, dans la version distribuée, il y a un bug avec les listes associées: il s'arrête après la première liste (honte sur moi). Je l'ai corrigé, et la nouvelle version est en ligne (un apostrophe devant un return...).

La fonction Item_free marche. Elle agit sur la dernière GLIST selectionnée par Target_is, et sur toutes les listes associées (s'il y en a...). Essaie avec le programme de démo et compare - je serai curieux du résultat.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Nardo26

avatar

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

MessageSujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE   Mar 21 Sep 2010 - 7:46

Bonjour Klaus,
Après une breve interruption Smile
J'ai changé de PC (un portable sous Win 7 avec 4Go de RAM) ca va moins ramer maintenant ! sunny

Je me suis remis sur mon programme de filtrage:

Lorsque j'utilise les commandes 'item_write' et 'item_free', celles-ci provoquent un réaffichage complet de la Glist.
ce qui provoque un clignotement désagréable...
il n'y a pas moyen de faire le réaffichage que de l'item concerné (si actuellement visible dans la Glist bien sur) ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Klaus

avatar

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

MessageSujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE   Mar 21 Sep 2010 - 19:17

Difficile. Je vais regarder cela. En fait, la ligne sélectionnée est écrite par la commande print dans le picture simulant la liste. Réécrire par-dessus provoque des résultats bizarrres. C'est la raison pour laquelle je réaffiche la liste à chaque modification.

Je suis en train d'intégrer la scroll-bar "maison" dans GLIST - gros morceau car il faut pouvoir tenir compte de plusieurs GLIST simultanés et qui peuvent en plus être synchronisées - ça progresse.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Nardo26

avatar

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

MessageSujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE   Mer 22 Sep 2010 - 17:32

Hello Klaus,

Suite à un exemple que j'ai voulu donner à papyx, je me suis dis que je me prenais la tête pour changer un attribut de couleur pour un item donné.

Que penses-tu de ceci :
Code:

'=============== changer l'attribut d'un enregistrement =======================================
' Syntaxe : GLIST_params$="Item_attribut|12|n°attribut"
GLIST_item_attribut:

' on recupère l'indice de l'item
GLIST_s$ = right$(GLIST_params$,len(GLIST_params$)-14)
GLIST_i% = instr(GLIST_s$,"|")
if GLIST_i%=0
    GLIST_params$ = "GLIST: parametres Item_attribut invalides"
    if GLIST_error_mode%=1 then GLIST_err% = message_error_OK(GLIST_params$)
    return
end_if
GLIST_v$ = left$(GLIST_s$,GLIST_i%-1)
if numeric(GLIST_v$)=0
    GLIST_params$ = "GLIST: Item_attribut, valeur numérique attendue"
    if GLIST_error_mode%=1 then GLIST_err% = message_error_OK(GLIST_params$)
    return
end_if
GLIST_v% = val(GLIST_v$)
' puis son attribut
GLIST_s$ = mid$(GLIST_s$,GLIST_i%+1,len(GLIST_s$)-GLIST_i%)
GLIST_i% = instr(GLIST_s$,"|")
if GLIST_i%=0
    GLIST_params$ = "GLIST: parametres Item_attribut invalides"
'    if GLIST_error_mode%=1 then GLIST_err% = message_error_OK(GLIST_params$)
    if GLIST_error_mode%=1 then GLIST_err% = message_error_OK(GLIST_s$)
    return
end_if
GLIST_s$ = left$(GLIST_s$,GLIST_i%-1)
if numeric(GLIST_s$)=0
    GLIST_params$ = "GLIST: Item_attribut, valeur numérique attendue"
    if GLIST_error_mode%=1 then GLIST_err% = message_error_OK(GLIST_params$)
    return
end_if
GLIST_v$=item_read$(GLIST_numero_objet%,GLIST_v%)
GLIST_i%= instr(GLIST_v$,"|")
if GLIST_i% <> 0
  GLIST_v$=mid$(GLIST_v$,GLIST_i%+2,len(GLIST_v$)-GLIST_i%)
end_if

item_delete GLIST_numero_objet%,GLIST_v%
item_insert GLIST_numero_objet%,GLIST_v%,GLIST_s$+"|["+GLIST_v$+"]"
if GLIST_v%<GLIST_nr%(GLIST_index%)+GLIST_lignes_affichage%(GLIST_index%) then gosub GLIST_changea
return

Ce qui est gênant c'est que l'attribut de couleur est dans le texte de l'item.
Il faudrait peut être modifier Item_read de manière à ne pas avoir les codes d'attributs.
en gros au lieu de retourner "2|[Texte de l'item]" cette commande retournerai "Texte de l'item"

C'est un premier jet : il manque un test pour savoir si l'attribut existe...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Klaus

avatar

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

MessageSujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE   Jeu 23 Sep 2010 - 2:20

Je regarderai ta suggestion dès qued j'aurai fini l'intégration de la scroll_bar "maison".

pour le moment, ni item_read ni item_add gèrent cela - tout est laissé à la charge de l'utilisateur dans la construction de son string. Si déjà on veut gérer l'identifiant de l'attribut, il faut aussi gérer la position d'application qui se situe entre les [...], ni devant, ni derrière...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé




MessageSujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE   

Revenir en haut Aller en bas
 
Nouveau pseudo-objet GLIST utilisable par #INCLUDE
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: