verifier le type d'une chaine de caractere

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Chris a écrit :La télé!

J'ai vu ton avatar dans un dessin animé. (Je zappais, je précise, sinon, on va croire que je regarde les dessins animés) :lol:
Ouais, et moi je m'appelle Mireille :jesors:
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

Denis a écrit :J'ai utilisé ce code dans mon PureLoto contrôleur pour tester que la chaine est strictement composée de chiffres

Code : Tout sélectionner

      ; on vérifie chaque caractère pour déterminer si c'est un chiffre
      For i = 0 To (Len(A$) - 1)
         Valeur = PeekB(@A$ + i)
         If Valeur < 48 Or Valeur > 57 ; c'est une erreur
            Erreur + 1
         EndIf
      Next i
interessant, je cherchais le moyen d'obtenir un "pointeur" sur une chaine de caractere, et voilou...

Code : Tout sélectionner

/* recursive descent parser For arithmetic/logical expressions */
int S ( void ) {
int o = J ( ) ;
switch ( [color=red]* P ++[/color] ) {
  Case '=' : Return o == S ( ) ;
    Break ;
  Case '#' : Return o != S ( ) ;
  Default : P -- ; return o ;
  }
} /* End s */


pat
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

On peut aussi utiliser les pointeurs PureBasic

Code : Tout sélectionner

; on vérifie chaque caractère pour déterminer si c'est un chiffre 
   A$ = "123frd"
   *Pt = @A$

;   Valeur = 1  : doit être différent de 0 pour commencer la boucle (fin de chaine)
   Valeur = 1
   While Valeur
          Valeur = PeekB(*Pt)
          Debug Chr(Valeur)
          If Valeur < 48 Or Valeur > 57 ; c'est une erreur 
             Erreur + 1 
             Break  ; on sort pusiqu'il a une erreur
          EndIf 
       *Pt + 1
   Wend
Répondre