Select/EndSelect et expressions réelles

Archive.
Dräc
Messages : 526
Inscription : dim. 29/août/2004 0:45

Select/EndSelect et expressions réelles

Message par Dräc »

Peut-etre déjà rapporté :

Le cas suivant, qui utilise les réels, marche :

Code : Tout sélectionner

a.f= 8
Select a
  Case 8.0
    Debug "coucou"
EndSelect
mais pas celui-ci:

Code : Tout sélectionner

a.f= 8
b.f= 3
c.f=5
Select a
  Case b+c
    Debug "coucou"
EndSelect
Rq : Il va de soit que ce meme exemple marche avec des entiers.
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message par filperj »

En effet, pas très cohérent c't'affaire :?
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

comme les float son des nombres arrondis, le résultat n'est pas garanti

test simplement ceci :

Code : Tout sélectionner

a.f = 0.2
b.f = 0.1448
c.f = 0.0552
Debug StrF(a, 10)
Debug StrF(b+ c, 10)
If a = b + c
  Debug "Test OK"
EndIf
on comprend de suite que faire un Select dans ces conditions n'est pas possible
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

Le problème n'est pas que PureBasic ne puisse pas faire "Select 3 + 5", mais que purebasic ne peut malheuresemnt pas faire Select variable + vairable :

Code : Tout sélectionner

a.f= 8 
Select a 
  Case 3+5 
    Debug "coucou" 
EndSelect

Code : Tout sélectionner

a.f= 8 
b.f= 3 
c.f=5 
d.f = b + c
Select a 
  Case d 
    Debug "coucou" 
EndSelect
Répondre