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 :

Problème dans un code sous Delphi


Sujet :

Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 211
    Points : 76
    Points
    76
    Par défaut Problème dans un code sous Delphi
    Bonjour tout le monde,

    étant débutante en Delphi, j'essaie ca fait deux jour de compiler un programme me permettant de faire l somme de deux nombres integer voici 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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    unit test1;
    
    interface
    
    uses
            Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
    
    type
            TForm1 = class(TForm)
            Button1: TButton;
            Memo2: TMemo;
            Memo1: TMemo;
            Memo3: TMemo;
            procedure Button1Click(Sender: TObject);
            private
            { Déclarations privées }
            public
            { Déclarations publiques }
    end;
    
    var
            Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    function Somme(nombre1, nombre2 : integer):integer;
    begin
            somme := nombre1 + nombre2;
    end;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
            nb1, nb2: integer;
    begin
            nb1 := StrToInt(memo1.Text);
            nb2 := StrToInt(memo2.Text);
            memo3.Lines.add(Somme(nb1,nb2));
    end;
    
    end.
    l'erreur se situe dans la ligne en rouge ou on me donne comme raison : Types incompatible: 'String' et 'Integer'

    est ce que quelqu'un trouve la faille parce que à force je ne trouve plus ou se situe l'erreur.

    Merci d'avance

  2. #2
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 288
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 288
    Points : 1 936
    Points
    1 936
    Par défaut
    Peut-être un IntToStr?
    Delphi 7/XE2/XE3
    C#
    Oracle 9i à 12c
    SQL Server 2008 à 2014

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 211
    Points : 76
    Points
    76
    Par défaut
    Oui t'as tout à fait raison il suffisait de convertir la valeur de la fonction somme en string et ca marche

    memo3.Lines.add(IntToStr(Somme(nb1,nb2)));

    Sinon je voulais demander une autre question:

    Comment faire pour pourvoir écrire un texte dans une Memo, j'ai essayé MessageDlg mais ca ne marche pas.

    Merci d'avance

  4. #4
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Je comprends pas ton soucis....
    Si tu veux écrire du texte dans un Memo, tu fais la même chose que pour la somme.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    memo3.Lines.add("Mon texte");
    A moins que je n'ai pas compris la question

  5. #5
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    pour la saisie

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 211
    Points : 76
    Points
    76
    Par défaut
    en fait voila ce que je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Memo1.Lines.add(edit1.Text, ' + ', edit2.Text, ' = ', IntToStr(Somme(nb1, nb2)));
    et je souhaite qu'il m'écrive dans la ligne ajoutée le premier nombre correspondant à ca que l'utilisateur met dans edit1+ le second nombre qui sera la valeur ajoutée dans edit2 = la valeur que la fonction Somme renvoie

    mais ca ne marche pas pour moi

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 211
    Points : 76
    Points
    76
    Par défaut
    j'ai essaiyé inputQuery comme suite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            msgMemo := inputQuery(edit1.Text, ' + ', edit2.Text, ' = ', IntToStr(Somme(nb1, nb2))); 
     
            Memo1.Lines.add(msgMemo);
    ca me donne comme erreur :
    les types des paramètres VAR originaux et formels doivent être identiques
    Types incompatible : 'String' et 'Boolean'

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 21
    Points : 17
    Points
    17
    Par défaut voila, essayes ce truc
    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
    39
    40
    41
    42
    43
    44
    45
    unit main;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
     
    type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Label1: TLabel;
        Edit2: TEdit;
        Button1: TButton;
        Edit3: TEdit;
     
     
        procedure Button1Click(Sender: TObject);
     
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
      var
      n1,n2,resul:integer;
     
     procedure TForm1.Button1Click(Sender: TObject);
     
    begin
    n1:=strtoint(edit1.text);
    n2:=strtoint(edit2.text);
    resul:=n1+n2;
      edit3.Text:=inttostr(resul);
    end;
     
     
    end.

  9. #9
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function AsserstrEdit(aedit:tedit):integer;
    begin
      try
     result:= strtoint(aedit.text);
      except
      aedit.SetFocus;
      raise;
    end;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    nb1:=AsserstrEdit(edit1);
    nb2:=AsserstrEdit(edit2);
     
    Memo1.Lines.add(Format('%s + %s = %d',[edit1.text,edit2.text,Somme(nb1, nb2)]);

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 211
    Points : 76
    Points
    76
    Par défaut
    Merci pour votre aide j'ai trouvé la solution: en fait le code doit ressembler à ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
            nb1 : integer;
            nb2 : integer;
            calcul : String;
    begin
            nb1 := StrToInt(edit1.Text);
            nb2 := StrToInt(edit2.Text);
     
            calcul := IntToStr(Somme(nb1, nb2));
     
            Memo1.Lines.add(edit1.Text + ' + ' + edit2.Text + ' = ' + calcul);
    end;
    et ça fonctionne merci pour votre aide qd meme

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/05/2011, 13h36
  2. Problème dans un code delphi dans C++Builder
    Par gandf dans le forum Delphi
    Réponses: 5
    Dernier message: 27/03/2007, 23h14
  3. Problème dans un code delphi dans C++Builder
    Par gandf dans le forum C++Builder
    Réponses: 8
    Dernier message: 23/03/2007, 23h12
  4. DbLoockUpComboBox dans un DbCtrlGrid sous Delphi 7
    Par astn dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/03/2005, 09h31
  5. Quel est le problème dans ce code ?
    Par Luther13 dans le forum C
    Réponses: 12
    Dernier message: 26/08/2003, 16h09

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