PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Particularité ignorée de HConstruitValClé ?
Particularité ignorée de HConstruitValClé ?
Iniciado por Jacques De Schryver, jul., 30 2004 1:34 PM - 7 respostas
Publicado em julho, 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
Publicado em julho, 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
Publicado em julho, 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
Publicado em julho, 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

Publicado em julho, 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

Publicado em julho, 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
Publicado em agosto, 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

Publicado em agosto, 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