| Nouveau pseudo-objet GLIST utilisable par #INCLUDE | |
|
|
|
Auteur | Message |
---|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Sam 17 Juil 2010 - 11:21 | |
| J'ai mis en ligne mon pseudo-objet GLIST qui est une simulation d'une liste avec des attributs graphiques pour le texte, spécifiquement pour certaines segments et non globalement pour toute la liste tel que c'est le cas pour une list Panoramic. La distribution contient une doc complète, un programme de démo et le module GLIST.bas.
Ce programme a été inspiré par Naro26 et réalisé avec l'aide active et précieuse de Cosmos70 et NArdo26. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Dim 18 Juil 2010 - 0:48 | |
| Allez, j'ai fait un grand pas en avant. Outre la correction de quelques bugs, j'ai ajouté une fonction majeur: les GLIST sont synchronisables !
Cela veut dire qu'un peut lier deux GLIST, et toute modification ou tout déplacement dans une list est automatiquement reporté dans l'autre !
Dans la distri, il y a deux fichiers pour charger les deux listes du programme de démo: l'une avec les dates du mois de juillet 2010, et l'autre avec les jours de semaines correspondants. Vous verrez que les week-ends sont en rouge et le 14 Juillet est en jaune !
Essayez de cliquer sur "Liste 1" pour se baser sur la liste 1, puis cliquez sur "Synchro 1-->2". Vous verrez alors que tout changement dans la liste 1 est reporté également dans la liste 2, et INVERSEMENT ! Utilisez l'ascenseur, c'est spectaculaire ! Ajoutes un enregistrement, ou supprimez en un - tout est reproduit dans l'autre liste.
Puis, cliquez sur "Liste 1", puis sur "Dé-synchro 1 et 2", puis vous verrez que les deux listes sont à nouveau indépendantes ! N'est-ce pas magnifique pour gérer des fichiers de configurations et similaires ?
| |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Dim 18 Juil 2010 - 12:13 | |
| La GLIST a été remise en ligne avec une version complète au niveau des fonctionnalités. J'ai ajouté la fonction Save (analogue à file_save de Panoramic), la fonction Item_write (qui n'existe pas en Panoramic pour les listes !) pour la mise à jour des données d'une ligne, et la fonction Mode pour gérer les modes de fonctionnement (pour le moment, cela converne la gestion des erreurs, mais d'autres options viendront).
Le module est exploitable et facilement utilisable par #INCLUDE; une seule ligne est à ajouter au début du programme application et elle est documentée au début de GLIST.bas. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Dim 18 Juil 2010 - 22:20 | |
| Une nouvelle fonction des GLIST permet de dé-sélectionner un enregistrement. Cela veut dire enlever la marque "enregistrement choisi" pour la ligne de la liste sur laquelle on avait cliqué ou qu'un avait sélectionné programmatiquement par la fonction Item_select.
J'ai ajouté une petite application de gestion d'une liste de contacts par téléphone, réalisée avec des GLIST. Il faut adapter la variable racine$ au début du programme pour coller à vos répertoires. A part cela, le programme est exécutable directement. N'oubliez pas de mettre ou laisser le module GLIST.bas dans le même répertoire que ce programme, ou alors il faut adapter la ligne #INCLUDE.
C'est quand-même sympa, les listes synchronisées !
| |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 20 Juil 2010 - 0:11 | |
| J'ai ajouté une nouvelle fonction à GLIST: c'est Item_search qui permet de chercher une ligne dans une GLIST par rapport à une chaîne de caractères. Cette recherche peut être en avant ou en arrière, et elle peut être à partir su début de la liste ou à partir de l'enregistrement sélectionné. Si un enregistrement est trouvé, il est automatiquement sélectionné, et si la liste est synchronisée avec une autre, le même enregistrement dans cette dernière sera sélectionné aussi.
Ceci est également une fonction qui n'est pas disponible avec une liste Panoramic - il faut la programmer. GLIST offre cette fonction directement.
Le programme de gestion de contacts téléphoniques a été modifié par l'ajout d'un bouton "Chercher" qui permet de chercher un nom ou prénom dans la liste. Un petit bug a été corrigé aussi. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 20 Juil 2010 - 10:51 | |
| J'ai donné la possibilité de synchroniser plusieurs GLIST en chaîne ! Le programme de démo montre l'effet avec 3 chaînes. Elles sont synchronisées au départ par (1-->2) et (2-->3). Elles évoluent donc toutes de façon synchrone. Des indicateurs visuels indiquent pour chaque chaîne celes qui sont liées. | |
|
| |
Invité Invité
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 20 Juil 2010 - 11:31 | |
| Tu vas trop vite,. Je ne peux plus te suivre. Il va falloir créer un nouveau truc du genre: L'actualité de Klaus! Ça te dis de passer à la TV française? |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 20 Juil 2010 - 11:33 | |
| Qu'est-ce que tu veux, c'est une passion. Alors, entre le jardinage et la rénovation complète de l'électricité de ma maison, quand j'ai un moment de libre, c'est Panoramic !
As-tu essayé la dernière version de contacts téléphoniques et le programme de démo dans la distri de GLIST ? Je t'assure que cà décoiffe ! | |
|
| |
Invité Invité
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 20 Juil 2010 - 13:29 | |
| Non j'ai passé beaucoup plus de temps que prévu pour mettre au point le programme menu pop_up comme tu l'appelles. Malheureusement ça n'intéresse pas. Si il fallait te suivre, je ne ferais que cela de télécharger tes versions et de comprendre, et comme tu le sais le temps me manque. Moi aussi j'ai des passions, comme un temps l'électronique, la photo N&B et couleur. Pour ces deux dernières, il y a longtemps que j'ai plus d'argent! Je viens sur l'ordi, dès fois 10 mn, ou 1/2 heure. Il m'est difficile de rester dessus.
|
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mer 21 Juil 2010 - 0:31 | |
| @Cosmos70: Je te comprends. Mais tu te trompes en disant que ton menu pop-up ne m'intéresse pas. Je l'ai téléchargé en enregistré, et je compte bien comprendre son fonctionnement. Pour le moment, je suis un peu perturbé par l'emploi du timer, mais j'y arriverai. Je te ferai mes commentaires après avoir compris comment ça marche.
@tous: J'ai apporté une modif mineure aux GLIST: la fonction de recherche Item_search permet maintenant de chercher en avant à partir du début, en avant à partir de la ligne sélectionnée, en arrière à partir de la ligne sélectionnée et en arrière à partir de la fin de la liste. Un bug mineur a été corrigé dans la gestion des contacts (exemple concret d'une application utilisant des GLIST). | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mer 21 Juil 2010 - 18:50 | |
| J'ai mis une nouvelle version de GLIST en ligne. Elle apporte une nouvelle fonction: Item_move. Encore une fonction qui n'existe pas en Panoramic pour les listes et les dlist. Cette fonction permet de décaler la ligne actuellement sélectionnée une ligne vers le haut ou une ligne vers le bas, en fonction d'un paramètre passé à la fonction. Et bien sûr, en cas de listes synchronisées, la même action est prise automatiquement pour toutes les listes synchronisées ! La ligne sélectionnée reste sélectionnée, de sorte que l'action peut être répétée directement...
Pour rappel, voici la liste des fonctions disponibles à ce jour:
Create - d’une GLIST Attributs - définition des attributs graphiques du texte Revelation - choix de la révélation de la ligne sélectionnée Load -chargement d’un fichier texte dans la GLIST Save - sauvegarde de la GLIST dans un fichier Item_add - ajouter une ligne à la fin de la GLIST Item_delete - supprimer une ligne Item_insert - insérer une ligne Selected - retourner le numéro de la ligne sélectionnée Total - retourner le nombre total de lignes Item_read - lire le texte d’une ligne Item_write - mise à jour d’une ligne existante Target_is - cibler une GLIST pour les fonctions suivantes Item_select - sélectionner une ligne Item_free - dé-selectionner une ligne Item_display - afficher la page à partir d’une ligne spécifique Item_search - chercher une ligne contenant une chaîne Item_move - décaler la ligne sélectionnée en haut ou en bas Synchronize_on - synchroniser deux GLISTs Synchronize_off - dé-synchroniser deux GLISTs Mode - adapter les modes de fonctionnement
| |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Ven 23 Juil 2010 - 9:06 | |
| Dans la distribution GLIST, j'ai modifié le programme de gestion de contacts par GLIST: j'ai ajouté une troisième GLIST pour les adresses. Les 3 GLIST sont synchronisées, et il y a des recherches par nom, numéro de téléphone et adresse. On peut donner des chaînes partielles pour toutes ces recherches. | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Ven 20 Aoû 2010 - 9:05 | |
| Hello Klaus ! Je suis en train de regarder ton programme de démo de synchro de GList (contacts tel) Il y a un truc que je pige pas : - Code:
-
GLIST_params$ = "Synchronize_on|101|" : ' lier les trois listes gosub GLIST_function GLIST_params$ = "Synchronize_on|111|" gosub GLIST_function GLIST_params$ = "Target_is|111|" gosub GLIST_function GLIST_params$ = "Synchronize_on|101|" gosub GLIST_function
Je m'attendais à avoir également ceci : (voir les flèches en rouge) EDIT: SToooop ! j'ai compris: tes flèches sont bidirectionnelles (comme quoi un dessin ça sert !) et le target 111 te permet de créer le dernier lien... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Ven 20 Aoû 2010 - 12:18 | |
| Eh oui, c'est ça ! C'est joli, non ? | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Ven 20 Aoû 2010 - 12:28 | |
| Yes, c'est en fait tout simple ! | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Lun 13 Sep 2010 - 11:57 | |
| Hello Klaus ! J'ai un petit problème avec GLIST J'ai voulu utiliser la Cde Clear (qui n'est pas dans la doc) et j'ai un message d'erreur apparemment dans GLIST_clear sur : - Code:
-
position GLIST_numero_objet%+2 = 1 "Not correct Expression : Error in Parameter Number." de meme un simple GList avec un seul item.... où se trouve mon erreur ? - Code:
-
label Glist_function, GLIST_err : dim GLIST_params$
GLIST_params$ = "Create|N=20|A=8|W=400|T=140|L=90|" gosub GLIST_function : ' créer la liste
GLIST_params$ = "Target_is|20|" gosub GLIST_function
GLIST_params$ = "Revelation|4|" gosub GLIST_function : ' choisir la révélation
GLIST_params$ = "Item_add|1***************2|" gosub GLIST_function : ' ajouter une ligne à la fin
end
#INCLUDE "G:\Perso\Dev\Panoramic\GLIST\GLIST.bas"
| |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Lun 13 Sep 2010 - 19:31 | |
| Les deux bugs sont corrigés, et la fonction Clear figure dans la documentation... | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Lun 13 Sep 2010 - 19:43 | |
| Merci Klaus ! Je vais pouvoir m'amuser avec les GLIST...
| |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Lun 13 Sep 2010 - 19:59 | |
| C'était donc bien toi NARDO26, derriere le nez de clown | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Lun 13 Sep 2010 - 20:12 | |
| Yes ! | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 14 Sep 2010 - 10:37 | |
| Hello Klaus ! J'essaye d'implémenter une GLIST dans mon programme de filtrage de fichier log. malheureusement ces fichiers contiennent des lignes "vides" (juste un CRLF). Or si je fais un GLIST.add_item de ces lignes, j'obtiens un plantage en ligne 272 dans GLIST.bas : len(GLIST_params$)-10 renvoi 0 d'où erreur du mid$... il faudrait rajouter en début de GLIST_add : - Code:
-
if (len(GLIST_params$)-10) = 0 GLIST_s$="" else GLIST_s$ = mid$(GLIST_params$,10,len(GLIST_params$)-10) end_if il manque également un guillemet dans GLIST_revelation... Actuellement il est difficile de récupérer le "on_click" sur une GLIST. serait-il possible d'avoir une variable GLIST (que l'on pourrait scruter via timer par exemple) qui nous signalerai par exemple l'évènement d'un clic gauche ou droit sur un élément de la liste? | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 14 Sep 2010 - 11:16 | |
| Pour ce qui est du click dans une GLIST, on peut scruter GLIST_params$ qui, en cas de click sur une GLIST, est chargé de la manière suivante: - Code:
-
GLIST_params$ = "Liste "+str$(GLIST_index%)+" ligne "+str$(GLIST_ligne_choisie%(GLIST_index%))
Pour le reste, je vais m'en occuper... EDIT Les corrections sont faites et mises en ligne ! MERCI pour l'info ! | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 14 Sep 2010 - 11:46 | |
| Merci Klaus ! Comme le dis JL35 il serait pas mal de pouvoir choper le clic droit de la souris: en fait j'ai fait un timer qui vient scruter régulièrement plusieurs variables : - 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 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 caption ButtonLoad%,str$(GLIST_right_click%) else GLIST_right_click% = 0 caption ButtonLoad%,str$(GLIST_right_click%) end_if
return Mais cela ne fonctionne pas : une fois que l'on a fait un clic droit dans la liste, la variable GLIST_right_click% ne repasse plus à 0 lorsque l'on relache le bouton droit... | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 14 Sep 2010 - 12:08 | |
| C'est normal. Le click droit n'est pas un évènement géré par Panoramic comme c'est le cas d'un évènement click gauche. La liste GLIST est représentée par un picture, et on ne peut intercepter que les clicks gauche sur un picture. On peut bien sûr gérer cela par un timer car Panoramic permet de tester si le bouton droit est enfoncé au-dessus d'un objet, mais évidemment, ce n'est qu'une "photo" à un instant t, et on ne peut pas savoir si le bouton a été enfoncé ou relâché juste avant...
Tant que Jack n'a pas mis a disposition un évènement "click droit", il faut se débrouiller auttrement. Pourquoi ne pas placer un petit bouton à côté de la GLIST qui déclenche ce que tu souhaites déclencher par un click droit ? Les polices Wingdings et Wingdings 2 contiennent des symboles sympa pour cela, en particulier la souris: Windings 2 caractère ; (59) donne l'image d'une souris à deux boutons sous forme d'un seul caractère, et tu peux dimensionner ton bouton à 10x10 pixels... | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE Mar 14 Sep 2010 - 13:11 | |
| Ce que je souhaiterai, c'est de pouvoir faire un clic droit sur un item d'une GLIST. (pour éventuellement ouvrir un menu popup ou quelque chose dans le même genre...)
Tel que j'ai écris la procédure TimerGlist, (100ms d'intervalle c'est largement suffisant) cela fonctionne à moitié : j'intercepte bien le clic droit, je récupère bien l'index de l'item (GLIST_right_click%) mais c'est le relâchement du bouton droit qui ne me remet pas cette variable à 0.
| |
|
| |
Contenu sponsorisé
| Sujet: Re: Nouveau pseudo-objet GLIST utilisable par #INCLUDE | |
| |
|
| |
| Nouveau pseudo-objet GLIST utilisable par #INCLUDE | |
|