Index du forum




Un petit coup de main... Vous pouvez nous aider à mettre ce site à jour: n'hésitez pas à me contacter !!!

* Connexion   * Inscription

* FAQ
Nous sommes actuellement le 18 Mai 2022, 14:21

Index du forum » CPC Rulez » Z80 Coding

Le fuseau horaire est UTC+1 heure


Bug or not ?



Publier un nouveau sujet Répondre au sujet  Page 1 sur 1
 [ 9 message(s) ] 
  Aperçu avant impression Sujet précédent | Sujet suivant 
Auteur Message
velus
 Sujet du message : Bug or not ?
Message Publié : 12 Mars 2020, 05:58 
Hors-ligne
Rulezz
Rulezz

Inscription : 05 Août 2011, 14:38
Message(s) : 148
Hehe ;)

Le but c'est de choisir 1 ou 2 ça marche mais quand j'appuie sur le &. ERROR !!!!
Aucun soucis avec les autres touches !

10 ?"Ca ne va pas quand on pousse &. Pourquoi ?"
20 i$=(inkey$):if val (i$)<1 or val(i$)>2 then 20


Haut
 Profil  
 
Megachur
 Sujet du message : Re: Bug or not ?
Message Publié : 12 Mars 2020, 07:19 
Hors-ligne
VIP
VIP
Avatar de l’utilisateur

Inscription : 12 Juin 2008, 20:29
Message(s) : 1659
Hello

une réponse rapide.

je pense que cela vient de la conversion du char en val par VAL(i$)
il suffit de faire un print VAL("&") pour avoir un "Type mismatch"

donc à l'inverse je propose de rester en char et plutôt de convertir en char les valeurs de comparaisons :

Code :
20 i$=INKEY$:IF i$<CHR$(49) or i$>CHR$(51) THEN 20


cela semble marcher -> BASIC :winner: :D !


Haut
 Profil  
 
marcel
 Sujet du message : Re: Bug or not ?
Message Publié : 12 Mars 2020, 14:01 
Hors-ligne
Rulezzz
Rulezzz

Inscription : 26 Juil 2016, 13:06
Message(s) : 388
par principe je ne compare que ce que je souhaite détecter

Code :
10 a$=inkey$
20 if a$="1" then goto bidule : REM ou gosub
30 if a$="2" then goto truc : REM ou gosub
40 goto 10


Haut
 Profil  
 
velus
 Sujet du message : Re: Bug or not ?
Message Publié : 12 Mars 2020, 16:16 
Hors-ligne
Rulezz
Rulezz

Inscription : 05 Août 2011, 14:38
Message(s) : 148
Je suis d accord mais pourquoi seulement une erreur et une seule erreur avec cette fameuse touche &. S agit il d un bug je répète ma question


Haut
 Profil  
 
hERMOL
 Sujet du message : Re: Bug or not ?
Message Publié : 12 Mars 2020, 20:33 
Hors-ligne
Site Admin
Avatar de l’utilisateur

Inscription : 20 Août 2007, 18:21
Message(s) : 4827
T'as le même retour d'erreur avec ?val("-") ou ?val(".") :cow:

manuel de l'utilisateur a écrit :
FONCTION : Fournit la VALeur numérique du ou des premiers caractères (y compris le signe négatif et le point décimal) de la < chaîne alphanumérique > indiquée.

On obtient la valeur 0 lorsque le premier caractère de la chaîne n’est pas un chiffre. Si le signe « - » apparaît en premier caractère ou si celui-ci est un point décimal suivi d'un caractère non numérique, le message d’erreur «Type mismatch >» (erreur de frappe) (13) s’affiche à l’écran.

Mots clés associés : STR$


Haut
 Profil  
 
Megachur
 Sujet du message : Re: Bug or not ?
Message Publié : 12 Mars 2020, 21:01 
Hors-ligne
VIP
VIP
Avatar de l’utilisateur

Inscription : 12 Juin 2008, 20:29
Message(s) : 1659
velus a écrit :
Je suis d accord mais pourquoi seulement une erreur et une seule erreur avec cette fameuse touche &. S agit il d un bug je répète ma question


possible que le & indique un nombre hexadécimal et du coup VAL("&") provoque un plantage car & n'est pas une valeur caractère autorisé...

après vérification en basic, oui c'est ça... si tu tape print VAL("&10") on obtient 16 !

les meilleurs hypothèses sont celles qu'on vérifie ;-) ! :magic: :winner: :biere:


Haut
 Profil  
 
marcel
 Sujet du message : Re: Bug or not ?
Message Publié : 13 Mars 2020, 13:36 
Hors-ligne
Rulezzz
Rulezzz

Inscription : 26 Juil 2016, 13:06
Message(s) : 388
En fait le caractère est autorisé mais le mismatch vient qu'il est employé seul alors que le parser attend au minimum un chiffre ou un caractère de a/A à f/F ensuite
idem pour le - il s'attend à une valeur numérique derrière, éventuellement un & car on doit pouvoir faire un VAL d'une valeur hexa négative sans souci


Haut
 Profil  
 
hERMOL
 Sujet du message : Re: Bug or not ?
Message Publié : 15 Mars 2020, 10:03 
Hors-ligne
Site Admin
Avatar de l’utilisateur

Inscription : 20 Août 2007, 18:21
Message(s) : 4827
La définition du "Type mismatch" est pourtant claire ...

Citer :
13 Type mismatch (types de variable ne correspondant pas)
On a donné une valeur numérique pour une chaîne alphanumérique ou vice-versa ou un nombre non valable a été découvert par une commande READ ou INPUT.


c'est pas bug du basic , mais bien un bug dans la gestion des entrées clavier de ton code!


Haut
 Profil  
 
marcel
 Sujet du message : Re: Bug or not ?
Message Publié : 15 Mars 2020, 12:35 
Hors-ligne
Rulezzz
Rulezzz

Inscription : 26 Juil 2016, 13:06
Message(s) : 388
On peut quand même admettre que la notice n'a pas détaillé le cas du "&"
Par contre elle mentionne aussi l'usage du "."
Bref, la fonction n'est pas à toute épreuve comme un bon "atoi" en C


Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  Page 1 sur 1
 [ 9 message(s) ] 

Index du forum » CPC Rulez » Z80 Coding

Le fuseau horaire est UTC+1 heure


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Aller vers :  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduit en français par Maël Soucaze.