10.04.2008 09:23    

k005
list fonksiyonunda 2. ve 3. değeri çarpımını nasıl yazdırabilirim..?

10.04.2008 10:14    

ehya
Kod:

(setq a1 (list 10 20 30 40 50)) ;; liste fonsiyonu
(setq a2 (* (nth 1 a1)(nth 2 a1))  ;; 2nci değer ile 3ncü değeri çarp

10.04.2008 10:36    

k005
Alıntı
ehya :
Kod:

(setq a1 (list 10 20 30 40 50)) ;; liste fonsiyonu
(setq a2 (* (nth 1 a1)(nth 2 a1))  ;; 2nci değer ile 3ncü değeri çarp





ehya şimdi şöyle bir durum var;



(setq a1 (list stc)) --> listem bu şekilde. stc textleri içeriyor. ör; 1 2 3 4 5 gibi text obje..

10.04.2008 11:25    

ehya
STC nin değerlerini verirmisin? Listenin nasıl oluştuğunu görmem lazım...

10.04.2008 11:44    

k005
Alıntı
ehya :
STC nin değerlerini verirmisin? Listenin nasıl oluştuğunu görmem lazım...




(defun c:xx ( / ss na say top n stc yaz)


(setq ss (ssget '((0 . "text"))))
(setq st (ssget "x") n 0 top 0 stc nil)
(setq na (ssname ss n))
(while na

(setq say (cdr(assoc 1(entget na))))
(setq top (+ top (atof say)))
(setq stc (cons (atof say) stc))
(setq n (+ 1 n))
(setq na (ssname ss n))
) ;while

(setq l3 (list stc))

bu şekilde. stc değerleri = princ komutu ile sonuç aldığımda : ((8.0 5.0 10.0)) şekilde sonuç veriyor..

10.04.2008 11:58    

ehya
hazırlamış olduğun liste, liste içinde olduğu için değerleri seçtiremiyorsun...
işlemin bittikten sonra (car l3) yaparak tek liste haline getir. daha sonra üste yazdığım kodları uygulayabilirsin.

hala çarpım işlemi ile uğraşıyorsan, önerdiğim yol harici başka bi yolla da yazdım. istersen kodlarını gönderebilirim.

10.04.2008 12:05    

k005
tamamdır. şu anda oldu. okey. "car" ile içeriği aldığım zaman oldu. çok teşeekür ederim. yazmış olduğun çarpma ile ilgili lispi de incelemek isterim. ayrıca. eyvallah sağol...

10.04.2008 12:30    

ehya
Yazdığım lisp bu. Liste özelliği harici başka bi şekilde yaptım.

Kod:

(defun c:carp ()
  (setq carp_sec (ssget (list (cons 0 "TEXT"))))
  (if (= carp_sec nil)
    (progn
    )
    (progn
      (setq carpim 1)
      (setq carp_say (sslength carp_sec))
      (setq carp_c 0)
      (while (< carp_c carp_say)
(setq carp_tek (ssname carp_sec carp_c))
(setq carp_tek1 (cdr (assoc 1 (entget carp_tek))))
(if (= (numberp (distof carp_tek1)) t)
  (progn
    (setq carpim (* carpim (distof carp_tek1)))
  )
  (progn)
)
(setq carp_c (+ carp_c 1))
      )
      (alert (strcat "\nÇarpım Sonucu : " (rtos carpim)))
    )
  )
  (princ)
)

10.04.2008 12:40    

k005
olay bu. eline sağlık.. tekrar teşekkür..

> 1 <
Copyright © 2004-2022 SQL: 0.933 saniye - Sorgu: 66 - Ortalama: 0.01413 saniye