IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

somme de 2 reels sous delphi


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 161
    Par défaut somme de 2 reels sous delphi
    salut tout le monde,
    Je suis débutante en delphi et j'ai un petit problème.
    J'ai un petit programme à faire.
    Je veux calculer la moyenne des étudiants comme suis :

    resultat = (emd1 + emd2 + tp + td) / 4

    mais j'ai un problème.
    Voilà mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    procedure TForm2.Button1Click(Sender: TObject);
    var  EMD1      :real; // On déclare ici que N1 et N2 sont des variables de type reel
    EMD2      :real; // C'est à dire que N1 et N2 contiendront des données reel
    TD  :real;
    TP  :real;
    Resultat1,Resultat2 :real; // même remarque que pour N1 et N2
     
    begin
     EMD1:=StrToFloat(Edit4.Text);
     EMD2:=StrToFloat(Edit5.Text);
     TD:=StrToFloat(Edit6.Text);
     TP:=StrToFloat(Edit7.Text);
     
          Resultat1:= EMD1+ EMD2+TD+TP; // calcul du résultat
          //Resultat1:=StrToInt(Edit7.Text);
     
         Resultat2:= Resultat1 / 4;
     
      Resultat2 :=FloatToStr( Edit8.Text);
      Resultat2 :=FloatToInt( Edit8.Text);
     
     
    end;
     
    end.
    et les erreurs sont les suivantes:
    [Erreur] Unit2.pas(61): Types incompatibles : 'Extended' et 'TCaption'
    [Erreur] Unit2.pas(62): Identificateur non déclaré : 'FloatToInt'
    [Erreur fatale] Project1.dpr(6): Impossible de compiler l'unité utilisée 'Unit2.pas'
    J'espère qu'il y a quelqu'un qui peut m'aider
    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 132
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 132
    Par défaut
    Bonsoir,
    Citation Envoyé par fleurrouge Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      Resultat2 :=FloatToStr( Edit8.Text);
      Resultat2 :=FloatToInt( Edit8.Text);
    end.
    et les erreurs sont les suivantes:
    [Erreur] Unit2.pas(61): Types incompatibles : 'Extended' et 'TCaption'
    [Erreur] Unit2.pas(62): Identificateur non déclaré : 'FloatToInt'
    Erreur de la ligne 62 : normal, FloatToInt n'existe pas...

    Erreur de la ligne 61 : Edit8.Text := FloatToStr(Resultat2); ça devrait être mieux dans ce sens-là...

    PS : la prochaine fois, tu évites le sms, en accord avec les règles du forum, merci.
    C'est déjà suffisamment compliqué de décortiquer du code tordu, des fois...

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 161
    Par défaut
    salut
    bon j'ai essayé mais toujours il y a des problèmes voila mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    procedure TForm2.Button1Click(Sender: TObject);
    var  EMD1      :real; // On déclare ici que N1 et N2 sont des variables de type reel
    EMD2      :real; // C'est à dire que N1 et N2 contiendront des données reel
    TD  :real;
    TP  :real;
    Resultat1,Resultat2 :real; // même remarque que pour N1 et N2
     
    begin
     EMD1:=StrToFloat(Edit4.Text);
     EMD2:=StrToFloat(Edit5.Text);
     TD:=StrToFloat(Edit6.Text);
     TP:=StrToFloat(Edit7.Text);
     
          Resultat1:= EMD1+ EMD2+TD+TP;  
         Resultat2:= Resultat1 / 4;
     
     
      Resultat2 :=FloatToStr( Edit8.Text);
      Resultat2 :=FloatToInt( Edit8.Text);
      Edit8.Text := FloatToStr(Resultat2);
     
    end;
     
    end
    et voila qu'est ce que j'ai comme erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [Erreur] Unit2.pas(63): Types incompatibles : 'Extended' et 'TCaption'
    [Erreur] Unit2.pas(64): Identificateur non déclaré : 'FloatToInt'
    [Erreur fatale] Project1.dpr(6): Impossible de compiler l'unité utilisée 'Unit2.pas'

  4. #4
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 931
    Billets dans le blog
    6
    Par défaut
    Jipété t'a donné les solutions !

    [Erreur] Unit2.pas(61): Types incompatibles : 'Extended' et 'TCaption'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Resultat2 :=FloatToStr( Edit8.Text);
    qu'attends-tu que fasse cette ligne ?
    qu'elle affiche Resultat2 dans l'Edit8 ?
    ou que Resultat2 prenne la valeur de l'Edit8 ?

    pour l'autre erreur, regarde la fonction Trunc, qui doit renvoyer la partie entière d'un réel, car FloatToInt n'existe pas.

    au passage, si tu affiches 2 choses différentes dans Edit8 dans 2 instructions consécutives, ça promet d'être suffisamment rapide pour rater la première info !
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 161
    Par défaut
    salut
    c'est bon c'est résolu mais et voila c'est que j'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    procedure TForm2.Button1Click(Sender: TObject);
    var  EMD1      :real; // On déclare ici que N1 et N2 sont des variables de type reel
    EMD2      :real; // C'est à dire que N1 et N2 contiendront des données reel
    TD  :real;
    TP  :real;
    Resultat1,Resultat2 :real; // même remarque que pour N1 et N2
     
    begin
     EMD1:=StrToFloat(Edit4.Text);
     EMD2:=StrToFloat(Edit5.Text);
     TD:=StrToFloat(Edit6.Text);
     TP:=StrToFloat(Edit7.Text);
     
          Resultat1:= EMD1+ EMD2+TD+TP; // calcul du résultat
     
         Resultat2:= Resultat1 / 4;
     
      Edit8.Text := FloatToStr(Resultat2);
     
     
    end;
    mais le problème qui se pose c'est quand je rentre la valeur 13.33 dans edit4 pour emd1 et d'autre champ exemple emd2 14.25
    dans l'exécution il pose le problème suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    13.33 n'est pas une valeur en virgule flottante correcte
    13.33 n'est pas une valeur en virgule flottante correcte

  6. #6
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 086
    Par défaut
    Comme tu es débutant, je vais t'apprendre la chose la plus importante que tu dois connaitre la touche F1 donnant accès l'aide de Delphi !
    D'où tu sors FloatToInt, faut vérifier que les fonctions existent !



    Pourquoi real ?
    Selon la version de Delphi, il est codé en 48 ou 64bits
    utilise des Double ou Extended !

    Attention 13.33 et 14.25 c'est ce que l'on écrit dans le code source
    Si tu as un OS Français, StrToFloat utilise une virgule (voir DecimalSeparator) donc 13,33 et 14,25 dans le TEdit !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/01/2009, 10h36
  2. retrouver les compsants FASTNET sous Delphi 7
    Par fandor7 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 11/06/2003, 18h11
  3. Comment créér une collection sous Delphi
    Par PsyKroPack dans le forum Langage
    Réponses: 6
    Dernier message: 11/02/2003, 13h20
  4. calcul sous delphi
    Par djedje-08 dans le forum Langage
    Réponses: 5
    Dernier message: 08/02/2003, 17h39
  5. Réponses: 4
    Dernier message: 27/03/2002, 11h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo