PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Particularité ignorée de HConstruitValClé ?
Particularité ignorée de HConstruitValClé ?
Débuté par jdsetls, 30 juil. 2004 13:34 - 7 réponses
Posté le 30 juillet 2004 - 13:34
Bonjour,

Après utilisation d'une Popup, j'observe que mon filtre fonctionne sur le
nom, sans prendre en compte le prénom.

Après divers tests, j'observe que la syntaxe de l'aide en ligne :

HFiltre(Client,...

HConstruitValClé(Client, NomPrénom, "Moulin", "Françoise")+hValMin,
...

HConstruitValClé(Client, NomPrénom, "Moulin", "Françoise"+hValMax))

ne peut pas fonctionner.

Il manque en effet le complément à la taille définie dans le fichier.

Pour deux rubriques définies à 50 caractères, il aurait fallu écrire : complete("Moulin",50)
et complete("Françoise", 50)

Ce qui m'étonne, c'est que les tests équivalents que je réalise dans mon
ardoise magique (une zone de texte interprétée par une fonction Compile)
me donnent en résultat le nom seul et pas de prénom, lorsque j'oublie le
complément par 'complete'.

Ici j'obtiendrais donc "Moulin" et non pas "Moulin... Françoise".

Qui parmi vous a observé des dysfonctionnements de HConstruitValClé, les
archives du forum ne mentionnant qu'un seul cas ?

L'aide en ligne oublie de mentionner l'instruction Complete, et je vais devoir
vérifier tous mes codes... Cependant pour qui sait lire (donc pas moi) les
constantes hValMin et hValMax réalisent le remplissage complémentaire des
blancs pour la première, de codes 255 pour la seconde, afin de délimiter
une borne sup.

Enfin je n'en suis pas sur car :
HConstruitValClé(Efco_Dossier_Client, "Clé_responsable_du_dossier", "Harmuth",
"Daniel")+hValMin ... donne "Harmuth"

HConstruitValClé(Efco_Dossier_Client, "Clé_responsable_du_dossier", "Harmuth"
+ hvalmin, "Daniel"+hValMin) ... donne "Harmuth"

et...
HConstruitValClé(Efco_Dossier_Client, "Clé_responsable_du_dossier", complete("Harmuth",50),
complete("Daniel",50)) ... donne enfin le bon résultat

Le hValMin ne fonctionne donc que sur les filtres. Si quelqu'un peut m'apporter
un complément d'information ?

Bien cordialement,

Jacques De Schryver
Posté le 30 juillet 2004 - 14:08
Jacques De Schryver wrote:
Bonjour,

Après utilisation d'une Popup, j'observe que mon filtre fonctionne
sur le
nom, sans prendre en compte le prénom.

Après divers tests, j'observe que la syntaxe de l'aide en ligne :

HFiltre(Client,...

HConstruitValClé(Client, NomPrénom, "Moulin",
"Françoise")+hValMin, ..

HConstruitValClé(Client, NomPrénom, "Moulin",
"Françoise"+hValMax))

ne peut pas fonctionner.

Il manque en effet le complément à la taille définie dans le fichier.

Pour deux rubriques définies à 50 caractères, il aurait fallu écrire
: complete("Moulin",50) et complete("Françoise", 50)

Ce qui m'étonne, c'est que les tests équivalents que je réalise dans
mon
ardoise magique (une zone de texte interprétée par une fonction
Compile)
me donnent en résultat le nom seul et pas de prénom, lorsque j'oublie
le
complément par 'complete'.

Ici j'obtiendrais donc "Moulin" et non pas "Moulin... Françoise".

Qui parmi vous a observé des dysfonctionnements de HConstruitValClé,
les
archives du forum ne mentionnant qu'un seul cas ?

L'aide en ligne oublie de mentionner l'instruction Complete, et je
vais devoir
vérifier tous mes codes... Cependant pour qui sait lire (donc pas
moi) les
constantes hValMin et hValMax réalisent le remplissage complémentaire
des
blancs pour la première, de codes 255 pour la seconde, afin de
délimiter
une borne sup.

Enfin je n'en suis pas sur car :
HConstruitValClé(Efco_Dossier_Client, "Clé_responsable_du_dossier",
"Harmuth", "Daniel")+hValMin ... donne "Harmuth"

HConstruitValClé(Efco_Dossier_Client, "Clé_responsable_du_dossier",
"Harmuth" + hvalmin, "Daniel"+hValMin) ... donne "Harmuth"

et...
HConstruitValClé(Efco_Dossier_Client, "Clé_responsable_du_dossier",
complete("Harmuth",50), complete("Daniel",50)) ... donne enfin le bon
résultat

Le hValMin ne fonctionne donc que sur les filtres. Si quelqu'un peut
m'apporter
un complément d'information ?

Bien cordialement,

Jacques De Schryver


Sous WD8, tu peux définir le mode de stockage des rubriques textes et clés
composées textes dans la description de chaque fichier: Mode 5.5 complété
par des espaces ou mode 7 terminé par "\0".

Selon ce que tu as défini, tu dois ou non compléter par des espaces.

--
Cordialement,

Erick :-)
Fiduciaire Informatique - Saint-Etienne
Posté le 30 juillet 2004 - 16:25
"Erick BAVUT" <erick.bavut@news.lafidu.com> écrivait news:410a5076$1
@news.pcsoft.fr:


Jacques De Schryver wrote:
Bonjour,

J'ai vainement cherché où cocher une case correspondante et ne l'ai
trouvé nulle part dans ma version 312i.

Où se situe ce choix ?

Dans l'analyse, description du chier, onglet détail




Salut,

Quelque soit le choix dans l'analyse cela fonctionne chez moi.

D'après ce que j'ai compris le \0 sert au HLitRecherche quand on se
spécifie pas Hidentique en flag, et surtout cela évite les SansEspace()
et autres manipulations d'espaces.


Dans la ligne de code que tu donnes, il ty a une erreur. Tu ne spécifies
pa le nom de la clé composé à HFiltre.

- Bonne syntaxe :

HFiltre(Client,NomPrénom,... //<<--- Ici NomPrénom en 2nd paramètre

HConstruitValClé(Client, NomPrénom, "Moulin", "Françoise")
+hValMin,
...

HConstruitValClé(Client, NomPrénom, "Moulin",
"Françoise"+hValMax))

En effet c'est parceque HF connait le clé composée (et donc ses
composantes), qu'il est capable de faire les complètes pour toi !

Pour éviter cette erreur il y a syntaxiquement plus simple avec :

HFiltreCommencePar(Client,NomPrénom,"Moulin","Françoise")
//ou, selon le résultat désiré
HFiltreIdentique(Client,NomPrénom,"Moulin","Françoise")


--
En esperant t'avoir aidé.
ted
Posté le 30 juillet 2004 - 16:28
Bonjour,

J'ignorais que l'option "\0" servait à cela.

Merci,

Jacques De Schryver







"Erick BAVUT" <erick.bavut@news.lafidu.com> wrote:

Jacques De Schryver wrote:
Bonjour,

Après utilisation d'une Popup, j'observe que mon filtre fonctionne
sur le
nom, sans prendre en compte le prénom.

Après divers tests, j'observe que la syntaxe de l'aide en ligne :

HFiltre(Client,...

HConstruitValClé(Client, NomPrénom, "Moulin",
"Françoise")+hValMin, ..

HConstruitValClé(Client, NomPrénom, "Moulin",
"Françoise"+hValMax))

ne peut pas fonctionner.

Il manque en effet le complément à la taille définie dans le fichier.

Pour deux rubriques définies à 50 caractères, il aurait fallu écrire
: complete("Moulin",50) et complete("Françoise", 50)

Ce qui m'étonne, c'est que les tests équivalents que je réalise dans
mon
ardoise magique (une zone de texte interprétée par une fonction
Compile)
me donnent en résultat le nom seul et pas de prénom, lorsque j'oublie
le
complément par 'complete'.

Ici j'obtiendrais donc "Moulin" et non pas "Moulin... Françoise".

Qui parmi vous a observé des dysfonctionnements de HConstruitValClé,
les
archives du forum ne mentionnant qu'un seul cas ?

L'aide en ligne oublie de mentionner l'instruction Complete, et je
vais devoir
vérifier tous mes codes... Cependant pour qui sait lire (donc pas
moi) les
constantes hValMin et hValMax réalisent le remplissage complémentaire
des
blancs pour la première, de codes 255 pour la seconde, afin de
délimiter
une borne sup.

Enfin je n'en suis pas sur car :
HConstruitValClé(Efco_Dossier_Client, "Clé_responsable_du_dossier",
"Harmuth", "Daniel")+hValMin ... donne "Harmuth"

HConstruitValClé(Efco_Dossier_Client, "Clé_responsable_du_dossier",
"Harmuth" + hvalmin, "Daniel"+hValMin) ... donne "Harmuth"

et...
HConstruitValClé(Efco_Dossier_Client, "Clé_responsable_du_dossier",
complete("Harmuth",50), complete("Daniel",50)) ... donne enfin le bon
résultat

Le hValMin ne fonctionne donc que sur les filtres. Si quelqu'un peut
m'apporter
un complément d'information ?

Bien cordialement,

Jacques De Schryver

Sous WD8, tu peux définir le mode de stockage des rubriques textes et clés
composées textes dans la description de chaque fichier: Mode 5.5 complété
par des espaces ou mode 7 terminé par "\0".

Selon ce que tu as défini, tu dois ou non compléter par des espaces.

--
Cordialement,

Erick :-)
Fiduciaire Informatique - Saint-Etienne

Posté le 30 juillet 2004 - 16:43
Bonjour,

J'ai vainement cherché où cocher une case correspondante et ne l'ai trouvé
nulle part dans ma version 312i.

Où se situe ce choix ?

Jacques De Schryver





"Erick BAVUT" <erick.bavut@news.lafidu.com> wrote:

Jacques De Schryver wrote:
Bonjour,

Après utilisation d'une Popup, j'observe que mon filtre fonctionne
sur le
nom, sans prendre en compte le prénom.

Après divers tests, j'observe que la syntaxe de l'aide en ligne :

HFiltre(Client,...

HConstruitValClé(Client, NomPrénom, "Moulin",
"Françoise")+hValMin, ..

HConstruitValClé(Client, NomPrénom, "Moulin",
"Françoise"+hValMax))

ne peut pas fonctionner.

Il manque en effet le complément à la taille définie dans le fichier.

Pour deux rubriques définies à 50 caractères, il aurait fallu écrire
: complete("Moulin",50) et complete("Françoise", 50)

Ce qui m'étonne, c'est que les tests équivalents que je réalise dans
mon
ardoise magique (une zone de texte interprétée par une fonction
Compile)
me donnent en résultat le nom seul et pas de prénom, lorsque j'oublie
le
complément par 'complete'.

Ici j'obtiendrais donc "Moulin" et non pas "Moulin... Françoise".

Qui parmi vous a observé des dysfonctionnements de HConstruitValClé,
les
archives du forum ne mentionnant qu'un seul cas ?

L'aide en ligne oublie de mentionner l'instruction Complete, et je
vais devoir
vérifier tous mes codes... Cependant pour qui sait lire (donc pas
moi) les
constantes hValMin et hValMax réalisent le remplissage complémentaire
des
blancs pour la première, de codes 255 pour la seconde, afin de
délimiter
une borne sup.

Enfin je n'en suis pas sur car :
HConstruitValClé(Efco_Dossier_Client, "Clé_responsable_du_dossier",
"Harmuth", "Daniel")+hValMin ... donne "Harmuth"

HConstruitValClé(Efco_Dossier_Client, "Clé_responsable_du_dossier",
"Harmuth" + hvalmin, "Daniel"+hValMin) ... donne "Harmuth"

et...
HConstruitValClé(Efco_Dossier_Client, "Clé_responsable_du_dossier",
complete("Harmuth",50), complete("Daniel",50)) ... donne enfin le bon
résultat

Le hValMin ne fonctionne donc que sur les filtres. Si quelqu'un peut
m'apporter
un complément d'information ?

Bien cordialement,

Jacques De Schryver

Sous WD8, tu peux définir le mode de stockage des rubriques textes et clés
composées textes dans la description de chaque fichier: Mode 5.5 complété
par des espaces ou mode 7 terminé par "\0".

Selon ce que tu as défini, tu dois ou non compléter par des espaces.

--
Cordialement,

Erick :-)
Fiduciaire Informatique - Saint-Etienne

Posté le 30 juillet 2004 - 17:42
Jacques De Schryver wrote:
Bonjour,

J'ai vainement cherché où cocher une case correspondante et ne l'ai
trouvé nulle part dans ma version 312i.

Où se situe ce choix ?


Dans l'analyse, description du chier, onglet détail


--
Cordialement,

Erick :-)
Fiduciaire Informatique - Saint-Etienne
Posté le 05 août 2004 - 13:09
Bonjour,

Le seul problème, j'ai vérifié partout, c'est que tout était déjà bien coché...

Je travaille donc sur cette difficulté.

Bien cordialement,

Jacques De Schryver





"Erick BAVUT" <erick.bavut@news.lafidu.com> wrote:

Jacques De Schryver wrote:
Bonjour,

J'ai vainement cherché où cocher une case correspondante et ne l'ai
trouvé nulle part dans ma version 312i.

Où se situe ce choix ?

Dans l'analyse, description du chier, onglet détail


--
Cordialement,

Erick :-)
Fiduciaire Informatique - Saint-Etienne

Posté le 05 août 2004 - 13:15
Merci !

Jacques De Schryver



ted <_s_p_a_m_ted.o@free.fr> wrote:

"Erick BAVUT" <erick.bavut@news.lafidu.com> écrivait news:410a5076$1
@news.pcsoft.fr:


Jacques De Schryver wrote:
Bonjour,

J'ai vainement cherché où cocher une case correspondante et ne l'ai
trouvé nulle part dans ma version 312i.

Où se situe ce choix ?

Dans l'analyse, description du chier, onglet détail




Salut,

Quelque soit le choix dans l'analyse cela fonctionne chez moi.

D'après ce que j'ai compris le \0 sert au HLitRecherche quand on se
spécifie pas Hidentique en flag, et surtout cela évite les SansEspace()


et autres manipulations d'espaces.


Dans la ligne de code que tu donnes, il ty a une erreur. Tu ne spécifies


pa le nom de la clé composé à HFiltre.

- Bonne syntaxe :

HFiltre(Client,NomPrénom,... //<<--- Ici NomPrénom en 2nd paramètre

HConstruitValClé(Client, NomPrénom, "Moulin", "Françoise")
+hValMin,
..

HConstruitValClé(Client, NomPrénom, "Moulin",
"Françoise"+hValMax))

En effet c'est parceque HF connait le clé composée (et donc ses
composantes), qu'il est capable de faire les complètes pour toi !

Pour éviter cette erreur il y a syntaxiquement plus simple avec :

HFiltreCommencePar(Client,NomPrénom,"Moulin","Françoise")
//ou, selon le résultat désiré
HFiltreIdentique(Client,NomPrénom,"Moulin","Françoise")


--
En esperant t'avoir aidé.
ted