J'ai développé une application qui crée aléatoirement deux entiers et les ajoute ensuite. La somme des deux entiers doit être élaborée par un utilisateur et entrée dans TEdit. Lorsque j'utilise l'instruction if pour valider la réponse (en TEdt), j'obtiens une erreur. le code snipped:Validation de l'entrée TEdit, en la comparant avec une valeur entière
answer := int1+int2;
UserAnswer:=StrToInt(edtAnswer.Text);
if(UserAnswer=answer)then
lblRemark.Caption:= 'Correct Answer';
Quand exécuter l'application, je reçois un convertError une "erreur ... pas un entier valide".
Il y a un certain temps depuis ma dernière programmation en Delphi, mais à partir de quelques recherches, je pense qu'il serait prudent de considérer que votre valeur de chaîne de 'edtAnswer.Text' a des espaces qui peuvent conduire à une erreur de conversion. Essayez de réduire la valeur de la chaîne (supprime les espaces avant/arrière) avant de la convertir en une valeur entière à l'aide de la fonction de découpage, par exemple 'UserAnswer: = StrToInt (Trim (edtAnswer.Text));'. Aussi, vous devriez nous indiquer votre déclaration de variable et certaines valeurs que vous avez saisies dans le champ de texte. Cela devrait rendre beaucoup plus facile à utiliser pour trouver l'erreur. – Sascha