Text arama yapan lisp
Paftada belirli bir dizinin aranması
- 13.06.2006 20:52
- 13.06.2006 20:52
Bu yazılımı çalıştırmak için ara yaz aranacak dizini gir ENTER yap.
Buraya tıklayarak açılan pencereden AutoLISP kodlarını Ctrl + C ile kopyalayabilirsiniz
Bu kodları nasıl kullanacağınızı bilmiyorsanız aşağıdaki linkten;
AutoLISP > Konu Anlatımları > Lisp Dosyalarının oluşturulması ve Yüklenmesi
konusunu inceleyiniz.
Buraya tıklayarak açılan pencereden AutoLISP kodlarını Ctrl + C ile kopyalayabilirsiniz
Kod:
(defun chgterr (s)
(if (/= s "function cancelled")
(princ (strcat "nerror: " s))
)
(setq p nil)
(setq *error* olderr)
(princ)
)
(defun c:ara ()
(setq olderr *error*
*error* chgterr
buyut 100
cnt 0)
(setq echostat (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq aranacak (getstring t "nAranacak dizi: "))
(setq a_uz (strlen aranacak))
(princ "Cizimdeki tum yazilarda arama yapmak icin <Enter>'e basinizn")
(setq sset (ssget))
(if (not sset) (setq sset (ssget "X" (list (cons 0 "TEXT")))))
(setq ssl (sslength sset)
devam t
)
(while (and (> ssl 0) devam)
(setq temp (ssname sset (setq ssl (1- ssl))))
(if (= (cdr (assoc 0 (entget temp))) "TEXT")
(progn
(setq yazi (cdr (assoc 1 (entget temp))))
(setq bulundu nil
pos 0
uz (strlen yazi))
(while (and (>= uz (+ pos a_uz)) (not bulundu))
(setq s (substr yazi (+ pos 1) a_uz))
(if (= s aranacak)
(setq bulundu t)
)
(setq pos (1+ pos))
) ; text içinde arama için
(if bulundu
(progn
(setq p1 (assoc 10 (entget temp)))
(command "zoom" "c" (cdr p1) buyut)
(initget "Evet Hayir")
(setq msg_str (strcat "nSonraki [" aranacak "] <Evet Hayir>? "))
(setq cevap (getkword msg_str))
(if (= cevap "Hayir") (setq devam nil))
)
)
) ; progn için
) ; eleman text 'mi ?
) ; tüm elemanlar bitene kadar
(setq *error* olderr)
(setvar "cmdecho" echostat)
(princ)
)
(PRINC " --> 'www.autocadokulu.com' Çizim yardımları yüklendi !")
(if (/= s "function cancelled")
(princ (strcat "nerror: " s))
)
(setq p nil)
(setq *error* olderr)
(princ)
)
(defun c:ara ()
(setq olderr *error*
*error* chgterr
buyut 100
cnt 0)
(setq echostat (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq aranacak (getstring t "nAranacak dizi: "))
(setq a_uz (strlen aranacak))
(princ "Cizimdeki tum yazilarda arama yapmak icin <Enter>'e basinizn")
(setq sset (ssget))
(if (not sset) (setq sset (ssget "X" (list (cons 0 "TEXT")))))
(setq ssl (sslength sset)
devam t
)
(while (and (> ssl 0) devam)
(setq temp (ssname sset (setq ssl (1- ssl))))
(if (= (cdr (assoc 0 (entget temp))) "TEXT")
(progn
(setq yazi (cdr (assoc 1 (entget temp))))
(setq bulundu nil
pos 0
uz (strlen yazi))
(while (and (>= uz (+ pos a_uz)) (not bulundu))
(setq s (substr yazi (+ pos 1) a_uz))
(if (= s aranacak)
(setq bulundu t)
)
(setq pos (1+ pos))
) ; text içinde arama için
(if bulundu
(progn
(setq p1 (assoc 10 (entget temp)))
(command "zoom" "c" (cdr p1) buyut)
(initget "Evet Hayir")
(setq msg_str (strcat "nSonraki [" aranacak "] <Evet Hayir>? "))
(setq cevap (getkword msg_str))
(if (= cevap "Hayir") (setq devam nil))
)
)
) ; progn için
) ; eleman text 'mi ?
) ; tüm elemanlar bitene kadar
(setq *error* olderr)
(setvar "cmdecho" echostat)
(princ)
)
(PRINC " --> 'www.autocadokulu.com' Çizim yardımları yüklendi !")
Bu kodları nasıl kullanacağınızı bilmiyorsanız aşağıdaki linkten;
AutoLISP > Konu Anlatımları > Lisp Dosyalarının oluşturulması ve Yüklenmesi
konusunu inceleyiniz.
Yazar:
İçerik:
Tag: Text arama yapan lisp
Yorumlar :
meyildiz 30.11.2013 18:18 #15221
lmjjkklklklklklk
yilmazakifemre 15.06.2012 11:46 #14679
emeğine sağlık
earthworm 27.09.2011 08:37 #14297
KAÇ ADET OLDUGUNU YAZSA SUPER OLURMUŞ
tayfun_dt 04.02.2011 14:35 #13764
kısa yolu nedır bunu yaw
worley 02.02.2010 08:26 #12395
FIND KOMUTUNDAN FARKI NEDIR ACABA?
brl_ozdemir 20.10.2009 07:23 #11891
peki komut nasıl kullanılıyo işlem sırasını açıklarmısınız?
agus.mehmet 05.12.2006 15:04 #1201
güzel bi komut find komutunun ara ya dönüşümü giib sanırım