[Résolu] Calcul binaire comme stockage de paramètres
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Bonjour,
j'ai un certain nombre de critères de sélection sur un fichier (tous des booleens). Pour les stocker j'ai cumulé ces critère dans un calcul binaire dans une rubrique numérique.

critère 1 : 2^0 = 1
critère 2 : 2^1 = 2
critère 3 : 2^2 = 4
...
critère n : 2^(n-1)

si on a critère 1 et 3 => rubrique = 1+4 = 5

selon le critère je cumule ces valeur dans un champ que je peux ensuite évaluer via un ETBinaire(Champ,critère).
recherche critère 1-> EtBinaire(5,1) => vrai
recherche critère 2-> EtBinaire(5,2) => faux
recherche critère 3-> EtBinaire(5,4) => vrai
recherche critère n-> EtBinaire(5,puissance(2,(n-1))

Ligne a ligne : retrouver si la valeur contient tel ou tel critère c'est ok. Mais quand je souhaite filter selon tel ou tel critère... c'est un autre problème.

j'ai essayé hfiltre
avec nSelection = cumul des valeur sélectionnée (en puissance de 2)
si je met un filtre "=" : hfiltre(fichier,"rubrique='"+nSelection+"'")
j'ai pile poil les valeurs qui correspondent exactement à ma sélection.
Mais je ne sais isoler les ligne qui satisfont à "au moins" un critère de sélection.
j'ai essayé la condition >= mais ce n'est pas satisfaisant car on sélectionne parfois des lignes qui ne correspondent pas à mon critère.

Est-il possible de filtrer sur une condition avec des calculs binaire :
hfiltre(fichier,"ETBinaire(rubrique,'"+nSelection+"'")
Evidement cela ne passe pas mais c'est ce que j'aurais souhaité exécuter...

Contribution le : 15/07/2010 16:52

Edité par drcharly93 sur 28/7/2010 17:31:54
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: Calcul binaire comme stockage de paramètres
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour R&B,

Une solution,

Tu pourrait enregistrer pour critere 1 et critere 3 sélectionnés:
101

Sur le site WdForge il y a une ressource
cdrString qui permet de faire de la comparaison de chaine avec des * et ?

Il suffirait donc de parcourir la table et de comparer avec la valeur recherchée
Exemple:
Recherche tout les enregistrements qui contiennent le 1ier et le 3ieme critère sélectionné
cString est un cdrString
bResult est un booléen
sFichier est une chaine = <Mon fichier>
sChaineCritere est une chaine = <Mon champs résultat>

Pour tout sFichier 
 Si cString:IsMatch( {sFichier + "." + sChaineCritere, indRubrique}, "1?1") Alors
   //On récupère l'identifiant de l'enregistrement
   //ou bien on rempli une table ou autre
 Fin
Fin

Si on recherche tous les enregistrement qui ont le 3ieme critère de sélectionné
cString est un cdrString
bResult est un booléen
sFichier est une chaine = <Mon fichier>
sChaineCritere est une chaine = <Mon champs résultat>

Pour tout sFichier 
 Si cString:IsMatch( {sFichier + "." + sChaineCritere, indRubrique}, "??1") Alors
   //On récupère l'identifiant de l'enregistrement
   //ou bien on rempli une table ou autre
 Fin
Fin

Contribution le : 15/07/2010 19:10
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Calcul binaire comme stockage de paramètres
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Salut,
Merci pour la solution qui est effective mais je souhaitais en passer par HFiltre car je suis ensuite sur une table fichier.

En revanche je vais aussi explorer ce coté chaine concaténée.

Contribution le : 16/07/2010 08:49
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: Calcul binaire comme stockage de paramètres
Utilisateur WDF
Inscrit:
20/06/2006 14:56
Post(s): 57
Bonjour,
C'est la limite des hfiltres, on peut la contourné en mettant des 'OU' pour avoir tout les cas possibles ou en utilisant des requêtes SQL.

Avec Windev 15 on peut rendre invisible certaines lignes des tableau (selon vos critères), cela peux vous convenir si vous voulez absolument que votre tableau soit lié au fichier.

Contribution le : 22/07/2010 15:48
Créer un fichier PDF de la contribution Imprimer


Re: Calcul binaire comme stockage de paramètres
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
J'en ai fini pas un fichier temporaire créé dynamiquement et affecté comme source de donnée de la table avec une colonne par critère et un filtre de OU des critères voulus.

Contribution le : 23/07/2010 08:23
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2