Thứ Tư, 21 tháng 7, 2010

Hướng dẩn viết DCL bài mở đầu:

Bạn nên theo dỏi theo tên bài viết tăng từ nhỏ tới lớn thì mới đúng trình tự!


Đến đây phần lisp coi như tạm đủ dùng, về cơ bản thì bây nhiêu đó nắm vững và ứng dụng linh hoạt thì làm được ối chuyện. Phần hổ trợ thêm cho lisp mà gần gủi nhất là hộp thoại: Cái này chủ yếu giải quyết khâu oai và màu mè. Kiến thức này của mình cũng ít nhưng cũng mạnh dạn làm vài bài giúp các bạn có khái niệm cơ bản để có thể tự nghiên cứu chuyên thêm tuỳ vào khả năng của mỗi người.

**Chương trình dùng viết hộp thoại: Tất cả các chương trình soạn thảo văn bản. Mình vẫn dùng notepad. Lưu nó ra định dạng *.DCL là được.
**Trong 1 file *.DCL có thể chứa nhiều hộp thoại trong đó:
-Mở đầu bằng
tenhopthoai : dialog {
label = "noidungtieude";

-Kết thúc bằng
}

-Trong đó:
+ tenhopthoai là tên lisp dùng để gọi hộp thoại này (lưu ý đặt tên khác nhau cho các hộp thoại và viết liên tục không khoảng cách)
+ Noidungtieude là nội dung hiển thị phía trên của hộp thoại (Cái này ưng viết sao cũng được có thể có khoảng cách chủ yếu dùng báo tên hoặc chức năng hộp thoại này. Muốn bỏ trống thì label = " ";

**Số dấu {} trong 1 định nghĩa hộp thoại là bằng nhau.
**Hộp thoại chỉ là cái vỏ còn nội dung bên trong, hoạt động thế nào là do lisp quyết định. Trước tiên cứ thiết kế hộp thoại cho ưng ý cái đã, từ từ tính tới nội dung.
*Mẹo: khi viết xong hộp thoại muốn nghía xem nó như nào mà chưa cần viết lisp để gọi hắn lên thì bạn làm như sau:

-Khởi động cad.
-Vào Tools => Autolisp => Visual lisp editor. Nó khở động lên chương trình.
-Bạn vào File => Open và open cái file *.DCL muốn nghía lên.
-Vào Tools => Inter face tools => Preview DCL Editor. Nó sẽ hiện cái hộp thoại lên cho bạn xem trước.

**Mọi hộp thoại ít nhất phải có 1 nút dùng thoát khỏi hộp thoại mà ko thực hiện chức năng nào như sau.
:button {
label = "Cancel";
key = "Cancel";
is_cancel = true;
}


**Bắt đầu là thủ tục để có 1 nút nhấn cho hộp thoại.

:button {
label = "Ten nut 1";
width = 0;
key = "btn_bieuthuc1";
}


Vậy hộp thoại đơn giản như sau:



tenhopthoai : dialog {
label = "noidungtieude";


:button {
label = "Cancel";
key = "Cancel";
is_cancel = true;
}


}




Hình dáng như sau:

Hộp thoại này chỉ có duy nhất nút thoát khỏi hộp thoại. Kết hợp thêm 1 nút nửa để làm việc khác như sau:




tenhopthoai : dialog {
label = "noidungtieude";


:button {
label = "Ten nut 1";
width = 0;
key = "btn_bieuthuc1";
}

:button {
label = "Cancel";
key = "Cancel";
is_cancel = true;
}


}

Hình dáng như sau:

Khi không nói gì thì các nội dung trong hộp thoại sẽ xếp từ trên xuống dưới. Muốn sắp xếp lại thì dùng 2 cú pháp sắp sếp ( xem bài sau).

3 nhận xét:

  1. Theo như sách bảo thì 1 đơn vị trong dcl là chiều cao text trên hộp thoại (kể cả khoảng cách giữa hai dòng)

    Trả lờiXóa
  2. Ừ mình cũng không quan trọng về dcl lắm (chủ yếu là kiến thức phần này mình rất lơ mơ). Mình cũng bị như bạn vậy ấy. Nhưng cũng ko tìm ra cách giải quyết. Nếu nghiên cứu kỹ thì nên mua sách của bác Lộc thường lâu lâu đọc lại lòi ra 1 số cái cần tìm.

    @Mình làm ở Cty CP tư vấn XD và ĐT Quảng Ngãi.

    Trả lờiXóa
  3. anh ơi, em đang làm đề tài TN về lisp nhưng không biết nhiều về những phần trang trí hay các file đính kèm. anh giúp em với nhé..(những khi rãnh thôi..)

    nick em:

    muathuytinh2525132500

    cảm ơn anh nhiều nhiều..!

    Trả lờiXóa