Tramber Posté(e) le 1 janvier 2005 Posté(e) le 1 janvier 2005 Voici une string sur laquelle je fais un WCMATCH "100,215,22,331,1,12" (bon)"1m0,215,2E,331,,1^p" (pas bon) Je veux vérifier que la chaine ne contient pas d'élément AUTRE que 1234567890, là ca va. Mais quand je veux tester le ",", ca ne marche pas malgré une lecture attentive de la doc. Ici, un exemple de ce qui me semblait le + adapté : (wcmatch "100,215,22,331,1,12" "*[[b]~[/b]0-9]*,[[b]~[/b]',]*) [Edité le 1/1/2005 par Tramber] Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
didier Posté(e) le 2 janvier 2005 Posté(e) le 2 janvier 2005 Bonjour à Toi,la virgule est un caractère un peu particulier,puisqu'elle a une signification précise dans AutoCad,donc il faut la faire précéder d'une apostrophe,et là, ça va fonctionnerexemple : (if (= T (wcmatch ChaineDeTramber "*`,*"))FaireCeQueVeutTramber );fin du ifen pensant être dans le sujet comme quoi, il faut apostropher celui qui a du caractèreamicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Tramber Posté(e) le 2 janvier 2005 Auteur Posté(e) le 2 janvier 2005 Ok, apparemment, j'étais parti sur un ' et non une `___ ! Ceci explique cela. (wcmatch "100,215,22,331,1,12" "*[~0-9`,]*) fonctionne maintenant. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
didier Posté(e) le 2 janvier 2005 Posté(e) le 2 janvier 2005 hello,et ben voilà de quoi commencer l'annéeen beautéen beau Ten beau Théembottéan bottéet ainsi de suite ... Éternel débutant... Mon site perso : Programmer dans AutoCAD
Tramber Posté(e) le 2 janvier 2005 Auteur Posté(e) le 2 janvier 2005 Pour moi, ca sera "empoté" ! :cool: Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Serge Posté(e) le 3 janvier 2005 Posté(e) le 3 janvier 2005 Tramber, Je ne sais pas si ton problème est résolu. À première vue, j'aurais pensé que tu voulais examiner chaque éléments de la première liste. Sinon que tu n'as pas de valeur vide (double ,,). Pour ce dernier critère : (wcmatch "100,215,22,331,1,12" "*[a-z]*,*[A-Z]*,*`,`,*") Serge
Tramber Posté(e) le 3 janvier 2005 Auteur Posté(e) le 3 janvier 2005 Mon problème est réglé, merci. C'était que j'utilisait le Quote au lieu de l'Apostrophe ! Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Serge Posté(e) le 3 janvier 2005 Posté(e) le 3 janvier 2005 Encore moi :-), Je me suis dis que ce serait plus clair comme suit: (setq texte "100,215,22,331,1,12")(setq invalide "*[a-z]*,*[A-Z]*,*`,`,*") (if (not (wcmatch texte invalide))(progn(princ "\nBravo!"))(progn(princ "\nErreur!"))) Serge
Tramber Posté(e) le 3 janvier 2005 Auteur Posté(e) le 3 janvier 2005 OK, mais avec (wcmatch "100,215,22,331,1,12" "*[~0-9`,]*)je ne ramasse aucun carctère indésirable type `@]}¤%!/ :cool: Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Serge Posté(e) le 3 janvier 2005 Posté(e) le 3 janvier 2005 Tramber, Ta condition n'empêche pas les ",,"Il te faudra alors une deuxième condition comme suit: (setq texte "100,215,22,a,331,1,12")(setq invalide "*[a-z]*,*[A-Z]*,*`,`,*,") (if (not (or (wcmatch texte "*[~0-9`,]*") (wcmatch texte "*`,`,*")))(progn(princ "\nBravo!"))(progn(princ "\nErreur!"))) Ou encore ceci (note: tu pourrais évaluer directement intrus au besoin):(setq texte "100,215,22,331,1,12")(setq lettres '("#" "@" "." "*" "?" "~" "-" "!" "/" "\\")) ; Ne pas mettre le , dans ce cas-ci(setq intrus "")(foreach lettre lettres (setq intrus (strcat intrus ",*`" lettre "*")))(setq intrus (strcat "*[a-z]*,*[A-Z]*,*`,`,*" "," intrus)) (if (not (wcmatch texte intrus))(progn(princ "\nBravo!"))(progn(princ "\nErreur!"))) Serge
Tramber Posté(e) le 4 janvier 2005 Auteur Posté(e) le 4 janvier 2005 Exact, je n'ai pas de protection contre les virgules doubles.... Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant