14.01.2017 12:17    

emrahoksak
arkadaşlar lisp bölümünde aks harfvi veren lispi indirdim ve onu A-B-C-D şeklinde degilde 1-2-3-4-5 şeklinde ilerliyecek şeklinde düzenledim ama mesala 20den sonra devam etmesini istiyorum 20-21-22-23... şeklinde ama en fazla 9 kadar destekliyor 9 dan sonra malesef olmuyor ilk sayıya 9 dersem 9-10-11-12 şeklinde devam ediyor ama 10 dersem lütfen tek sayı giriniz diye hata veriyor

Kod:

(defun c:aks ()
  (setvar "modemacro" "Archme Design 2005©")
  (setq hd_nil nil
hd_bas_harf
nil
  )
  (while (= hd_nil nil)
    (setq hd_bas_harf
   (getstring "\nAks için başlangıç harfini giriniz:")
    )
    (if (= hd_bas_harf "")
      (progn
(princ "\nLütfen Başlangıç Harfi giriniz..!!!")
(setq hd_nil nil)
      )
      (progn
(setq hd_say (strlen hd_bas_harf))
(if (/= hd_say 1)
  (progn
    (princ "\nLütfen Tek Harf giriniz...!!!")
    (setq hd_nil nil)
  )
  (progn
    (if (and (/= (strcase hd_bas_harf) "1")
     (/= (strcase hd_bas_harf) "2")
     (/= (strcase hd_bas_harf) "3")
     (/= (strcase hd_bas_harf) "4")
     (/= (strcase hd_bas_harf) "5")
     (/= (strcase hd_bas_harf) "6")
     (/= (strcase hd_bas_harf) "7")
     (/= (strcase hd_bas_harf) "8")
     (/= (strcase hd_bas_harf) "9")
     (/= (strcase hd_bas_harf) "10")
     (/= (strcase hd_bas_harf) "11")
     (/= (strcase hd_bas_harf) "12")
     (/= (strcase hd_bas_harf) "13")
     (/= (strcase hd_bas_harf) "14")
     (/= (strcase hd_bas_harf) "15")
     (/= (strcase hd_bas_harf) "16")
     (/= (strcase hd_bas_harf) "17")
     (/= (strcase hd_bas_harf) "18")
     (/= (strcase hd_bas_harf) "19")
     (/= (strcase hd_bas_harf) "20")
     (/= (strcase hd_bas_harf) "21")
     (/= (strcase hd_bas_harf) "22")
     (/= (strcase hd_bas_harf) "23")
     (/= (strcase hd_bas_harf) "24")
     (/= (strcase hd_bas_harf) "25")
     (/= (strcase hd_bas_harf) "26")
     (/= (strcase hd_bas_harf) "27")
     (/= (strcase hd_bas_harf) "28")
     (/= (strcase hd_bas_harf) "29")
     (/= (strcase hd_bas_harf) "30")
     (/= (strcase hd_bas_harf) "31")
     (/= (strcase hd_bas_harf) "32")
     (/= (strcase hd_bas_harf) "33")
     (/= (strcase hd_bas_harf) "34")
     (/= (strcase hd_bas_harf) "35")
     (/= (strcase hd_bas_harf) "36")
                     (/= (strcase hd_bas_harf) "37")
     (/= (strcase hd_bas_harf) "38")
     (/= (strcase hd_bas_harf) "39")
     (/= (strcase hd_bas_harf) "40")
     (/= (strcase hd_bas_harf) "41")
     (/= (strcase hd_bas_harf) "42")
     (/= (strcase hd_bas_harf) "43")
     (/= (strcase hd_bas_harf) "44")
     (/= (strcase hd_bas_harf) "45")
     (/= (strcase hd_bas_harf) "46")
     (/= (strcase hd_bas_harf) "47")
     (/= (strcase hd_bas_harf) "48")
     (/= (strcase hd_bas_harf) "49")
     (/= (strcase hd_bas_harf) "50")
     (/= (strcase hd_bas_harf) "51")
     (/= (strcase hd_bas_harf) "52")
     (/= (strcase hd_bas_harf) "53")
     (/= (strcase hd_bas_harf) "54")
     (/= (strcase hd_bas_harf) "55")
     (/= (strcase hd_bas_harf) "56")
     (/= (strcase hd_bas_harf) "57")
     (/= (strcase hd_bas_harf) "58")
     (/= (strcase hd_bas_harf) "59")
     (/= (strcase hd_bas_harf) "60")
     (/= (strcase hd_bas_harf) "61")
     (/= (strcase hd_bas_harf) "62")
     (/= (strcase hd_bas_harf) "63")
     (/= (strcase hd_bas_harf) "64")
     (/= (strcase hd_bas_harf) "65")
     (/= (strcase hd_bas_harf) "66")
     (/= (strcase hd_bas_harf) "67")
     (/= (strcase hd_bas_harf) "68")
     (/= (strcase hd_bas_harf) "69")
     (/= (strcase hd_bas_harf) "70")
     (/= (strcase hd_bas_harf) "71")
                     (/= (strcase hd_bas_harf) "72")
)
      (progn
(alert
  "\nLütfen aks için \n[1,2,3,4,5,6,7,8]
  \ngibi bir sayi giriniz..."
)
(setq hd_nil nil)
      )
      (progn
(setq hd_s_t nil)
(setvar "errno" 0)
(while (= hd_s_t nil)
  (setq hd_ent (entsel "\nYazıyı seçiniz:"))
  (if (= hd_ent nil)
    (progn
      (if (= (getvar "errno") 7)
(progn
  (princ "\nLütfen Yazıyı Tekrar Seçiniz:")
  (setq hd_s_t nil)
  (setvar "errno" 0)
)
      )
      (if (= (getvar "errno") 52)
(progn
  (setq hd_s_t t)
  (setq hd_nil t)
  (setvar "errno" 0)
)
      )
    )
    (progn
      (setq
hd_s_tan (cdr (assoc 0 (entget (car hd_ent))))
      )
      (if (/= hd_s_tan "TEXT")
(progn
  (princ
    "\nSeçilen nesne yazı değil... Lütfen Tekrar Seçim Yapınız:"
  )
  (setq hd_s_t nil)
)
(progn
  (setq hd_katman
(cdr
   (assoc 8 (entget (car hd_ent)))
)
  )
  (setq hd_katman_durum
(tblsearch "layer"
    hd_katman
)
  )
  (setq hd_kilit_durum
(cdr
   (assoc 70 hd_katman_durum)
)
  )
  (if (= hd_kilit_durum 4)
    (progn
      (alert
"\nSeçilen yazının katmanı kilitli. \nLütfen kilidi açıp komutu tekrar çalıştırın..."
      )
      (setq hd_s_t t)
      (setq hd_nil t)
    )
    (progn
      (setq hd_stil_ne
     (cdr
       (assoc 7
      (entget (car hd_ent))
       )
     )
      )
      (setq hd_stil_durum
     (tblsearch "style"
hd_stil_ne
     )
      )
      (setq hd_stil_yukseklik
     (cdr
       (assoc 40
      hd_stil_durum
       )
     )
      )
      (if (= (strcase hd_bas_harf) "1")
(setq hd_yeni_harf "2")
      )
      (if (= (strcase hd_bas_harf) "2")
(setq hd_yeni_harf "3")
      )
      (if (= (strcase hd_bas_harf) "3")
(setq hd_yeni_harf "4")
      )
      (if (= (strcase hd_bas_harf) "4")
(setq hd_yeni_harf "5")
      )
      (if (= (strcase hd_bas_harf) "5")
(setq hd_yeni_harf "6")
      )
      (if (= (strcase hd_bas_harf) "6")
(setq hd_yeni_harf "7")
      )
      (if (= (strcase hd_bas_harf) "7")
(setq hd_yeni_harf "8")
      )
      (if (= (strcase hd_bas_harf) "8")
(setq hd_yeni_harf "9")
      )
      (if (= (strcase hd_bas_harf) "9")
(setq hd_yeni_harf "10")
      )
      (if (= (strcase hd_bas_harf) "10")
(setq hd_yeni_harf "11")
      )
      (if (= (strcase hd_bas_harf) "11")
(setq hd_yeni_harf "12")
      )
      (if (= (strcase hd_bas_harf) "12")
(setq hd_yeni_harf "13")
      )
      (if (= (strcase hd_bas_harf) "13")
(setq hd_yeni_harf "14")
      )
      (if (= (strcase hd_bas_harf) "14")
(setq hd_yeni_harf "15")
      )
      (if (= (strcase hd_bas_harf) "15")
(setq hd_yeni_harf "16")
      )
      (if (= (strcase hd_bas_harf) "16")
(setq hd_yeni_harf "17")
      )
      (if (= (strcase hd_bas_harf) "17")
(setq hd_yeni_harf "18")
      )
      (if (= (strcase hd_bas_harf) "18")
(setq hd_yeni_harf "19")
      )
      (if (= (strcase hd_bas_harf) "19")
(setq hd_yeni_harf "20")
      )
      (if (= (strcase hd_bas_harf) "20")
(setq hd_yeni_harf "21")
      )
      (if (= (strcase hd_bas_harf) "21")
(setq hd_yeni_harf "22")
      )
      (if (= (strcase hd_bas_harf) "22")
(setq hd_yeni_harf "23")
      )
                              (if (= (strcase hd_bas_harf) "23")
(setq hd_yeni_harf "24")
      )
                              (if (= (strcase hd_bas_harf) "24")
(setq hd_yeni_harf "25")
      )
                              (if (= (strcase hd_bas_harf) "25")
(setq hd_yeni_harf "26")
      )
                              (if (= (strcase hd_bas_harf) "26")
(setq hd_yeni_harf "27")
      )
                              (if (= (strcase hd_bas_harf) "27")
(setq hd_yeni_harf "28")
      )
                              (if (= (strcase hd_bas_harf) "28")
(setq hd_yeni_harf "29")
      )
                              (if (= (strcase hd_bas_harf) "29")
(setq hd_yeni_harf "30")
      )
                              (if (= (strcase hd_bas_harf) "30")
(setq hd_yeni_harf "31")
      )
                              (if (= (strcase hd_bas_harf) "31")
(setq hd_yeni_harf "32")
      )
                              (if (= (strcase hd_bas_harf) "32")
(setq hd_yeni_harf "33")
      )
                              (if (= (strcase hd_bas_harf) "33")
(setq hd_yeni_harf "34")
      )
                              (if (= (strcase hd_bas_harf) "34")
(setq hd_yeni_harf "35")
      )
                              (if (= (strcase hd_bas_harf) "35")
(setq hd_yeni_harf "36")
                              (if (= (strcase hd_bas_harf) "36")
(setq hd_yeni_harf "37")
      )
      (if (= (strcase hd_bas_harf) "37")
(setq hd_yeni_harf "38")
      )
      (if (= (strcase hd_bas_harf) "38")
(setq hd_yeni_harf "39")
      )
      (if (= (strcase hd_bas_harf) "39")
(setq hd_yeni_harf "40")
      )
      (if (= (strcase hd_bas_harf) "40")
(setq hd_yeni_harf "41")
      )
      (if (= (strcase hd_bas_harf) "41")
(setq hd_yeni_harf "42")
      )
      (if (= (strcase hd_bas_harf) "42")
(setq hd_yeni_harf "43")
      )
      (if (= (strcase hd_bas_harf) "44")
(setq hd_yeni_harf "45")
      )
      (if (= (strcase hd_bas_harf) "45")
(setq hd_yeni_harf "46")
      )
      (if (= (strcase hd_bas_harf) "46")
(setq hd_yeni_harf "47")
      )
      (if (= (strcase hd_bas_harf) "47")
(setq hd_yeni_harf "48")
      )
      (if (= (strcase hd_bas_harf) "48")
(setq hd_yeni_harf "49")
      )
      (if (= (strcase hd_bas_harf) "49")
(setq hd_yeni_harf "50")
      )
      (if (= (strcase hd_bas_harf) "50")
(setq hd_yeni_harf "51")
      )
      (if (= (strcase hd_bas_harf) "51")
(setq hd_yeni_harf "52")
      )
      (if (= (strcase hd_bas_harf) "52")
(setq hd_yeni_harf "53")
      )
      (if (= (strcase hd_bas_harf) "53")
(setq hd_yeni_harf "54")
      )
      (if (= (strcase hd_bas_harf) "54")
(setq hd_yeni_harf "55")
      )
      (if (= (strcase hd_bas_harf) "55")
(setq hd_yeni_harf "56")
      )
      (if (= (strcase hd_bas_harf) "56")
(setq hd_yeni_harf "57")
      )
      (if (= (strcase hd_bas_harf) "57")
(setq hd_yeni_harf "58")
      )
      (if (= (strcase hd_bas_harf) "58")
(setq hd_yeni_harf "59")
      )
                              (if (= (strcase hd_bas_harf) "59")
(setq hd_yeni_harf "60")
      )
                              (if (= (strcase hd_bas_harf) "60")
(setq hd_yeni_harf "61")
      )
                              (if (= (strcase hd_bas_harf) "61")
(setq hd_yeni_harf "62")
      )
                              (if (= (strcase hd_bas_harf) "62")
(setq hd_yeni_harf "63")
      )
                              (if (= (strcase hd_bas_harf) "63")
(setq hd_yeni_harf "64")
      )
                              (if (= (strcase hd_bas_harf) "64")
(setq hd_yeni_harf "65")
      )
                              (if (= (strcase hd_bas_harf) "65")
(setq hd_yeni_harf "66")
      )
                              (if (= (strcase hd_bas_harf) "66")
(setq hd_yeni_harf "67")
      )
                              (if (= (strcase hd_bas_harf) "67")
(setq hd_yeni_harf "68")
      )
                              (if (= (strcase hd_bas_harf) "68")
(setq hd_yeni_harf "69")
      )
                              (if (= (strcase hd_bas_harf) "69")
(setq hd_yeni_harf "70")
      )
                              (if (= (strcase hd_bas_harf) "70")
(setq hd_yeni_harf "71")
      )
                              (if (= (strcase hd_bas_harf) "71")
(setq hd_yeni_harf "72")
      )

      (if (= (strcase hd_bas_harf) "72")
(progn (setq hd_s_t t) (setq hd_nil t))
      )
      (if (= hd_stil_yukseklik 0.0)
(progn
  (command "change"
   (car hd_ent)
   ""
   ""
   ""
   ""
   ""
   ""
   (strcase hd_bas_harf)
  )
  (setq hd_bas_harf hd_yeni_harf)
)
(progn
  (command "change"
   (car hd_ent)
   ""
   ""
   ""
   ""
   ""
   (strcase hd_bas_harf)
  )
  (setq hd_bas_harf hd_yeni_harf)
)
      )
    )
  )
)
      )
    )
  )
)
      )
    )
  )
)
      )
    )
  )
  (setq hd_nil t)
  (princ)
)

14.01.2017 12:37    

Travaci


Linkleri görebilmek için ÜYE olmalısınız.

14.01.2017 13:06    

emrahoksak
hocam bu lspi indirdim ama autocad 2016 da [/code]Cannot invoke (command) from *error* without prior call to (*push-error-using-command*).[/code] diye bir hata veriyor
numinc lispide var onda çok faydalı ama ondada [code]no function definition: VLAX-ERASED-P[/code] diye hata alıyorum
bende tek çare bunu düzenledim ama olmadı

14.01.2017 13:58    

ehya
o lispi boşuna değiştirmekle uğraşmışsın.. sonsuz sayıda bir sıralama için sonsuz kod yazman gerekir ki, sayılar n+1 şeklinde tek satırla çözülebilir.

Komut ismi TC

Kod:

(defun -errr- (errmsg)
  (vla-EndUndoMark (vla-get-activedocument (vlax-get-acad-object)))
   (setq *error* temperr)
  (prompt "\nKomut iptal edildi...!!! ")
   (princ)
)
(defun c:TC ()
(setq temperr *error*)
(setq *error* -errr-) 
  (vl-load-com)
  (vla-StartUndoMark (vla-get-activedocument (vlax-get-acad-object)))
  (if (= numara nil)(setq numara 1))
  (setq num (getint (strcat "\nBaşlangıç Numarası : < " (rtos numara 2 0) " >:")))
  (if (= num nil)(setq num numara))(setq numara num)

  (setq nnil t)
  (while nnil
    (if (setq yaz-sec (car (entsel "\nYazıyı seçin:")))
      (progn
(if (or (= (cdr (assoc 0 (entget yaz-sec))) "TEXT")(= (cdr (assoc 0 (entget yaz-sec))) "MTEXT"))
  (progn
    (vla-put-textstring (vlax-ename->vla-object yaz-sec) (rtos numara 2 0))
    (setq numara (+ numara 1))
)))
      (progn
(if (= (getvar "errno") 7)(setq nnil t))
(if (= (getvar "errno") 52)(setq nnil nil)))))
(vla-endundomark (vla-get-activedocument (vlax-get-acad-object)))
  (princ))

14.01.2017 14:23    

emrahoksak
:D çok teşekkür ederim hocam oldu tamda istedigim gibi. bende ugraşıp kavramak için düzenlemiştim.
aslında tcount komutu fln varda onlar işimi görmüyordu bu çok iyi oldu çok teşekürler.

> 1 <
Copyright © 2004-2022 SQL: 1.805 saniye - Sorgu: 57 - Ortalama: 0.03167 saniye