Comment récupérer une caratère dans une chaîne !!

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

Orlanth a écrit :Bon je vais expliquer pourquoi j'avais besoin de ce petit coup de main. J'essayais de mettre en place un Stringbox qui ne permettrait de saisir que des nombres, alors j'ai décidé de les comparer par leur code ASCII, les chiffres étant chiffrés de 48 à 58, il fallait interdire toute saisie en dehors de ses limites, même si celle ci comportait 30000 chiffres et 1 lettre. Alors il fallait vérifier tout les caractères de la chaîne, et voici mon bout de code:
2 procedures qui simule (hum) le fonctionnenment de la déclaration du type ensemble en pascal...

Code : Tout sélectionner

Procedure.b ComprisEntre(car$,mini$,maxi$)
  R1.b=0 : R2.b=0
  If car$ >= mini$
    R1=1
  EndIf
  If car$ <= maxi$
    R2=2
  EndIf
  Result=R1+R2
  ProcedureReturn Result
EndProcedure

Procedure.b ComprisDans(car$,textListe$)
  ; textliste est du type "&"#-_\=+..."
  car_liste$ : Result = 0
  While Result =0
    car_liste$ = Left(textListe$,1)
    textListe$ = Right(textListe$,Len(textListe$)-1)
    If car_liste$ = car$ 
      Result = 1
    EndIf
    If textListe$=""
      Result = -1
    EndIf
  Wend
  ProcedureReturn Result
EndProcedure
patrick
Orlanth
Messages : 6
Inscription : mar. 10/févr./2004 14:28
Localisation : Nouméa
Contact :

Mauvaise compréhension

Message par Orlanth »

Salut Patrick !!
Je ne savais pas que l'on pouvait comparer des caractères avec les opérateurs > et <.

Code : Tout sélectionner

If car$ >= mini$ 
    R1=1 
  EndIf 
  If car$ <= maxi$ 
    R2=2 
Je n'ai pas encore essayer mais l'idée ne me semble pas "algorithmiquement" corect. En tout cas c'est un cas sur lequel je dois me pencher.

Mais si on peut les comparer, alors on devrait pouvoir les soustraire ou les additionner....Ca me semble bizarre tout ça, faut que j'y travaille. Mais merci pour ton code Patrick, je vais l'essayer.

Et un mot pour les Denis et Le soldat inconnu, c'est pas la peine de vous chamailler, je vous remercie tous de m'avoir répondu..
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Et un mot pour les Denis et Le soldat inconnu, c'est pas la peine de vous chamailler, je vous remercie tous de m'avoir répondu..
He, pour une fois qu'on peut charier un peu Le soldat inconnu :D , on va pas s'en priver :mrgreen:
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

chaligaud :mrgreen:
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)]
Fred
Site Admin
Messages : 2805
Inscription : mer. 21/janv./2004 11:03

Message par Fred »

effectivement, la forme <= et >= pour les strings ne devrait pas etre applicable. Je vais corriger ca.
Répondre