wildcard in lisp

Gestart door AdenRob, wo 29 01 2014, 17:00:15

Vorige topic - Volgende topic

AdenRob

Beste forumgebruikers,

Is het mogelijk om in de onderstaande lisp een deel van de blocknaam ("cadsite") door middel van wildcards te controleren in plaats van de exacte blocknaam?


(vlax-for blk (vla-get-blocks adoc)
    (if (and (equal (vla-get-islayout blk) :vlax-false)
                (equal (vla-get-isxref blk) :vlax-false)
      (/= (vla-get-name blk) "cadsite")
             )


Dit deel van de lisp werkt, echter zouden we graag de regel (/= (vla-get-name blk) "cadsite") vervangen door (/= (vla-get-name blk) "*cad*"). Helaas werken wildcards in deze combinatie niet. Heeft iemand hier een oplossing voor?

Met vriendelijke groet,
AdenRob

roy_043


AdenRob

Dag Roy,

Bedankt voor je reactie. Wij zijn bekend met dit commando WCMACTH. Dit gebruik jij ook in je Change Multiple lisp. Daarin werkt het goed. Echter in dit geval krijgen we het niet werkend  :(

Dit is de code met WCMATCH die we hebben gebruikt maar helaas niet werkend krijgen.


(if (and (equal (vla-get-islayout blk) :vlax-false)
           (equal (vla-get-isxref blk) :vlax-false)
   (wcmatch (vla-get-name blk) "*cad*")
   ;(not (wcmatch (vla-get-name blk) "*cad*")) ;geeft eventueel omgekeerde waarde
             )


Wat doen wij fout?
Het verbaast ons dat WCMATCH bij de ene lisp wel werkt en bij de andere lisp niet :vraagteken:


AdenRob

roy_043

Volgens mij is jullie code goed. Wel is wcmatch hoofdlettergevoelig.
(wcmatch "cadsite" "*cad*") => T
(wcmatch "CADSITE" "*cad*") => nil
(wcmatch (strcase "cadsite") "*CAD*") => T


Mogelijk speelt ook een rol dat dynamische blocks een 'name property' en een 'effectivename property' hebben.

AdenRob

Dag Roy,

Na nog een aantal tests is het ons uiteindelijk gelukt om de lisp werkend te krijgen met WCMATCH. Waarschijnlijk zijn we de mist in gegaan met de hoofdlettergevoeligheid  :?
Het is een goeie tip om dit probleem te verhelpen door STRCASE aan de code toe te voegen   :D

Zoals het er nu uit ziet werkt de lisp zoals we voor ogen hadden.
We lopen alleen wel tegen een probleem aan met dynamic blocks inderdaad. Wellicht iets om ons volgende week mee bezig te gaan houden.

Bedankt voor de hulp  :vreegoe:

Prettig weekend alvast!