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).

6 nhận xét:

  1. Thế anh Duy có biết cách cố định kích thước hộp thoại để không cho thay đổi không,
    Và giá trị thông số của Width= ? thì tương quan giữa ? như thế nào, ý mình là giá trị của nó ra sao, ví dụ 1cm thì là bằng 1cm, còn cái này bằng bao nhiêu cm chẳng hạn.

    Trả lờiXóa
  2. 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
  3. Nếu thế thì cũng khó cố định các kích thước sao cho hộp thoại tổng không đổi anh nhỉ, Đang định viết thử cái LISP chế tab như của VB, mà khi kích vào chuyển tab thì các hộp thoại không cùng kích cỡ nên nhìn vào không được giống lệnh chuyển tab của VB.. lắm, anh Duy có kinh nghiệm chỗ này có thể hướng dẫn chi tiết em một ví dụ cố định hộp thoại được không, cảm ơn anh trước nhé.

    @ Mà cho hỏi cái ngoài lề: anh Duy có phải làm ở tư vấn đầu tư không thế, em cũng ở Bình Sơn, biết danh anh lâu do tham gia cadviet, tailieukythuat (web này died rùi...tiếc lắm)..............

    Trả lờiXóa
  4. Ừ 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
  5. 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
  6. Nho anh giai thich file *.VLX co tac dung nhu the nao voi a:

    Trả lờiXóa

Khi viết nhận xét mong bạn không đứng vai trò nặc danh! Bạn có thể chọn Name/Url trong đó Url là http://duy782006.blogspot.com/ như vậy hay hơn nặc danh bạn nhé.