Erreur interne : C1091 [Résolu]

Messages postés
31
Date d'inscription
lundi 14 mai 2012
Dernière intervention
21 août 2012
- - Dernière réponse : JacKrauser
Messages postés
31
Date d'inscription
lundi 14 mai 2012
Dernière intervention
21 août 2012
- 18 juin 2012 à 10:36
Salut à tous !
Voilà, je bosse sur un projet en delphi en ce moment, or je viens de tomber sur une erreur que je n'arrive pas à résoudre.
Voici mon code :
procedure TFPoisson.btnCalculClick(Sender: TObject);
begin
  val(edNombre.Text, nombre, code1);
  val(edProbabiliteessai.Text, probabiliteessai, code2);
  val(edPrecision.Text, precision, codeP);

  if ((code1<>0) or (edNombre.Text='')) then
  begin
  ShowMessage('Veuillez rentrer un nombre d''essai.');
  edNombre.Text:='';
  edNombre.SetFocus;
  end;
  if ((code2<>0) or (edProbabiliteessai.Text='')) then
  begin
  ShowMessage('Veuillez rentrer une valeur pour la probabilité de l''essai.');
  edProbabiliteessai.Text:='';
  edProbabiliteessai.SetFocus;
  end;
  if ((codeP<>0) or (edPrecision.Text='')) then
  begin
  ShowMessage('Veuillez renseigner un chiffre pour la précision.');
  edPrecision.Text:='';
  edPrecision.SetFocus;
  end;
  if ((precision<0) or (precision>9)) then
  begin
  ShowMessage('La précision doit être comprise entre 0 et 9');
  edPrecision.Text:='';
  edPrecision.SetFocus;
  end;

if (code1+code2+codeP=0) then
begin
  if nombre<11 then
  for i:=0 to nombre do
    begin
      if i=0 then
      begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultat1.Caption:=FloatToStr(probabilite);
      end;
      if i=1 then
      begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultat2.Caption:=FloatToStr(probabilite);
      end;
      if i=2 then
      begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultat3.Caption:=FloatToStr(probabilite);
      end;
      if i=3 then
      begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultat4.Caption:=FloatToStr(probabilite);
      end;
      if i=4 then
      begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultat5.Caption:=FloatToStr(probabilite);
      end;
      if i=5 then
      begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultat6.Caption:=FloatToStr(probabilite);
      end;
      if i=6 then
      begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultat7.Caption:=FloatToStr(probabilite);
      end;
      if i=7 then
      begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultat8.Caption:=FloatToStr(probabilite);
      end;
      if i=8 then
      begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultat9.Caption:=FloatToStr(probabilite);
      end;
      if i=9 then
      begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultat10.Caption:=FloatToStr(probabilite);
      end;
      if i=10 then
      begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultat1.Caption:=FloatToStr(probabilite);
      end;
    end;
    end;
    if nombre>11 then
    begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultatSup.Caption:=FloatToStr(probabilite);
    end;
end
else
  begin
  lbResultat1.Caption:='';
  lbResultat2.Caption:='';
  lbResultat3.Caption:='';
  lbResultat4.Caption:='';
  lbResultat5.Caption:='';
  lbResultat6.Caption:='';
  lbResultat7.Caption:='';
  lbResultat8.Caption:='';
  lbResultat9.Caption:='';
  lbResultat10.Caption:='';
  lbResultatSup.Caption:='';
end;
end;

En le compilant, j'ai l'erreur : Erreur interne : C1091.
L'un de vous a t'il une idée ?
Merci d'avance.
Afficher la suite 
A voir également:

Votre réponse

11 réponses

Meilleure réponse
Messages postés
423
Date d'inscription
samedi 17 mai 2003
Dernière intervention
4 août 2018
3
Merci
La partie de code qui pose problème corrigée :
procedure TFPoisson.btnCalculClick(Sender: TObject);
var
  i: Integer;    // <- Variable locale
begin
  val(edNombre.Text, nombre, code1);
  val(edProbabiliteessai.Text, probabiliteessai, code2);
  val(edPrecision.Text, precision, codeP);

  if ((code1<>0) or (edNombre.Text='')) then
  begin
  ShowMessage('Veuillez rentrer un nombre d''essai.');
  edNombre.Text:='';
  edNombre.SetFocus;
  end;
  if ((code2<>0) or (edProbabiliteessai.Text='')) then
  begin
  ShowMessage('Veuillez rentrer une valeur pour la probabilité de l''essai.');
  edProbabiliteessai.Text:='';
  edProbabiliteessai.SetFocus;
  end;
  if ((codeP<>0) or (edPrecision.Text='')) then
  begin
  ShowMessage('Veuillez renseigner un chiffre pour la précision.');
  edPrecision.Text:='';
  edPrecision.SetFocus;
  end;
  if ((precision<0) or (precision>9)) then
  begin
  ShowMessage('La précision doit être comprise entre 0 et 9');
  edPrecision.Text:='';
  edPrecision.SetFocus;
  end;

if (code1+code2+codeP=0) then
begin
  if nombre<11 then
    for i:=0 to Round(nombre) do
    begin
      if i=1 then
      begin
        probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
        lbResultat1.Caption:='P(X=1)='+FloatToStr(probabilite);
      end
      else
        lbResultat1.Caption:='';
      //end;   <- supprime tous les "end" qui ne correspondent à aucun "begin" !!!!!
      if i=2 then
      begin
        probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
        lbResultat2.Caption:='P(X=2)='+FloatToStr(probabilite);
      end
      else
      lbResultat2.Caption:='';
      //end;
      if i=3 then
      begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultat3.Caption:='P(X=3)='+FloatToStr(probabilite);
      end
      else
      lbResultat3.Caption:='';
      //end;
      if i=4 then
      begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultat4.Caption:='P(X=4)='+FloatToStr(probabilite);
      end
      else
      lbResultat4.Caption:='';
      //end;
      if i=5 then
      begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultat5.Caption:='P(X=5)='+FloatToStr(probabilite);
      end
      else
      lbResultat5.Caption:='';
      //end;
      if i=6 then
      begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultat6.Caption:='P(X=6)='+FloatToStr(probabilite);
      end
      else
      lbResultat6.Caption:='';
      //end;
      if i=7 then
      begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultat7.Caption:='P(X=7)='+FloatToStr(probabilite);
      end
      else
      lbResultat7.Caption:='';
      //end;
      if i=8 then
      begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultat8.Caption:='P(X=8)='+FloatToStr(probabilite);
      end
      else
      lbResultat8.Caption:='';
      //end;
      if i=9 then
      begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultat9.Caption:='P(X=9)='+FloatToStr(probabilite);
      end
      else
      lbResultat9.Caption:='';
      //end;
      if i=10 then
      begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultat10.Caption:='P(X=10)='+FloatToStr(probabilite);
      end
      else
      lbResultat10.Caption:='';
      //end;
    end;
    if nombre>11 then
    begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultatSup.Caption:='P(X='+FloatToStr(nombre)+')='+FloatToStr(probabilite);
    end
    else
    lbResultatSup.Caption:='';
    //end;
end


Corrections :
1) ajout d'une variable locale pour la boucle,
2) suppression de tous les "end" qui ne referment aucun "begin".

Conseil : soigne l'indentation qui permet de repérer plus facilement l'erreur n°2

Pas le temps de tester plus, mais ça compile.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de korgis
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
0
Merci
Salut,
beaucoup de choses me choquent dans ce code ... on pourrait faire mieux en beaucoup plus court mais il me semble que dans ce bout de code un "end;" est de trop !!!

    end;
    end;  // <-----  celui-ci !!!!!
    if nombre>11 then
    begin
      probabilite := (power(probabiliteessai,nombre)*exp(-probabiliteessai))/(nombre);
      lbResultatSup.Caption:=FloatToStr(probabilite);
    end;



[hr]@+Cirec
[hr]
Commenter la réponse de Cirec
Messages postés
31
Date d'inscription
lundi 14 mai 2012
Dernière intervention
21 août 2012
0
Merci
J'ai toujours la même erreur.
Malgré tout, si tu as des améliorations à me proposer, je suis preneur ...
Je ne fais que débuter en Delphi
Commenter la réponse de JacKrauser
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Dernière intervention
9 janvier 2013
0
Merci
Bonjour,

En plaçant la sélection dans la fenêtre de message sur la ligne indiquant l'erreur interne C1091, que dit l'aide en ligne ?

May Delphi be with you

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Commenter la réponse de cs_Delphiprog
Messages postés
31
Date d'inscription
lundi 14 mai 2012
Dernière intervention
21 août 2012
0
Merci
Euh c'est à dire ?
Je n'arrive pas à "introduire" ce code dans l'onglet construction.
Je commence en Delphi, il ne doit pas s'agir d'une manipulation qui m'est inconnue.
Commenter la réponse de JacKrauser
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Dernière intervention
9 janvier 2013
0
Merci
Peux-tu nous dire avec quelle version de Delphi tu rencontres ce message d'erreur ?

May Delphi be with you

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Commenter la réponse de cs_Delphiprog
Messages postés
31
Date d'inscription
lundi 14 mai 2012
Dernière intervention
21 août 2012
0
Merci
Je suis sous Delphi 7.
J'aurai du le préciser plus tôt.
Commenter la réponse de JacKrauser
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
0
Merci
Salut DelphiProg, ça fait plaisir de voir à nouveau parmi nous.

sinon y a t il autre chose dans le code que cette procédure ?

et peux tu mettre le code en ligne sur un site de téléchargement(partage) ?
ce serait bien plus simple pour débusquer cette erreur.


[hr]@+Cirec
[hr]
Commenter la réponse de Cirec
Messages postés
31
Date d'inscription
lundi 14 mai 2012
Dernière intervention
21 août 2012
0
Merci
Je mettrai en ligne le code complet vers 8h.
Je vous remercie de vous occuper de mon code ;D
Commenter la réponse de JacKrauser
Messages postés
31
Date d'inscription
lundi 14 mai 2012
Dernière intervention
21 août 2012
Commenter la réponse de JacKrauser
Messages postés
31
Date d'inscription
lundi 14 mai 2012
Dernière intervention
21 août 2012
0
Merci
Ca marche super bien ;)
Merci, je n'avais même pas remarqué cette erreur :D
Commenter la réponse de JacKrauser

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.