PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Particularité ignorée de HConstruitValClé ?
Particularité ignorée de HConstruitValClé ?
Started by jdsetls, Jul., 30 2004 1:34 PM - 7 replies
Posted on July, 30 2004 - 1:34 PM
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
Posted on July, 30 2004 - 2:08 PM
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
Posted on July, 30 2004 - 4:25 PM
"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
Posted on July, 30 2004 - 4:28 PM
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

Posted on July, 30 2004 - 4:43 PM
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

Posted on July, 30 2004 - 5:42 PM
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
Posted on August, 05 2004 - 1:09 PM
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

Posted on August, 05 2004 - 1:15 PM
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