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;
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.
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.