Pb de calcul ...

cs_etrix Messages postés 55 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 30 janvier 2004 - 5 avril 2003 à 20:55
speletux Messages postés 30 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 6 février 2014 - 14 sept. 2005 à 18:36
salut !
voila j'ai mon calcul:

with Form1 do
C2.Caption:= InttoStr(strToInt(E1.Caption) / strToInt(K2.Caption) - strToInt(k1.Caption) * strToInt(100);

ne marche pas

[Erreur] Unit1.pas(112): Types incompatibles : 'String' et 'Integer'

qqun a une odée de l'erreur ?

merci

6 réponses

cs_etrix Messages postés 55 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 30 janvier 2004
5 avril 2003 à 20:56
erf dsl je me suis trompé de theme :blush)
0
Emandhal Messages postés 194 Date d'inscription dimanche 2 mars 2003 Statut Membre Dernière intervention 10 octobre 2006 3
6 avril 2003 à 12:50
tu fait un "strToInt(100)" alors que 100 était pas une string mais un integer 2 solutions pour corriger :
C2.Caption:= InttoStr(strToInt(E1.Caption) / strToInt(K2.Caption) - strToInt(k1.Caption) * strToInt('100');
ou
C2.Caption:= InttoStr(strToInt(E1.Caption) / strToInt(K2.Caption) - strToInt(k1.Caption) * 100;

Tout problème a sa solution... Mais en général, c'est jamais la bonne...
0
cs_etrix Messages postés 55 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 30 janvier 2004
6 avril 2003 à 13:58
j'ai

[Erreur] Unit1.pas(112): Aucune version surchargée de 'IntToStr' ne peut être appelée avec ces arguments

avec les 2solutions, c'est bizarre ...
0
speletux Messages postés 30 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 6 février 2014
14 sept. 2005 à 02:11
essaie ceci:



1. Dans la section var:



n,p,d: integer;



2. Dans le code



n:=strToInt(E1.Caption);

p:=strToInt(K2.Caption);

d:=strToInt(k1.Caption);



C2.Caption := Format('%f',[ n / p - d * 100]);



En général:

- Décomposer un calcul complexe

- Définir des variables (une pour chaque terme)

La formule est plus facile à mettre au point.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_sim51 Messages postés 240 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 31 décembre 2006 2
14 sept. 2005 à 10:49
Salut,

Oui décompose ton calcul en déclarant les variables,d'une part c'est
plus lisible et le risque de faire des erreurs est moins important.

Sinon, moi je viens de découvrir qu'il manque une parenthèse à la fin :

C2.Caption:= InttoStr( strToInt(E1.Caption) / strToInt(K2.Caption) - strToInt(k1.Caption) * strToInt(100) );

N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!
0
speletux Messages postés 30 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 6 février 2014
14 sept. 2005 à 18:36
n:= strToInt(E1.Caption);

p:=strToInt(K2.Caption);

d:=strToInt(k1.Caption);



// protéger des div par zéro

if p <> 0 then C2.Caption : = Format('%f',[ n / p - d * 100]);
0
Rejoignez-nous