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 boucle for : types incompatibles 'integer' et 'boolean'


Sujet :

Delphi

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Diletente
    Inscrit en
    Février 2016
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Diletente

    Informations forums :
    Inscription : Février 2016
    Messages : 36
    Points : 36
    Points
    36
    Par défaut Problème boucle for : types incompatibles 'integer' et 'boolean'
    Bonjour

    Pour mes debuts j essaie de retranscrire un code C# en delphi mais j ai une boucle C#
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(mi=1;mi<=nn*2-2;mi++)
    je la code donc comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     for mi := 1 to mi <= nn * 2 - 2 do
    et j ai le message d erreur suivant : [dcc32 Erreur] Unit1.pas(93): E2010 Types incompatibles : 'Integer' et 'Boolean'

    Je comprends ce que cela signifie mais je ne vois pas pourquoi dans ce cas precis de mes variables sont des integer...
    Vos lumieres sont les bienvenues
    merci

    Pour info et si cela interesse il s agit d un sciprt qui calcule une regression polynomale, script issu de calgo, un logiciel qui permet de faire des scripts pour trader.
    Le code integral est ici http://ctdn.com/algos/indicators/show/35

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    for mi := 1 to nn * 2 - 2 do
    pour mi de 1 à nn * 2-2 faire

    c'est tout de même plus naturel que le C non ?
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 069
    Points : 15 451
    Points
    15 451
    Billets dans le blog
    9
    Par défaut
    Bonjour !

    nn * 2 - 2 est un nombre, alors que mi <= nn * 2 - 2 est une proposition vraie ou fausse.

    L'équivalent de votre boucle en Pascal serait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for mi := 1 to nn * 2 - 2 do
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    mi := 1;
    while mi <= nn * 2 - 2 do
    begin
     
      mi := mi + 1;
    end;
    Il faut apprendre le Pascal !

    http://pascal.developpez.com/cours/#debuter
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Diletente
    Inscrit en
    Février 2016
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Diletente

    Informations forums :
    Inscription : Février 2016
    Messages : 36
    Points : 36
    Points
    36
    Par défaut
    Merci pour vos réponses

    En ce qui concerne mon apprentissage...j y travaille mais je veux certainement aller plus vite que la musique mais j y travaille ...

  5. #5
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    for mi := 1 to mi <= nn * 2 - 2 do
    Ha oui mais non !

    Tu sais, en matière de boucles, il y a aussi while .. do et repeat ... until :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    mi:=1;
    while (mi <= nn * 2 - 2) do
    begin
       ...
    end;
     
    mi:=1;
    Repeat 
      ...
    until (mi <= nn * 2 - 2);
    Bidouilleuse Delphi

  6. #6
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    Citation Envoyé par LadyWasky Voir le message
    Ha oui mais non !

    Tu sais, en matière de boucles, il y a aussi while .. do et repeat ... until :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    mi:=1;
    while (mi <= nn * 2 - 2) do
    begin
       ...
    end;
     
    mi:=1;
    Repeat 
      ...
    until (mi <= nn * 2 - 2);

    sans oublier "mi++" soit "Inc(mi)" sinon ça risque de boucler un certain temps
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  7. #7
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    sans oublier "mi++" soit "Inc(mi)" sinon ça risque de boucler un certain temps
    Cela va de soit (ça fait partie des 3 p'tits points )
    Bidouilleuse Delphi

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

Discussions similaires

  1. insertion de données issues d'un array sans boucles de type for each ou while.
    Par piotrowski-s dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 05/09/2012, 11h27
  2. Réponses: 8
    Dernier message: 08/05/2012, 21h11
  3. [Toutes versions] Boucle de type For Each en Dynamique
    Par L'Albatros dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 02/05/2012, 09h51
  4. Réponses: 3
    Dernier message: 20/09/2006, 22h35
  5. Type incompatible integer et extended
    Par ffxlenoir dans le forum Langage
    Réponses: 2
    Dernier message: 02/12/2005, 16h59

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