[WD75] - Boucle TANT QUE qui se comporte pas comme je veux ...
6 réponses
Xavier - CAII
Bonsoir a vous Cher WinDeviens ;p
J'ai un petit prob. je suis pas un grand spécialiste mais j'ai mis en place
une boucle qui à mon sens ne se comporte pas comme elle devrait.
Vous trouverez un bout de mon cod plus loin ...
Dans l'idée , je souhiate faire un tant que qui parcourt un fichier selon un
paramètre NOM_RES.
Le traitement fonctionne est le resultat obtenu est celui que j'attend.
Mais lorsque je suis le déroulement du prog en débuggage, je m'appercoit que
la boucle passe sur tous les enregistrements des fihciers y compris ceux qui
ne sont pas NOM_RES ...
Est ce normal ?
Si oui, tant pis ..
Si non .. avez vous un remede à me proposer ... ?!?
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
Eric Laurent
Xavier - CAII avait écrit le 25/04/2005 :
Bonsoir a vous Cher WinDeviens ;p
J'ai un petit prob. je suis pas un grand spécialiste mais j'ai mis en place une boucle qui à mon sens ne se comporte pas comme elle devrait.
Vous trouverez un bout de mon cod plus loin ...
Dans l'idée , je souhiate faire un tant que qui parcourt un fichier selon un paramètre NOM_RES. Le traitement fonctionne est le resultat obtenu est celui que j'attend.
Mais lorsque je suis le déroulement du prog en débuggage, je m'appercoit que la boucle passe sur tous les enregistrements des fihciers y compris ceux qui ne sont pas NOM_RES ...
Est ce normal ?
Si oui, tant pis .. Si non .. avez vous un remede à me proposer ... ?!?
SI Traitements.Date_Trait <= DateDuJour() <= DateFinTrait ALORS Info(Traitements.Nom_Res + RC + Traitements.Date_Trait + RC + Traitements.posologie_duree) (...code...) HAjoute(WTraitements) HLitSuivant(Traitements,Nom_Res) FIN
HLitSuivant(Traitements,Nom_Res)
FIN
D'abord, il faut remplacer HLitPremier(Traitements,Nom_Res) par HLitRecherche(Traitements,Nom_Res,ValeurRecherchée)
Ensuite, il faut supprimer le premier HlitSuivant(Traitements,Nom_Res)(celui qui est dans la condition si...fin)
Cordialement.
-- Eric Laurent
(enlever nospam.)
Xavier - CAII avait écrit le 25/04/2005 :
Bonsoir a vous Cher WinDeviens ;p
J'ai un petit prob. je suis pas un grand spécialiste mais j'ai mis en place
une boucle qui à mon sens ne se comporte pas comme elle devrait.
Vous trouverez un bout de mon cod plus loin ...
Dans l'idée , je souhiate faire un tant que qui parcourt un fichier selon un
paramètre NOM_RES.
Le traitement fonctionne est le resultat obtenu est celui que j'attend.
Mais lorsque je suis le déroulement du prog en débuggage, je m'appercoit que
la boucle passe sur tous les enregistrements des fihciers y compris ceux qui
ne sont pas NOM_RES ...
Est ce normal ?
Si oui, tant pis ..
Si non .. avez vous un remede à me proposer ... ?!?
J'ai un petit prob. je suis pas un grand spécialiste mais j'ai mis en place une boucle qui à mon sens ne se comporte pas comme elle devrait.
Vous trouverez un bout de mon cod plus loin ...
Dans l'idée , je souhiate faire un tant que qui parcourt un fichier selon un paramètre NOM_RES. Le traitement fonctionne est le resultat obtenu est celui que j'attend.
Mais lorsque je suis le déroulement du prog en débuggage, je m'appercoit que la boucle passe sur tous les enregistrements des fihciers y compris ceux qui ne sont pas NOM_RES ...
Est ce normal ?
Si oui, tant pis .. Si non .. avez vous un remede à me proposer ... ?!?
SI Traitements.Date_Trait <= DateDuJour() <= DateFinTrait ALORS Info(Traitements.Nom_Res + RC + Traitements.Date_Trait + RC + Traitements.posologie_duree) (...code...) HAjoute(WTraitements) HLitSuivant(Traitements,Nom_Res) FIN
HLitSuivant(Traitements,Nom_Res)
FIN
D'abord, il faut remplacer HLitPremier(Traitements,Nom_Res) par HLitRecherche(Traitements,Nom_Res,ValeurRecherchée)
Ensuite, il faut supprimer le premier HlitSuivant(Traitements,Nom_Res)(celui qui est dans la condition si...fin)
Cordialement.
-- Eric Laurent
(enlever nospam.)
dany
"Xavier - CAII" a écrit dans le message de news: d4j50d$2ci9$
Bonsoir a vous Cher WinDeviens ;p
J'ai un petit prob. je suis pas un grand spécialiste mais j'ai mis en place une boucle qui à mon sens ne se comporte pas comme elle devrait.
Vous trouverez un bout de mon cod plus loin ...
Dans l'idée , je souhiate faire un tant que qui parcourt un fichier selon un paramètre NOM_RES. Le traitement fonctionne est le resultat obtenu est celui que j'attend.
Mais lorsque je suis le déroulement du prog en débuggage, je m'appercoit que la boucle passe sur tous les enregistrements des fihciers y compris ceux qui ne sont pas NOM_RES ...
Est ce normal ?
Si oui, tant pis .. Si non .. avez vous un remede à me proposer ... ?!?
SI Traitements.Date_Trait <= DateDuJour() <= DateFinTrait ALORS Info(Traitements.Nom_Res + RC + Traitements.Date_Trait + RC + Traitements.posologie_duree) (...code...) HAjoute(WTraitements) HLitSuivant(Traitements,Nom_Res) FIN
HLitSuivant(Traitements,Nom_Res)
FIN
essayes avec tant que htrouve() le hpasendehors te positionne sur premier bon enregistrement de la table et apres il prend les enregistrements les uns apres les autres sans tenir compte de la demande premiere. J'ai déjà eu le pb :) D.
"Xavier - CAII" <erreur@caii.fr> a écrit dans le message de news:
d4j50d$2ci9$1@biggoron.nerim.net...
Bonsoir a vous Cher WinDeviens ;p
J'ai un petit prob. je suis pas un grand spécialiste mais j'ai mis en
place
une boucle qui à mon sens ne se comporte pas comme elle devrait.
Vous trouverez un bout de mon cod plus loin ...
Dans l'idée , je souhiate faire un tant que qui parcourt un fichier selon
un
paramètre NOM_RES.
Le traitement fonctionne est le resultat obtenu est celui que j'attend.
Mais lorsque je suis le déroulement du prog en débuggage, je m'appercoit
que
la boucle passe sur tous les enregistrements des fihciers y compris ceux
qui
ne sont pas NOM_RES ...
Est ce normal ?
Si oui, tant pis ..
Si non .. avez vous un remede à me proposer ... ?!?
SI Traitements.Date_Trait <= DateDuJour() <= DateFinTrait ALORS
Info(Traitements.Nom_Res + RC + Traitements.Date_Trait + RC +
Traitements.posologie_duree)
(...code...)
HAjoute(WTraitements)
HLitSuivant(Traitements,Nom_Res)
FIN
HLitSuivant(Traitements,Nom_Res)
FIN
essayes avec tant que htrouve()
le hpasendehors te positionne sur premier bon enregistrement de la table et
apres il prend les enregistrements les uns apres les autres sans tenir
compte de la demande premiere.
J'ai déjà eu le pb :)
D.
"Xavier - CAII" a écrit dans le message de news: d4j50d$2ci9$
Bonsoir a vous Cher WinDeviens ;p
J'ai un petit prob. je suis pas un grand spécialiste mais j'ai mis en place une boucle qui à mon sens ne se comporte pas comme elle devrait.
Vous trouverez un bout de mon cod plus loin ...
Dans l'idée , je souhiate faire un tant que qui parcourt un fichier selon un paramètre NOM_RES. Le traitement fonctionne est le resultat obtenu est celui que j'attend.
Mais lorsque je suis le déroulement du prog en débuggage, je m'appercoit que la boucle passe sur tous les enregistrements des fihciers y compris ceux qui ne sont pas NOM_RES ...
Est ce normal ?
Si oui, tant pis .. Si non .. avez vous un remede à me proposer ... ?!?
SI Traitements.Date_Trait <= DateDuJour() <= DateFinTrait ALORS Info(Traitements.Nom_Res + RC + Traitements.Date_Trait + RC + Traitements.posologie_duree) (...code...) HAjoute(WTraitements) HLitSuivant(Traitements,Nom_Res) FIN
HLitSuivant(Traitements,Nom_Res)
FIN
essayes avec tant que htrouve() le hpasendehors te positionne sur premier bon enregistrement de la table et apres il prend les enregistrements les uns apres les autres sans tenir compte de la demande premiere. J'ai déjà eu le pb :) D.
Xavier - CAII
> D'abord, il faut remplacer HLitPremier(Traitements,Nom_Res) par HLitRecherche(Traitements,Nom_Res,ValeurRecherchée)
Ensuite, il faut supprimer le premier HlitSuivant(Traitements,Nom_Res)(celui qui est dans la condition si...fin)
Cordialement.
-- Eric Laurent
Bjr et merci de ta réponse; Malheureusement, j'arrive au même résultat. C'est a dire que ma boucle parcours toujours tout le fichier ...sans prendre en compte ma condition ... ?!?
>
D'abord, il faut remplacer HLitPremier(Traitements,Nom_Res) par
HLitRecherche(Traitements,Nom_Res,ValeurRecherchée)
Ensuite, il faut supprimer le premier
HlitSuivant(Traitements,Nom_Res)(celui qui est dans la condition
si...fin)
Cordialement.
--
Eric Laurent
nospam.laurent.systel@wanadoo.fr
Bjr et merci de ta réponse;
Malheureusement, j'arrive au même résultat.
C'est a dire que ma boucle parcours toujours tout le fichier ...sans prendre
en compte ma condition ... ?!?
> D'abord, il faut remplacer HLitPremier(Traitements,Nom_Res) par HLitRecherche(Traitements,Nom_Res,ValeurRecherchée)
Ensuite, il faut supprimer le premier HlitSuivant(Traitements,Nom_Res)(celui qui est dans la condition si...fin)
Cordialement.
-- Eric Laurent
Bjr et merci de ta réponse; Malheureusement, j'arrive au même résultat. C'est a dire que ma boucle parcours toujours tout le fichier ...sans prendre en compte ma condition ... ?!?
Romain PETIT
Xavier - CAII avait prétendu :
C'est a dire que ma boucle parcours toujours tout le fichier ...sans prendre en compte ma condition ... ?!?
Tu n'as aucune condition ! Le fait de préciser "nom_res" indique seulement que la lecture se fera sur cette clé, mais tu n'as appliqué aucun filtre, il est donc normal que tu parcoures chaque enregistrement du fichier. Regarde l'aide à HFiltre...
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Xavier - CAII avait prétendu :
C'est a dire que ma boucle parcours toujours tout le fichier ...sans prendre
en compte ma condition ... ?!?
Tu n'as aucune condition !
Le fait de préciser "nom_res" indique seulement que la lecture se fera
sur cette clé, mais tu n'as appliqué aucun filtre, il est donc normal
que tu parcoures chaque enregistrement du fichier.
Regarde l'aide à HFiltre...
A+
--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
C'est a dire que ma boucle parcours toujours tout le fichier ...sans prendre en compte ma condition ... ?!?
Tu n'as aucune condition ! Le fait de préciser "nom_res" indique seulement que la lecture se fera sur cette clé, mais tu n'as appliqué aucun filtre, il est donc normal que tu parcoures chaque enregistrement du fichier. Regarde l'aide à HFiltre...
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
Real Phil
Salut,
Oui c'est normal. Cette commande « HLitPremier(Traitements,Nom_Res) » indique à WD de parcourir le fichier en entier en suivant le parcours Nom_Res.
Il est aussi important de saisir ici que si le fichier est très gros et que les éléments physiques qui pointent vers Nom_Res sont très éloignés les uns des autres cela ralentira le processus.
L'utilisation d'un HFiltre() règle le problème que vous mentionnez parce qu'alors seuls les éléments répondant à la condition seront parcourus.
Réal Phil
Bonsoir a vous Cher WinDeviens ;p
J'ai un petit prob. je suis pas un grand spécialiste mais j'ai mis en
place
une boucle qui à mon sens ne se comporte pas comme elle devrait.
Vous trouverez un bout de mon cod plus loin ...
Dans l'idée , je souhiate faire un tant que qui parcourt un fichier selon
un
paramètre NOM_RES. Le traitement fonctionne est le resultat obtenu est celui que j'attend.
Mais lorsque je suis le déroulement du prog en débuggage, je m'appercoit
que
la boucle passe sur tous les enregistrements des fihciers y compris ceux
qui
ne sont pas NOM_RES ...
Est ce normal ?
Si oui, tant pis .. Si non .. avez vous un remede à me proposer ... ?!?
SI Traitements.Date_Trait <= DateDuJour() <= DateFinTrait ALORS Info(Traitements.Nom_Res + RC + Traitements.Date_Trait + RC + Traitements.posologie_duree) (...code...) HAjoute(WTraitements) HLitSuivant(Traitements,Nom_Res) FIN
HLitSuivant(Traitements,Nom_Res)
FIN
Salut,
Oui c'est normal.
Cette commande « HLitPremier(Traitements,Nom_Res) » indique à WD de
parcourir le fichier en entier en suivant le parcours Nom_Res.
Il est aussi important de saisir ici que si le fichier est très gros et que
les éléments physiques qui pointent vers Nom_Res sont très éloignés les uns
des autres cela ralentira le processus.
L'utilisation d'un HFiltre() règle le problème que vous mentionnez parce
qu'alors seuls les éléments répondant à la condition seront parcourus.
Réal Phil
Bonsoir a vous Cher WinDeviens ;p
J'ai un petit prob. je suis pas un grand spécialiste mais j'ai mis en
place
une boucle qui à mon sens ne se comporte pas comme elle devrait.
Vous trouverez un bout de mon cod plus loin ...
Dans l'idée , je souhiate faire un tant que qui parcourt un fichier selon
un
paramètre NOM_RES.
Le traitement fonctionne est le resultat obtenu est celui que j'attend.
Mais lorsque je suis le déroulement du prog en débuggage, je m'appercoit
que
la boucle passe sur tous les enregistrements des fihciers y compris ceux
qui
ne sont pas NOM_RES ...
Est ce normal ?
Si oui, tant pis ..
Si non .. avez vous un remede à me proposer ... ?!?
Oui c'est normal. Cette commande « HLitPremier(Traitements,Nom_Res) » indique à WD de parcourir le fichier en entier en suivant le parcours Nom_Res.
Il est aussi important de saisir ici que si le fichier est très gros et que les éléments physiques qui pointent vers Nom_Res sont très éloignés les uns des autres cela ralentira le processus.
L'utilisation d'un HFiltre() règle le problème que vous mentionnez parce qu'alors seuls les éléments répondant à la condition seront parcourus.
Réal Phil
Bonsoir a vous Cher WinDeviens ;p
J'ai un petit prob. je suis pas un grand spécialiste mais j'ai mis en
place
une boucle qui à mon sens ne se comporte pas comme elle devrait.
Vous trouverez un bout de mon cod plus loin ...
Dans l'idée , je souhiate faire un tant que qui parcourt un fichier selon
un
paramètre NOM_RES. Le traitement fonctionne est le resultat obtenu est celui que j'attend.
Mais lorsque je suis le déroulement du prog en débuggage, je m'appercoit
que
la boucle passe sur tous les enregistrements des fihciers y compris ceux
qui
ne sont pas NOM_RES ...
Est ce normal ?
Si oui, tant pis .. Si non .. avez vous un remede à me proposer ... ?!?
SI Traitements.Date_Trait <= DateDuJour() <= DateFinTrait ALORS Info(Traitements.Nom_Res + RC + Traitements.Date_Trait + RC + Traitements.posologie_duree) (...code...) HAjoute(WTraitements) HLitSuivant(Traitements,Nom_Res) FIN
HLitSuivant(Traitements,Nom_Res)
FIN
Xavier - CAII
Merci à Romai et Real qui m'ont permis d'optimiser mon traitement ... Encore désolé pour mon ignorance ... mais WinDev regorge de fonctions qui me sont encore inconnues
++ Xavier
Merci à Romai et Real qui m'ont permis d'optimiser mon traitement ...
Encore désolé pour mon ignorance ... mais WinDev regorge de fonctions qui me
sont encore inconnues
Merci à Romai et Real qui m'ont permis d'optimiser mon traitement ... Encore désolé pour mon ignorance ... mais WinDev regorge de fonctions qui me sont encore inconnues