etienneborms
Messages postés3Date d'inscriptiondimanche 29 janvier 2012StatutMembreDernière intervention13 avril 2012
-
14 mars 2012 à 05:17
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 2021
-
16 mars 2012 à 09:34
Bonjour
quelqu'n pourrait-t'il me dire sur la procedure suivante , comment cela ce fait que delphi me dit ( opération en virgule flottante incorrect ) quand je sort de mon champs et que j'appelle la procédure , et ceci egalement avec les champ suivant mais que quand les champs sont vide ,si il sont avec une valeur minimum de 1 pas de zero car avec zero cela ne fonctionne pas nom plus , la il le prend sans problème .
Mes champ sont de type Float et même si je les met en type numérique cela ne change rien.
Attention je suis encore toujours sous Delphi4 Pro
Merci d'avance pour vos réponse.
code
--------------------------------------------------------------------------------
procedure tform22.calcul_bloc;
var
t_hb, t_lob, t_lab, m_L, m_lo, totb, totmca :variant;
begin
if source.CustomerData.calculmetrecubeBLOC_H.IsNull then source.CustomerData.calculmetrecubeBLOC_H.Value:=0;
if source.CustomerData.calculmetrecubeBLOC_LA.IsNull then source.CustomerData.calculmetrecubeBLOC_LA.Value:=0;
if source.CustomerData.calculmetrecubeBLOC_LO.IsNull then source.CustomerData.calculmetrecubeBLOC_LO.Value:=0;
if source.CustomerData.calculmetrecubeM2_LONGEUR.IsNull then source.CustomerData.calculmetrecubeM2_LONGEUR.Value:=0;
if source.CustomerData.calculmetrecubeM2_LARGEUR.IsNull then source.CustomerData.calculmetrecubeM2_LARGEUR.Value:=0;
t_hb:=source.CustomerData.calculmetrecubeBLOC_H.Value; //taiile des blocs
t_lob:=source.CustomerData.calculmetrecubeBLOC_LO.Value;
t_lab:=source.CustomerData.calculmetrecubeBLOC_LA.Value;
m_L:= source.CustomerData.calculmetrecubeM2_LARGEUR.Value; // metre carré
m_lo:=source.CustomerData.calculmetrecubeM2_LONGEUR.Value;
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 14 mars 2012 à 12:56
Salut,
essaye voir un truc du genre:
begin
...
if (TotMca <> 0 ) and (TotB <> 0) then
source.CustomerData.calculmetrecubeQU_BLOC.Value := totmca/totb
else
source.CustomerData.calculmetrecubeQU_BLOC.Value := 0;
end;
c'est la seule chose qui me vient à l'esprit avec les infos que tu donnes.
etienneborms
Messages postés3Date d'inscriptiondimanche 29 janvier 2012StatutMembreDernière intervention13 avril 2012 14 mars 2012 à 13:54
ui effectivement comme ça sa fonction cirec , mais je doit effectivement dabord vérifier que la valeur soit differente de zero, car si mon champ posède zero ca ne fonctionne pas , j'aurais naturellement préféré le faire sans ce genre de chose mais bon je vais devoir ecrire baucoup plus de cote car j'ai 49 champs à faire correspondre. encore merci à toi et à cantadorv pour vos réponse.