Page 1 sur 2

Action sur des chaines de caractère

Publié : ven. 10/févr./2006 19:28
par wolfjeremy
Salut, voila se que j'aimerai faire sur des chaines de caractère :

Je voudrais faire pour que le programme lise une chaine de caractère, il doit l'analyser et renvoyer un resultat "ok" ou "Problème"...

Par exemple : Elle doit est composer de 6 chiffres et 2 lettres pour qu'elle soit valide.

Merci d'avance pour votre réponse.

P.S.: Je voudrais aussi savoir comment recuperer la derniere lettre ? comme sa si par exemple la lettre est "B" ou le chiffre est "3" alors on met "ok" sinon on met "Problème"

Re: Action sur des chaines de caractère

Publié : ven. 10/févr./2006 20:08
par Backup
wolfjeremy a écrit : P.S.: Je voudrais aussi savoir comment recuperer la derniere lettre ? comme sa si par exemple la lettre est "B" ou le chiffre est "3" alors on met "ok" sinon on met "Problème"
avec le purebasic il existe une doc que tu appel a partir de l'editeur
avec F1

ensuite cette doc est classé par librairie interne au purebasic

parmis les librairies l'une porte le doux nom de strings !!

tu trouvera toutes les réponses dans ce domaine

en l'occurence avec les fonctions mid() et Left() ou et right()
voir d'autres fonctions encore plus évoluées !!


:?

Publié : ven. 10/févr./2006 20:09
par wolfjeremy
ok merci

Publié : ven. 10/févr./2006 20:11
par CameleonTH
Serieux wolfjeremy cette réponse te conviens?
Cela veut dire que tu n'a jamais lu la doc et que tu n'a méme pas essayer de chercher. :D

Publié : ven. 10/févr./2006 20:13
par wolfjeremy
Non elle me convient pas mais bon je vai pas etre impoli j'aime mieu dire oui merci que commencer a me disputer... j'ai été voir dans la doc faut pas croire mais bon j'aime mieu un bel exemple de code que tout un blabla de la doc... si quelqu'un a une autre reponse je serai heureu qu'il me la donne, maintenant si tout le monde pense que j'ai cas me demerder ben tant pis qu'est ce que vous voulez que je vous dise ? :wink:

Publié : ven. 10/févr./2006 20:36
par comtois
P.S.: Je voudrais aussi savoir comment recuperer la derniere lettre ? comme sa si par exemple la lettre est "B" ou le chiffre est "3" alors on met "ok" sinon on met "Problème"
Puisque tu le prends avec philosophie voici un début de réponse :)

Code : Tout sélectionner

Texte$="1234B"

LaDerniereLettre$=Right(Texte$,1)
Debug "La dernière lettre est : " + LaDerniereLettre$
If LaDerniereLettre$ = "B" Or LaDerniereLettre$ = "3"
  Debug "C'est bon"
Else
  Debug "C'est pas bon"
EndIf

Publié : ven. 10/févr./2006 20:37
par wolfjeremy
Merci comtois :)

Publié : ven. 10/févr./2006 21:16
par comtois
voila un exemple pour lire les caractères un par un.

Code : Tout sélectionner

Texte$="SalutToto1234B"
;Lecture caractère par caractère
For i = 1 To Len(Texte$)
  Caractere$=Mid(Texte$,i,1)
  Debug Caractere$
Next i
Et maintenant je te laisse cogiter pour finir TON code :)

Publié : ven. 10/févr./2006 21:17
par wolfjeremy
LOL merci comtois tu m'aura bien aider :wink:

Publié : ven. 10/févr./2006 21:26
par gansta93
"Tu m'auras bien aidé" aurait été meilleur. Dans ta construction de phrase, on peut comprendre que tu lui dis qu'il aurait pu t'aider, mais que ça n'a pas été le cas. :jesors:

Publié : ven. 10/févr./2006 21:27
par wolfjeremy
LOL excuse la fatigue de la fin de semaine :wink: il ma bien aider.

Publié : ven. 10/févr./2006 23:14
par wolfjeremy
Dite, sa na rien a voir avec le sujet, mais c'est pour eviter de poster un nouveau topic, comment je peut faire pour regler le compilateur pour pas qu'il me fasse une erreur si je met ma procedure a la fin du programme par exemple alors que je l'appel avant ? car sa commence a menerver que je peut pas mettre mes procedure où je le souhaite :D

merci d'avance pour votre réponse.

Publié : ven. 10/févr./2006 23:27
par Backup
wolfjeremy a écrit :Dite, sa na rien a voir avec le sujet, mais c'est pour eviter de poster un nouveau topic, comment je peut faire pour regler le compilateur pour pas qu'il me fasse une erreur si je met ma procedure a la fin du programme par exemple alors que je l'appel avant ? car sa commence a menerver que je peut pas mettre mes procedure où je le souhaite :D

merci d'avance pour votre réponse.

dans la doc il est indiqué
Dans certains cas une procédure peut appeler une autre procédure qui n'a pas été déclarée avant sa propre définition. Ce cas peut se produire et provoquer une erreur de compilation 'Procedure not found'. Declare permet de traiter ce cas particulier en déclarant seulement l'en-tête de la procédure. Il est essentiel que les attributs de la fonction Declare et la déclaration réelle de la procédure soient identiques.
Exemple:

Declare Maximum(Valeur1, Valeur2)

Procedure Traitement(Valeur)
Maximum(10, 2) ; A cet instant Maximum() n'est pas connu du compilateur.
EndProcedure

Procedure.l Maximum(Valeur1.l, Valeur2.l)
If Valeur1>Valeur2
Resultat.l = Valeur1
Else
Resultat = Valeur2
EndIf

ProcedureReturn Resultat
EndProcedure

Publié : ven. 10/févr./2006 23:29
par wolfjeremy
J'ai pas trop capter mais merci je regarderai sa demain a tete reposé :wink:

Publié : ven. 10/févr./2006 23:31
par Backup
wolfjeremy a écrit :mais bon j'aime mieu un bel exemple de code que tout un blabla de la doc...
le probleme c'est que tu considere la doc comme du blabla !! :?

ici ont est tous passé par la , se tapper la doc , pour la connaitre quasi parcoeur ! , crois moi, c'est pas un sacrifice que de bien lire la doc
cela te parraitra un peut rébarbatif au début , mais le temps que t'aura perdu a lire la doc , tu vas le gagner apres , :D... garantie ! :D