aldweb

Close I. aldweb

Close II. PC Freeware

Close III. Palm Freeware

Close IV. Palm Shareware

Close V. iziBasic Palm

Close VI. Palm Knowledge

Close VII. Pocket Computer

Close VIII. miniPortail

Special !



Mobile version of
the aldweb Site

m.aldweb.com


Neither French, nor English?

Try one of these flags then:
[de] [es] [it] [pt]
Search




Weather / Spam / www

Lyon Weather


aldweb against spam


Newsletter
To receive news about this website, consider subscribing to our Newsletter.
Subscribe
Unsubscribe
298 Subscribers
Family's web sites

Webmaster - Infos
Friends News
Visits

   visitors

   visitors online

Poll
What do you think of the new design of the aldweb Site?
 
Great !
Beautiful
Average
So ugly...
Results
forum.gifForum - iziBasic - Topic #1070

Forum - Forum
iziBasic - iziBasic


Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 257

active  Topic # 1070  Test sur un caractère

21/01/2005 @ 15:53
by apdi2003

Anonymous



Dans un programme de saisie, l'opérateur entre des caractères et j'ai besoin de savoir si ce sont des chiffres, des lettres ou autre chose. Il y a des plages de valeur Ascii pour cela mais je ne vois pas comment les exploiter avec iziBasic.

En gros j'aimerais pouvoir écrire :
a=asc(a$­­)
if a>47 and a<58 let b$­­="c'est un chiffre"
mais je bute sur le fait que les if ne peuvent pas être imbriqués.
Un opérateur d'appartenance ne serait pas mal non plus. Ou ...

En attendant votre soutien, je vais prendre un aspegic.
  Post an answer  Top

[]   


Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 1
--------
22/01/2005 @ 09:55
by apdi2003

Anonymous

visitor
Bonjour,

Je me réponds à moi-même pour ne pas laisser la question pendante. J'utilise une collection de case : case 47, case 48 ... mais je ne trouve pas ça très élégant et heureusement je ne m'intéressais qu'aux chiffres. Le jour où je devrai piéger les minuscules et les majuscules !

Dans QuickBasic il y avait la structure : Case <condition> [<instruction>] qui permettait d'écrire : case 48 to 57 serait-ce une piste ?

Cordialement.Apdi2003
  Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 2
--------
22/01/2005 @ 12:05
by aldweb

Anonymous

visitor
Tu peux faire comme ceci :
{PARSER ON}
b=(a>47) and (a<58)
{PARSER OFF}
if b=true let b$­­­­="c'est un chiffre"

Ou encore plus simplement :
if a>47 if a<58 let b$­­­­="c'est un chiffre"


Bravo pour l'aspegic, ça me paye à la fin du mois


@+
aldweb
Write to aldweb   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 3
--------
22/01/2005 @ 13:15
by apdi2003

Anonymous

visitor
Bonjour Alweb

C'est décidé : je ne lirai plus les doc.

J'avais lu que derrière un IF on ne pouvait pas mettre un autre IF et je cherchais midi à 14 heures.

Chapeau l'artiste. D'où l'utilité du forum et de la nécessaire humilité pour avouer ce qu'on ne sait pas faire.
  Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 4
--------
22/01/2005 @ 14:16
by aldweb

Anonymous

visitor
Bonjour apdi2003,

Surtout change de décision !

Si en lisant une doc, tu ne comprends pas, c'est que la doc est mal écrite.
Donc, je vais essayer d'expliquer la chose...

Tu peux mettre plusieurs IF l'un derrière l'autre dans la formulation monoligne de IF. Sauf qu'aucun de ces IF ne doit être suivi d'un THEN.

Il va falloir que je reprenne le IF, qui est l'instruction la plus fondamentale, pour l'améliorer face à ses limitations actuelles.

A l'origine, j'ai construit cette instruction un peu comme un
WHILE A=1:A=0:[instruction]:WEND
ce qui n'est pas très bien et amène quelques artéfacts...



@+
aldweb
Write to aldweb   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 5
--------
24/01/2005 @ 08:49
by apdi2003

Anonymous

visitor
Merci Aldweb d'avoir écrit les programmes exemples.

J'ai repris Nekocat qui est une démonstration magistrale d'utilisation du IF et je n'aurais jamais du m'autolimiter ainsi. Je projette d'assimiler la cage d'ascenseur au chat et le clic du stylet à la nourriture pour déplacer l'enregistrement courant. Rien que l'idée m'amuse déjà.

Cordialement. Apdi2003
  Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 6
--------
24/01/2005 @ 21:07
by aldweb

Anonymous

visitor
Puis-je te proposer une petite interrogation écrite pour toi cher ami apdi2003 ?

Comment corriger la ligne suivante pour qu'elle marche dans iziBasic ?
if a<=47 or a>=58 let b$­­­­­­="ce n'est pas un chiffre"


@+
aldweb
Write to aldweb   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 7
--------
24/01/2005 @ 21:50
by apdi2003

Anonymous

visitor
Relevé des feuilles

{parser on}
b=(a>47)*(a<58):if b=0 let b$­­="ce n'est pas un chiffre"

il existe sans doute d'autres possibilités.

A +
apdi2003
  Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 8
--------
24/01/2005 @ 22:02
by aldweb

Anonymous

visitor
Cette solution a le mérite d'être élégante.
Surtout elle marche !
Donc elle est bonne
Bravo à toi

@+
aldweb
Write to aldweb   Post an answer  Top

Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 9
--------
24/01/2005 @ 22:14
by aldweb

Anonymous

visitor
Impressionné par ta belle utilisation de la multiplication pour le OU logique, j'en oubliais le message subliminal :
les
IF test1 IF test2 IF test3 fais quelqueChose
sont bien un équivalent du
IF test1 ET test2 ET test3 fais quelqueChose


@+
aldweb
Write to aldweb   Post an answer  Top
active topic active   closed topic closed   Sticky Sticky   New New message   -   Correct Correct message   Close Close topic   Make sticky Make sticky
[]
Forum Topic  Forum 



 
^ Top ^