[LISP] okno systemowe DCL


Rekomendowane odpowiedzi

Witam,

takie przykładowe okienko DCL - systemowe.

Istnieje zastępcze dla ZwCAD?

(load_dialog "ACAD") - tutaj widzę możliwość taką:

(load_dialog "gpdialog.dcl")

lecz dla:

(new_dialog "acad_txtedit" id)

już nie znalazłem...

Oczywiście zdaję sobie sprawę, że utworzenie takiego okna od podstaw w DCL jest do zrobienia,

jednakże skoro istnieją inne możliwości, to czemu z nich nie skorzystać...

(defun LM:EditBox ( string / id )
 (and
   (< 0 (setq id (load_dialog "ACAD")))
   (new_dialog "acad_txtedit" id)
   (set_tile    "text_edit"  string)
   (action_tile "text_edit" "(setq string $value)")
   (if (zerop (start_dialog)) (setq string nil))
 )
 (if (< 0 id) (unload_dialog id))
 string
)

wywołanie:

(LM:EditBox "To jest test")

pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Witam,

takie przykładowe okienko DCL - systemowe.

Istnieje zastępcze dla ZwCAD?

(load_dialog "ACAD") - tutaj widzę możliwość taką:

(load_dialog "gpdialog.dcl")

lecz dla:

(new_dialog "acad_txtedit" id)

już nie znalazłem...

Oczywiście zdaję sobie sprawę, że utworzenie takiego okna od podstaw w DCL jest do zrobienia,

jednakże skoro istnieją inne możliwości, to czemu z nich nie skorzystać...

(defun LM:EditBox ( string / id )
 (and
   (< 0 (setq id (load_dialog "ACAD")))
   (new_dialog "acad_txtedit" id)
   (set_tile    "text_edit"  string)
   (action_tile "text_edit" "(setq string $value)")
   (if (zerop (start_dialog)) (setq string nil))
 )
 (if (< 0 id) (unload_dialog id))
 string
)

wywołanie:

(LM:EditBox "To jest test")

pozdrawiam

isnieje :) wystarczy skopiowac z autocada plik acad.dcl i zapodac go do Zwcada.

sa tam gotowe definicje kilku okienek systemowych m.in.:

acad_txtedit : dialog {
   label = "Edit Text";
   initial_focus = "text_edit";
   : edit_box {
       label = "Text:";
       key = "text_edit";
       edit_width = 40;
       edit_limit = 2048;
       allow_accept = true;
   }
   ok_cancel;
}

patrz na to:

(lisped ( (lambda (/ C) (setq C "") (foreach % (list 72 97 108 111) (setq C (strcat C (chr %)))))))

j.

Odnośnik do komentarza
Udostępnij na innych stronach

wystarczy skopiowac z autocada plik acad.dcl i zapodac go do Zwcada.

No no no :)

Kopiowanie całości, części lub udostępnianie publiczne kodu, jest niezgodne z licencją ;)

Skoro już jednak znalazłeś źródło tego okna "acad_txtedit", to można na bazie tego stworzyć np. "zwcad_txtedit"...

Swoją drogą może ZwCAD też z czasem doda takie systemowe okienka - się zobaczy.

Tak jak napisałem, samo stworzenie takiego okienka to nie problem - się zastanawiałem czy po prostu ZwCAD ma coś takiego już wbudowane w swoją strukturę.

pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

wystarczy skopiowac z autocada plik acad.dcl i zapodac go do Zwcada.

No no no :)

Kopiowanie całości, części lub udostępnianie publiczne kodu, jest niezgodne z licencją ;)

pozdrawiam

mam nadzieje ze jeszcze nie jada po mnie :wink:

jest tam tego sporo. dodatkowo jeszcze plik base.dcl

j.

Odnośnik do komentarza
Udostępnij na innych stronach

mam nadzieje ze jeszcze nie jada po mnie

jest tam tego sporo. dodatkowo jeszcze plik base.dcl

Zgadza się, jest tych plików kilka i każdy zwiera przykłady ale i niezbędne składniki do tego, aby w AutoCAD w ogóle uruchamiały się okna DCL.

Niemniej jednak są one integralną częścią AutoCADa i kopiowanie ich jest bezprawne ;)

W ZwCAD też istnieją base.dcl oraz gpdialog.dcl ;) tyle, że posiadają dużo mniej przykładów.

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie