cs_mounjetado
Messages postés66Date d'inscriptionlundi 13 mars 2006StatutMembreDernière intervention 4 août 2008
-
16 mars 2006 à 11:00
cs_mounjetado
Messages postés66Date d'inscriptionlundi 13 mars 2006StatutMembreDernière intervention 4 août 2008
-
20 mars 2006 à 10:38
bonjour :)
j'utilise une variable pour définir une plage dans une instruction case.
le compilateur me demande une constante, évidemment!
mon pb c'est que c'est un paramètre inconnu au départ de mon appli.
comment pourrais-je régler le pb?
si vous avez une idée...
merci d'avance!
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202237 18 mars 2006 à 10:39
correction :
utilisation de InRange plutot qu'une evaluation d'ensemble (IN), impossibilitée de faire un switch sur ce genre d'instruction.
If InRange(FSelectedModule,1,FModulesCount) ThenBegin ...
End Else If InRange(FSelectedModule,FModulesCount+1,MaxModulesCount) ThenBegin ...
End;
les instructions "A IN [ens]" n'accepte que les ordinaux 8bits shortint, byte et char.
la methode ci-dessus aurat donc une etendue plus globale avec des types entiers et réel de plus de 8bits.
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 18 mars 2006 à 13:50
Salut,
@ F0xi
tu écris Correction ce qui sous entend qu'il y a une erreur plus haut ?
En suite pour ce genre d'évaluation je me demande si c'est bien utile de déclarer l'unité Math pour faire appel a une fonction qui pour finir donnera le même résultat.
En suite quand on regarde la fonction de plus près, je me dis que le temps d'écrire l'appel de cette fonction tu as déjà écris 80% de son implémentation :
function InRange(const AValue, AMin, AMax: Integer): Boolean;
begin Result := (AValue >= AMin) and (AValue < = AMax);
end;
If InRange(FSelectedModule, 1, FModulesCount) Then ...
If (FSelectedModule >1) and (FSelectedModule < FModulesCount) Then ... Idem mais sans l'unité Math
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 16 mars 2006 à 11:36
Salut,
donne nous un peut plus d'informations sur la structure de l'instruction Case et les variables que tu y utilises ne seraient pas de trop pour se faire une idée du problème.
@+
Cirec
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_mounjetado
Messages postés66Date d'inscriptionlundi 13 mars 2006StatutMembreDernière intervention 4 août 2008 16 mars 2006 à 12:14
ok merci...
j'avais déjà fait ça; mais je voulais tenter de me débarasser des 'if' ;)
à plus et si tu as une idée pour le post que j'ai laissé sur "j'ai besoin d'aide" à propos du multithreading... ;)
bye
cs_mounjetado
Messages postés66Date d'inscriptionlundi 13 mars 2006StatutMembreDernière intervention 4 août 2008 20 mars 2006 à 10:38
ok merci FOxy et Cirec pour toute votre aide
sympa d'avoir des réponses et constructives avec ça!!! quel bonheur
DelphiProg excuse-moi si je m'y prends mal mais primo j'ai posté un message ds le forum... pas de réponse; et secundo bah tout le monde, en chat ici ou ailleurs, ou même toi, me renvoie vers le mm endroit que j'avais déjà visité, et qui ne m'est d'aucune utilité, vu qu'il ne prend pas la peine de déclarer au moins une fois un de ces TMREWS, histoire d'avoir un exemple... dc je ne sais pas du tout comment ça marche
bon, sur ce, je fais des erreurs mais je fais pas exprès et j'essaie de m'améliorer
dsl je suis qq peu susceptible mais ça aussi j'y travaille...