[Résolu] Relation entre un StringGadget et un ListViewGadget

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

[Résolu] Relation entre un StringGadget et un ListViewGadget

Message par Micoute »

Bonjour à tous,

depuis un bon moment, je programme un logiciel de conjugaison pour mes petits enfants et je souhaiterais faire une recherche dichotomique des verbes, c'est-à-dire qu'en tapant des lettres dans le string, le curseur se déplacerait dans la liste.

Je saurait apprécier toute l'aide que chacun pourra m'apporter et je vous remercie déjà par anticipation.
Dernière modification par Micoute le dim. 31/août/2014 7:24, modifié 1 fois.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Relation entre un StringGadget et un ListViewGadget

Message par MLD »

Bonsoir Micoute

J'ai déja réalisé quelque chose dans le genre (Pas pour de la conjug). Avec le String, il faut utilisé Pb_EventType_Change. A partir de la, tu fais le conditionnel de ton choix a partir de (2 ou 3 lettres) par expl, ensuite tu envois le résultat vers la liste pour comparaison. Tu arrêtes une GadgetList sur la ligne correspondante que tu peu mettre en surbrillance.
Bon courage
A+
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Relation entre un StringGadget et un ListViewGadget

Message par falsam »

@MLD : Ca ressemble plus à un system d’auto complétion qu'à une recherche dichotomique non ?
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Relation entre un StringGadget et un ListViewGadget

Message par Micoute »

falsam a écrit :@MLD : Ca ressemble plus à un system d’auto complétion qu'à une recherche dichotomique non ?
C'est un peu la même chose, non ?
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Relation entre un StringGadget et un ListViewGadget

Message par falsam »

Micoute a écrit :C'est un peu la même chose, non ?
Quand tu as une suite de mots, la recherche dichotomique ne commence pas par chercher forcement au début de la suite et c'est vrai tu as raison au moment ou j'écris, l'autocomplétion n'a même rien à voir. C'est un complément lié à cette recherche.

Puis qu'on est sur le sujet. Si quelqu'un se trompe dans l'orthographe du verbe, comment tu trouves le verbe adéquate ? Est ce qu'une recherche phonétique ne serait pas plus appropriée ?
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Relation entre un StringGadget et un ListViewGadget

Message par Micoute »

Oui, tout à fait, par exemple, si on tape "cri", ça peut nous sortir "écrire" ou "crier", tout dépend des filtres, personnellement, j'avais pensé qu'à la lecture des données, on rajoute un symbole à la fin de chaque verbe et on fait une recherche avec StringField.

Pour la recherche phonétique, je ne connaît pas.

Merci à tous.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Relation entre un StringGadget et un ListViewGadget

Message par Ar-S »

Image

Je t'offre la source de mon Xyloglottus. Il utilise une lib de NetMaestro qui gère l'autocomplétion de superbe manière.
Tu as mon code + l'include.
J'ai modifié l'include pour que ça fonctionne en 5.20 et +
Tu verras aussi que je fonctionne par petits fichiers texte a.txt b.txt c.txt etc... C'est le plus simple pour gérer un genre de dico. Je me dis que pour ton projet ça pourrait parfaitement convenir.

L'adresse : http://stock.ldvmultimedia.com/Xyloglottus.zip


Note :

Attention, pour rendre xyloglottus compatible x64 veuillez modifier :

Code : Tout sélectionner

*this\pstr()\prompt = PeekS(PeekL(*ptr)) 
;par
*this\pstr()\prompt = PeekS(PeekI(*ptr))
Dernière modification par Ar-S le dim. 31/août/2014 20:22, modifié 1 fois.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
MLD
Messages : 1124
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Relation entre un StringGadget et un ListViewGadget

Message par MLD »

Bonjour a tous

Une recherche dichotomique,effectivement peu ressembler a un système d'autocomplétion.
La différence se trouve dans le degré d'astuce que l'on met dans les filtres.
Mon problème constistait a traduire en Français moderne les titulatures de monnaies féodales. par exemple le nom Philippe peu en abréviations féodales s'écrire environ de 18 manières différentes. la traduction devais se faire dans les deux sens.
@Ar-S
Sympa ton logiciel
Avatar de l’utilisateur
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Relation entre un StringGadget et un ListViewGadget

Message par Micoute »

Bonjour à tous,

effectivement, c'est vraiment sympa, mais ça me fait chambouler tout mon programme, mais ne sommes-nous programmeurs ?

Finalement, ce n'est pas si difficile à mettre en œuvre, heureusement que je n'ai que la liste des verbes à refaire, quoiqu'elle se trouve dans la DataSection, donc, ce ne sera pas si ardu que ça, en fin de compte.

Merci à tous et en particulier à Ar-S qui m'a mâcher une bonne partie des fonctions de recherche.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Lemaquis
Messages : 271
Inscription : mer. 25/déc./2013 7:34
Localisation : la corse

Re: Relation entre un StringGadget et un ListViewGadget

Message par Lemaquis »

merci Ar-S de ton partage c'est du très boulot que tu as fait pour ton logiciel
LeMaquis
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Re: [Résolu] Relation entre un StringGadget et un ListViewGa

Message par Anonyme2 »

Merci Ar-S pour Xyloglottus.

J'ai essayé en 32 bits c'est Ok mais ca plante en 64 bits sur la ligne 264 de la procédure

Code : Tout sélectionner

Procedure Attach(*this.AutoCompleteObject, Gadget, *strings, size )

Code : Tout sélectionner

*this\pstr()\prompt = PeekS(PeekL(*ptr))
que j'ai transformé en

Code : Tout sélectionner

*this\pstr()\prompt = PeekS(PeekI(*ptr))
et c'est OK

A+
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: [Résolu] Relation entre un StringGadget et un ListViewGa

Message par Ar-S »

Denis a écrit :Merci Ar-S pour Xyloglottus.

J'ai essayé en 32 bits c'est Ok mais ca plante en 64 bits sur la ligne 264 de la procédure

Code : Tout sélectionner

Procedure Attach(*this.AutoCompleteObject, Gadget, *strings, size )

Code : Tout sélectionner

*this\pstr()\prompt = PeekS(PeekL(*ptr))
que j'ai transformé en

Code : Tout sélectionner

*this\pstr()\prompt = PeekS(PeekI(*ptr))
et c'est OK

A+
Arf j'avais fait une version 32 bits et une 64 mais j'avais pas pensé à la donner aussi (faut dire qu'il date un peu maintenant).
J'ai ajouté ton correctif en info.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre