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

 Delphi Discussion :

problem de 'floattostr'


Sujet :

Delphi

  1. #1
    Candidat au Club
    Homme Profil pro
    etudient
    Inscrit en
    Février 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : etudient
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 2
    Par défaut problem de 'floattostr'
    bon jour tt le monde
    j'ai un pti prob le voila.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    a:=strtofloat(edit1.text);
    b:=strtofloat(edit2.text);
    c:=strtofloat(edit3.text);
    if a=0 then 
    c:=a+b;
    flottostr(c);
    */pour afiicher le rezultat dans edit3.text*/

    sa ne marche pas aidez moi svp???????????

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Gie,

    Quand tu écris
    Citation Envoyé par yakoooza Voir le message
    flottostr(c);
    tu penses que ton programme comprend que c'est pour mettre la chaîne obtenue (que tu ne récupères d'ailleurs pas) dans ton edit3 ?

  3. #3
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 786
    Par défaut
    Bonjour,
    Citation Envoyé par yakoooza Voir le message
    j'ai un pti prob le voila.
    a:=strtofloat(edit1.text);
    b:=strtofloat(edit2.text);
    c:=strtofloat(edit3.text);
    if a=0 then
    c:=a+b;
    flottostr(c);
    */pour afiicher le rezultat dans edit3.text*/

    sa ne marche pas aidez moi svp???????????
    Soyez précis dans la description de votre problème !
    Que voulez vous dire par "ça ne marche pas" ?
    Y a-t-il un message d'erreur ?
    L'affichage ne présente pas des données attendues ?
    Ensuite utilisez la balise code pour présenter votre exemple que je modifierai comme suit afin de le rendre fonctionnel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    a := StrToFloat(Edit1.Text);
    b := StrToFloat(Edit2.Text);
    c := StrToFloat(Edit3.Text);
    if a = 0 then 
      c := a + b;
    // Correction
    Edit3.Text := FloatToStr(c);
    Enfin, attention à ce qui est saisi dans vos composants TEdit, l'appel de la fonction StrToFloat pourrait déclencher une exception que l'on pourrait traiter comme suit :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
      // Contrôle de saisie dans Edit1
      try
        a := StrToFloat(Edit1.Text);
      except
        on E: Exception do
        begin
          MessageDlg(E.Message, mtError, [mbOK], 0);
          Edit1.SetFocus;
          Exit;
        end;
      end;
      // Contrôle de saisie dans Edit2
      try
        b := StrToFloat(Edit2.Text);
      except
        on E: Exception do
        begin
          MessageDlg(E.Message, mtError, [mbOK], 0);
          Edit2.SetFocus;
          Exit;
        end;
      end;
      // Contrôle de saisie dans Edit3
      try
        c := StrToFloat(Edit3.Text);
      except
        on E: Exception do
        begin
          MessageDlg(E.Message, mtError, [mbOK], 0);
          Edit3.SetFocus;
          Exit;
        end;
      end;
     
      // Traitement
      if a = 0 then
        c := a + b;
      Edit3.Text := FloatToStr(c);
    --
    Philippe.

  4. #4
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 508
    Par défaut
    Bonjour,

    si Yakoooza veut éviter les premiers "Try .. Except", il peut aussi utiliser la fonction TryStrToFloat :

    function TryStrToFloat(const S: string; out Value: Extended): Boolean; overload;

    Cette fonction renvoi False en cas d'erreur

    @+

Discussions similaires

  1. Probleme de rafraichissement d'un BDGrid
    Par marmotte dans le forum Bases de données
    Réponses: 10
    Dernier message: 28/05/2004, 18h07
  2. Réponses: 2
    Dernier message: 30/05/2002, 08h54
  3. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01
  4. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  5. [Kylix] Probleme de nombre flottant!!
    Par yopziggy dans le forum EDI
    Réponses: 5
    Dernier message: 02/05/2002, 10h13

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