[LISP] okno systemowe DCL


Recommended Posts

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share