HLitRecherchePremier() - à tester sur version 10 SVP
6 réponses
Réal Phil
Bonsoir,
Je soumet ce code pour une seconde fois afin de pr=E9ciser le
comportement r=E9el de Windev 10.
Un utilisateur me dit que cela ne fonctionne pas en version 10 et PC
Soft me r=E9pond qu'ils ont test=E9 le code et que =E7a fonctionne bien
avec Windev 10. Qui a raison?
Si plusieurs utilisateurs m'envoyaient leurs r=E9ponses ce serait super.
// Fichier CLT.FIC avec 5 000 enregistrements (pas important)
// Rubrique CLT.Code avec clef unique de 7 caract=E8res de large
// Un seul enregistrement contient CLT.Code=3D"W10677W"
// Param=E8tres de l'index Sensible =E0 tout (Avanc=E9)
// CAS 3 : sValrech =3D "W10677WWWWW" provient d'un champ de saisie de 20
caract=E8res qui ne peut etre reduit
sValrech est une cha=EEne
bRes est un bool=E9en
c est un entier
POUR c=3D1 A 3
SELON c
CAS 1 : sValrech =3D "W10677W"
CAS 2 : sValrech =3D "W10677"
CAS 3 : sValrech =3D "W10677WWWWW" // d=E9passe la taille
de la rubrique
FIN
bRes =3D HLitRecherchePremier(CLT, CODE, sValrech)
Trace("bRes=3D"+bRes + " h.trouve=3D"+ H.trouve + "
h=2Eendehors=3D" + H.endehors + " "+sValrech)
FIN
Donne comme r=E9sultat;
bRes=3D1 h.trouve=3D1 h.endehors=3D0 W10677W
bRes=3D0 h.trouve=3D0 h.endehors=3D0 W10677
bRes=3D1 h.trouve=3D1 h.endehors=3D0 W10677WWWWW
ET WD8 DIT QU'IL A TROUV=C9 W10677WWWWW !!
Ce qui ne devrait pas se produire. C'est pourquoi je dis que d=E8s que
la taille de la variable recherch=E9e d=E9passe la taille de la rubrique
clef WD devrait retourner Faux tout de suite sans m=EAme v=E9rifier quoi
que soit d'autre.
bRes=3DHLitRecherche(Clt,Code,sValrech,hIdentique) // donne le m=EAme
r=E9sultat.=20
Merci =E0 l'avance =E0 ceux qui testeront ce code.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
elecoest
Réal Phil a écrit :
Bonsoir,
Hello,
Je soumet ce code pour une seconde fois afin de préciser le comportement réel de Windev 10. Un utilisateur me dit que cela ne fonctionne pas en version 10 et PC Soft me répond qu'ils ont testé le code et que ça fonctionne bien avec Windev 10. Qui a raison?
Si plusieurs utilisateurs m'envoyaient leurs réponses ce serait super.
[CUT]
Donne comme résultat; bRes=1 h.trouve=1 h.endehors=0 W10677W bRes=0 h.trouve=0 h.endehors=0 W10677 bRes=1 h.trouve=1 h.endehors=0 W10677WWWWW
ET WD8 DIT QU'IL A TROUVÉ W10677WWWWW !!
Sans vouloir paraitre ignard, quel est l'interet de tester le h.trouve ? En plus ce que je ne comprends pas trop c'est que h.endehors soit a faux alors que trouvé est à vrai.
Ce qui ne devrait pas se produire. C'est pourquoi je dis que dès que la taille de la variable recherchée dépasse la taille de la rubrique clef WD devrait retourner Faux tout de suite sans même vérifier quoi que soit d'autre.
bRes=HLitRecherche(Clt,Code,sValrech,hIdentique) // donne le même résultat.
Merci à l'avance à ceux qui testeront ce code.
Réal Phil a écrit :
Bonsoir,
Hello,
Je soumet ce code pour une seconde fois afin de préciser le
comportement réel de Windev 10.
Un utilisateur me dit que cela ne fonctionne pas en version 10 et PC
Soft me répond qu'ils ont testé le code et que ça fonctionne bien
avec Windev 10. Qui a raison?
Si plusieurs utilisateurs m'envoyaient leurs réponses ce serait super.
[CUT]
Donne comme résultat;
bRes=1 h.trouve=1 h.endehors=0 W10677W
bRes=0 h.trouve=0 h.endehors=0 W10677
bRes=1 h.trouve=1 h.endehors=0 W10677WWWWW
ET WD8 DIT QU'IL A TROUVÉ W10677WWWWW !!
Sans vouloir paraitre ignard, quel est l'interet de tester le h.trouve
? En plus ce que je ne comprends pas trop c'est que h.endehors soit a
faux alors que trouvé est à vrai.
Ce qui ne devrait pas se produire. C'est pourquoi je dis que dès que
la taille de la variable recherchée dépasse la taille de la rubrique
clef WD devrait retourner Faux tout de suite sans même vérifier quoi
que soit d'autre.
bRes=HLitRecherche(Clt,Code,sValrech,hIdentique) // donne le même
résultat.
Je soumet ce code pour une seconde fois afin de préciser le comportement réel de Windev 10. Un utilisateur me dit que cela ne fonctionne pas en version 10 et PC Soft me répond qu'ils ont testé le code et que ça fonctionne bien avec Windev 10. Qui a raison?
Si plusieurs utilisateurs m'envoyaient leurs réponses ce serait super.
[CUT]
Donne comme résultat; bRes=1 h.trouve=1 h.endehors=0 W10677W bRes=0 h.trouve=0 h.endehors=0 W10677 bRes=1 h.trouve=1 h.endehors=0 W10677WWWWW
ET WD8 DIT QU'IL A TROUVÉ W10677WWWWW !!
Sans vouloir paraitre ignard, quel est l'interet de tester le h.trouve ? En plus ce que je ne comprends pas trop c'est que h.endehors soit a faux alors que trouvé est à vrai.
Ce qui ne devrait pas se produire. C'est pourquoi je dis que dès que la taille de la variable recherchée dépasse la taille de la rubrique clef WD devrait retourner Faux tout de suite sans même vérifier quoi que soit d'autre.
bRes=HLitRecherche(Clt,Code,sValrech,hIdentique) // donne le même résultat.
Merci à l'avance à ceux qui testeront ce code.
Romain PETIT
Le 02/06/2006, a supposé :
Sans vouloir paraitre ignard, quel est l'interet de tester le h.trouve ? En plus ce que je ne comprends pas trop c'est que h.endehors soit a faux alors que trouvé est à vrai.
La doc (7.5) indique que hlrp renvoie un booléen coorespondant à h.trouve. Etant donné que hlrp renvoie vrai alors qu'une recherche à l'identique devrait en toute logique renvoyer faux dans le cas qui nous intéresse (enregistrement dont la taille de la clé est au max et recherche avec une chaine d'une taille supérieure dont le début est identique).
Il faut être sûr que h.trouve soit bien la même chose que le retour de hlrp...
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Le 02/06/2006, elecoest@gmail.com a supposé :
Sans vouloir paraitre ignard, quel est l'interet de tester le h.trouve
? En plus ce que je ne comprends pas trop c'est que h.endehors soit a
faux alors que trouvé est à vrai.
La doc (7.5) indique que hlrp renvoie un booléen coorespondant à
h.trouve.
Etant donné que hlrp renvoie vrai alors qu'une recherche à l'identique
devrait en toute logique renvoyer faux dans le cas qui nous intéresse
(enregistrement dont la taille de la clé est au max et recherche avec
une chaine d'une taille supérieure dont le début est identique).
Il faut être sûr que h.trouve soit bien la même chose que le retour de
hlrp...
--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Sans vouloir paraitre ignard, quel est l'interet de tester le h.trouve ? En plus ce que je ne comprends pas trop c'est que h.endehors soit a faux alors que trouvé est à vrai.
La doc (7.5) indique que hlrp renvoie un booléen coorespondant à h.trouve. Etant donné que hlrp renvoie vrai alors qu'une recherche à l'identique devrait en toute logique renvoyer faux dans le cas qui nous intéresse (enregistrement dont la taille de la clé est au max et recherche avec une chaine d'une taille supérieure dont le début est identique).
Il faut être sûr que h.trouve soit bien la même chose que le retour de hlrp...
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
JeAn-PhI
Romain PETIT a pensé très fort :
Le 02/06/2006, a supposé :
Sans vouloir paraitre ignard, quel est l'interet de tester le h.trouve ? En plus ce que je ne comprends pas trop c'est que h.endehors soit a faux alors que trouvé est à vrai.
La doc (7.5) indique que hlrp renvoie un booléen coorespondant à h.trouve. Etant donné que hlrp renvoie vrai alors qu'une recherche à l'identique devrait en toute logique renvoyer faux dans le cas qui nous intéresse (enregistrement dont la taille de la clé est au max et recherche avec une chaine d'une taille supérieure dont le début est identique).
Il faut être sûr que h.trouve soit bien la même chose que le retour de hlrp...
je n'ai pas fait le test mais je suppose que h.Trouve et HTrouve(MonFichier) retournent la même valeur
-- Cordialement JeAn-PhI
Romain PETIT a pensé très fort :
Le 02/06/2006, elecoest@gmail.com a supposé :
Sans vouloir paraitre ignard, quel est l'interet de tester le h.trouve
? En plus ce que je ne comprends pas trop c'est que h.endehors soit a
faux alors que trouvé est à vrai.
La doc (7.5) indique que hlrp renvoie un booléen coorespondant à h.trouve.
Etant donné que hlrp renvoie vrai alors qu'une recherche à l'identique
devrait en toute logique renvoyer faux dans le cas qui nous intéresse
(enregistrement dont la taille de la clé est au max et recherche avec une
chaine d'une taille supérieure dont le début est identique).
Il faut être sûr que h.trouve soit bien la même chose que le retour de
hlrp...
je n'ai pas fait le test mais je suppose que h.Trouve et
HTrouve(MonFichier) retournent la même valeur
Sans vouloir paraitre ignard, quel est l'interet de tester le h.trouve ? En plus ce que je ne comprends pas trop c'est que h.endehors soit a faux alors que trouvé est à vrai.
La doc (7.5) indique que hlrp renvoie un booléen coorespondant à h.trouve. Etant donné que hlrp renvoie vrai alors qu'une recherche à l'identique devrait en toute logique renvoyer faux dans le cas qui nous intéresse (enregistrement dont la taille de la clé est au max et recherche avec une chaine d'une taille supérieure dont le début est identique).
Il faut être sûr que h.trouve soit bien la même chose que le retour de hlrp...
je n'ai pas fait le test mais je suppose que h.Trouve et HTrouve(MonFichier) retournent la même valeur
-- Cordialement JeAn-PhI
Francis MOREL
Bonjour,
Etant donné que hlrp renvoie vrai alors qu'une recherche à l'identique devrait en toute logique renvoyer faux dans le cas qui nous intéresse (enregistrement dont la taille de la clé est au max et recherche avec une chaine d'une taille supérieure dont le début est identique).
C'est interressant de voir comment les avis différent. En première lecture je trouve logique que la chaine de recherche soit automatiquement (par HF) tronquée à la taille maxi de la rubrique de recherche. Avec ce raissonnement je trouve aussi logique le résultat obtenu. J'ai fait un test équivalent avec un de mes fichiers et les résulats retournées sont identiques à ceux indiqués bRes=Vrai et hTrouve=1. Dans le cas présent je trouverais tout aussi logique de tester en premier lieu la longueur de la chaine, et si elle est plus longue que la rubrique à tester de renvoyer faux.
Amitiés.
-- Francis MOREL
Bonjour,
Etant donné que hlrp renvoie vrai alors qu'une recherche à l'identique
devrait en toute logique renvoyer faux dans le cas qui nous intéresse
(enregistrement dont la taille de la clé est au max et recherche avec
une chaine d'une taille supérieure dont le début est identique).
C'est interressant de voir comment les avis différent.
En première lecture je trouve logique que la chaine de recherche soit
automatiquement (par HF) tronquée à la taille maxi de la rubrique de
recherche.
Avec ce raissonnement je trouve aussi logique le résultat obtenu.
J'ai fait un test équivalent avec un de mes fichiers et les résulats
retournées sont identiques à ceux indiqués bRes=Vrai et hTrouve=1.
Dans le cas présent je trouverais tout aussi logique de tester en
premier lieu la longueur de la chaine, et si elle est plus longue que
la rubrique à tester de renvoyer faux.
Etant donné que hlrp renvoie vrai alors qu'une recherche à l'identique devrait en toute logique renvoyer faux dans le cas qui nous intéresse (enregistrement dont la taille de la clé est au max et recherche avec une chaine d'une taille supérieure dont le début est identique).
C'est interressant de voir comment les avis différent. En première lecture je trouve logique que la chaine de recherche soit automatiquement (par HF) tronquée à la taille maxi de la rubrique de recherche. Avec ce raissonnement je trouve aussi logique le résultat obtenu. J'ai fait un test équivalent avec un de mes fichiers et les résulats retournées sont identiques à ceux indiqués bRes=Vrai et hTrouve=1. Dans le cas présent je trouverais tout aussi logique de tester en premier lieu la longueur de la chaine, et si elle est plus longue que la rubrique à tester de renvoyer faux.
Amitiés.
-- Francis MOREL
Romain PETIT
Francis MOREL a formulé la demande :
Dans le cas présent je trouverais tout aussi logique de tester en premier lieu la longueur de la chaine, et si elle est plus longue que la rubrique à tester de renvoyer faux.
Sauf que, comme le soulignait Emmanuel, en 5.5 le seul fait de rechercher avec une chaine plus longue que la clé provoque une erreur. Ce test de longueur étéait donc implicite en 5.5, il ne l'est plus en 7/8/9/10. Donc il s'agit au mieux d'une regression.
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Francis MOREL a formulé la demande :
Dans le cas présent je trouverais tout aussi logique de tester en
premier lieu la longueur de la chaine, et si elle est plus longue que
la rubrique à tester de renvoyer faux.
Sauf que, comme le soulignait Emmanuel, en 5.5 le seul fait de
rechercher avec une chaine plus longue que la clé provoque une erreur.
Ce test de longueur étéait donc implicite en 5.5, il ne l'est plus en
7/8/9/10.
Donc il s'agit au mieux d'une regression.
--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Dans le cas présent je trouverais tout aussi logique de tester en premier lieu la longueur de la chaine, et si elle est plus longue que la rubrique à tester de renvoyer faux.
Sauf que, comme le soulignait Emmanuel, en 5.5 le seul fait de rechercher avec une chaine plus longue que la clé provoque une erreur. Ce test de longueur étéait donc implicite en 5.5, il ne l'est plus en 7/8/9/10. Donc il s'agit au mieux d'une regression.
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Réal Phil
Pour les testeurs en Windev 10 - s'il vous plait indiquer la version utilisée; 37f, 40k, 45p, 50o ou autre.
Merci
Pour les testeurs en Windev 10 - s'il vous plait indiquer la version
utilisée; 37f, 40k, 45p, 50o ou autre.