Đến nội dung


Hình ảnh
- - - - -

Đổi phím số thành chữ ở bàn phím


  • Please log in to reply
4 replies to this topic

#1 cadviet244

cadviet244

    HVKT-12

  • Members
  • PipPipPipPip
  • 245 Bài viết
Điểm đánh giá: 157 (tàm tạm)

Đã gửi 22 February 2009 - 11:03 PM

Chào các bác
Xin gởi lời chúc sức khỏe đến các bác. Các pác ơi! e có một ý kiến là khi mình vẽ một hình nào là mình phải nhập vào kích thước khoảng cách, ví dụ là mình một đường thẳng dài 100mm, sau khi mình nhập lệnh rồi tiếp đó là mình nhập kích thước vào là 100, mình phải nhập số 100 bên góc của bàn phím hoặc dãy số ở phía trên. Như vậy theo e nghỉ là mình hạn chế tốc độ vẽ, các bác có thể viết lip dùng các phím : Z,X,C,A,S,D,Q,W,E như các số 1,2,3,4,5,6,7,8,9 không, để mình tiện nhập kích thước, khoảng cách vào. Trong máy tính xách tách thì không có tổ hợp các phím số như góc trái của bàn phìm máy tính bàn, như vậy khi mình vẽ rất bất tiện khi mình nhập kích thước khoảng cách. Xin các bác chỉ e với, e cảm ơn nhiều
  • 0

#2 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 23 February 2009 - 01:08 AM

Chào các bác
Xin gởi lời chúc sức khỏe đến các bác. Các pác ơi! e có một ý kiến là khi mình vẽ một hình nào là mình phải nhập vào kích thước khoảng cách, ví dụ là mình một đường thẳng dài 100mm, sau khi mình nhập lệnh rồi tiếp đó là mình nhập kích thước vào là 100, mình phải nhập số 100 bên góc của bàn phím hoặc dãy số ở phía trên. Như vậy theo e nghỉ là mình hạn chế tốc độ vẽ, các bác có thể viết lip dùng các phím : Z,X,C,A,S,D,Q,W,E như các số 1,2,3,4,5,6,7,8,9 không, để mình tiện nhập kích thước, khoảng cách vào. Trong máy tính xách tách thì không có tổ hợp các phím số như góc trái của bàn phìm máy tính bàn, như vậy khi mình vẽ rất bất tiện khi mình nhập kích thước khoảng cách. Xin các bác chỉ e với, e cảm ơn nhiều

Bạn dùng lisp dưới đây:

(defun cv_getint (msg)
(setq
msg (if msg
msg
""
)
str (getstring nil msg)
)
(atoi (vl-string-translate "zxcasdqwev" "1234567890" str))
)
(setq getint cv_getint)


Lưu ý là: khi load lisp lên, ACAD sẽ hỏi
Assignment to protected symbol:
GETINT
Enter break loop?

Bạn nhớ trả lời là No.

Từ giờ trở đi, khi nhập một số tự nhiên bằng hàm getint, bạn có thể nhập zxcasdqwev thay cho 1234567890. Đoạn mã trên chỉ hiệu nghiệm với lisp, không có tác động đến các lệnh có sẵn của ACAD (ví dụ như lệnh DIV yêu cầu nhập số nguyên).
  • 0

#3 cadviet244

cadviet244

    HVKT-12

  • Members
  • PipPipPipPip
  • 245 Bài viết
Điểm đánh giá: 157 (tàm tạm)

Đã gửi 23 February 2009 - 10:58 AM

Bạn dùng lisp dưới đây:


(defun cv_getint (msg)
(setq
msg (if msg
msg
""
)
str (getstring nil msg)
)
(atoi (vl-string-translate "zxcasdqwev" "1234567890" str))
)
(setq getint cv_getint)


Lưu ý là: khi load lisp lên, ACAD sẽ hỏi
Assignment to protected symbol:
GETINT
Enter break loop?

Bạn nhớ trả lời là No.

Từ giờ trở đi, khi nhập một số tự nhiên bằng hàm getint, bạn có thể nhập zxcasdqwev thay cho 1234567890. Đoạn mã trên chỉ hiệu nghiệm với lisp, không có tác động đến các lệnh có sẵn của ACAD (ví dụ như lệnh DIV yêu cầu nhập số nguyên).

Chào bác! e rất cám ơn bác đã quan tâm và giúp đỡ đến topic của e nhưng khi e loadlisp lên thì không thấy ACAD hỏi gì hết nên có lẻ vậy e thực hiện lệnh không được. Bác có chỉ là nhập một số tự nhiên bằng hàm getint nhưng e không biết nhập một số tự nhiên bằng hàm getint như thế nào, bác vui lòng chỉ rõ ra dùm e . E không biết gởi lời cảm ơn đến bác như thế nào để bày tỏ lòng ngưỡng mộ của e với bác e chỉ còn cách xin gởi lời cảm ơn và chúc sức khỏe đến với bác
  • 0

#4 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6007 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 04 March 2009 - 05:47 PM

Chào bác! e rất cám ơn bác đã quan tâm và giúp đỡ đến topic của e nhưng khi e loadlisp lên thì không thấy ACAD hỏi gì hết nên có lẻ vậy e thực hiện lệnh không được. Bác có chỉ là nhập một số tự nhiên bằng hàm getint nhưng e không biết nhập một số tự nhiên bằng hàm getint như thế nào, bác vui lòng chỉ rõ ra dùm e . E không biết gởi lời cảm ơn đến bác như thế nào để bày tỏ lòng ngưỡng mộ của e với bác e chỉ còn cách xin gởi lời cảm ơn và chúc sức khỏe đến với bác


Chào bạn Cadviet244,
Bạn chớ có lo lắng quá, lisp này chạy tốt mặc dù chả có thông bác như bác Hoành đã nói. Có thể tại cái Cad của bác ấy nó to hơn nên nó mới cẩn thận đến thế, còn cái cad 2004 của mình nó cũng phớt lờ luôn cái cảnh báo của bác Hoành, vậy nhưng nó vẫn chạy phe phé bạn ạ.
Bạn nói chưa biết xài lệnh getint thì mình xin giới thiệu cho bạn cái lý lịch trích ngang nhà nó thế này nhé:
1/- Hò văn tèn: GETINT (Giới tính: Tùy người xài)
2/- Ngày tháng năm sinh: Không nhớ
3/- Quê quán: Xứ Hoa kỳ hay Tây tàu gì đó.
4/- Năng lực: Có thể xài thoải mái để nhập các số nguyên từ -32...... đến 32..........
5/- Cá tính: Chỉ xài được theo cú pháp như sau: (getint [prompt]) trong đó [prompt] là dòng nhắc người dùng
Không thích đèo bòng với các em tham số.
Chỉ khoái các anh (hay em) còn NGUYÊN, còn lại là ứ ừ tuốt

6/- Anh chị em ruột: (GETSTRING) (GETREAL) (GETPOINT) (GETDIS) (GETANGLE)
..........................................................

Nhìn chung anh em nhà này chuyên dùng để nhập dữ liệu vào cad từ dòng nhắc của cad hay từ các đối tượng được chọn trong màn hình cad.
Ví dụ thế này nhé:
Để nhập giá trị của biến a là một số nguyên, bạn làm như sau:
1/- Gõ vào dòng lệnh command của cad các ký tự sau : (setq a (getint "/n Ban hay nhap mot so nguyen : "))
2/- Nhấn Enter.
Màn hình sẽ hiển thị : Ban hay nhap mot so nguyen : (Nếu bạn không khoái nhắc tuồng thì bạn chỉ việc xóa béng cái chuỗi prompt trong dòng lệnh đi, nhưng nhớ là phải để lại hai cái dấu ngoặc móc để thể hiện là có chuỗi nhắc trống nhé. Bằng không lisp sẽ ngoẻo)
3/- Nhập cái số nguyên mà bạn muốn gán cho cô nàng biến a của bạn . (ví dụ: 1234)
4/- Enter phát nữa cho chúng nó cưới nhau. Thế là xong.
Vậy là bạn có một cặp vợ chồng oai phết rồi ( a , 1234) cô a đã có chồng là 1234, cấm có đi lăng nhăng được nữa. Bây giờ muốn cho cô a một ông chồng mới bạn chỉ cần làm một tờ hôn thú khác (dùng một hàm gán biến khác) chứ chả phải li dị li diếc gì. Dễ òm mà.
Để kiểm tra xem có đúng vậy không, bạn gõ !a trên dòng lệnh command, thế là ông chồng cô ấy sẽ lòi ra thôi. (Trong ví dụ trên là 1234)

Cái lisp của bác Hoành sẽ cho phép bạn nhập số 1234 bằng cách gõ zxca trong dòng command sau khi nhập (getint "") ở dòng nhắc lệnh command và Enter.

Bây giờ thì bạn thử xài xem nhé. Cái nàng Getint này cũng dễ thương ra phết bạn ạ. Nếu thấy khoái bạn hãy làm quen thêm với anh chị em nhà cô ấy nghen.

Chúc bạn sớm kết thân được với họ hàng nhà lisp.
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#5 cadviet244

cadviet244

    HVKT-12

  • Members
  • PipPipPipPip
  • 245 Bài viết
Điểm đánh giá: 157 (tàm tạm)

Đã gửi 06 March 2009 - 09:59 AM

Chào bạn Cadviet244,
Bạn chớ có lo lắng quá, lisp này chạy tốt mặc dù chả có thông bác như bác Hoành đã nói. Có thể tại cái Cad của bác ấy nó to hơn nên nó mới cẩn thận đến thế, còn cái cad 2004 của mình nó cũng phớt lờ luôn cái cảnh báo của bác Hoành, vậy nhưng nó vẫn chạy phe phé bạn ạ.
Bạn nói chưa biết xài lệnh getint thì mình xin giới thiệu cho bạn cái lý lịch trích ngang nhà nó thế này nhé:
1/- Hò văn tèn: GETINT (Giới tính: Tùy người xài)
2/- Ngày tháng năm sinh: Không nhớ
3/- Quê quán: Xứ Hoa kỳ hay Tây tàu gì đó.
4/- Năng lực: Có thể xài thoải mái để nhập các số nguyên từ -32...... đến 32..........
5/- Cá tính: Chỉ xài được theo cú pháp như sau: (getint [prompt]) trong đó [prompt] là dòng nhắc người dùng
Không thích đèo bòng với các em tham số.
Chỉ khoái các anh (hay em) còn NGUYÊN, còn lại là ứ ừ tuốt

6/- Anh chị em ruột: (GETSTRING) (GETREAL) (GETPOINT) (GETDIS) (GETANGLE)
..........................................................

Nhìn chung anh em nhà này chuyên dùng để nhập dữ liệu vào cad từ dòng nhắc của cad hay từ các đối tượng được chọn trong màn hình cad.
Ví dụ thế này nhé:
Để nhập giá trị của biến a là một số nguyên, bạn làm như sau:
1/- Gõ vào dòng lệnh command của cad các ký tự sau : (setq a (getint "/n Ban hay nhap mot so nguyen : "))
2/- Nhấn Enter.
Màn hình sẽ hiển thị : Ban hay nhap mot so nguyen : (Nếu bạn không khoái nhắc tuồng thì bạn chỉ việc xóa béng cái chuỗi prompt trong dòng lệnh đi, nhưng nhớ là phải để lại hai cái dấu ngoặc móc để thể hiện là có chuỗi nhắc trống nhé. Bằng không lisp sẽ ngoẻo)
3/- Nhập cái số nguyên mà bạn muốn gán cho cô nàng biến a của bạn . (ví dụ: 1234)
4/- Enter phát nữa cho chúng nó cưới nhau. Thế là xong.
Vậy là bạn có một cặp vợ chồng oai phết rồi ( a , 1234) cô a đã có chồng là 1234, cấm có đi lăng nhăng được nữa. Bây giờ muốn cho cô a một ông chồng mới bạn chỉ cần làm một tờ hôn thú khác (dùng một hàm gán biến khác) chứ chả phải li dị li diếc gì. Dễ òm mà.
Để kiểm tra xem có đúng vậy không, bạn gõ !a trên dòng lệnh command, thế là ông chồng cô ấy sẽ lòi ra thôi. (Trong ví dụ trên là 1234)

Cái lisp của bác Hoành sẽ cho phép bạn nhập số 1234 bằng cách gõ zxca trong dòng command sau khi nhập (getint "") ở dòng nhắc lệnh command và Enter.

Bây giờ thì bạn thử xài xem nhé. Cái nàng Getint này cũng dễ thương ra phết bạn ạ. Nếu thấy khoái bạn hãy làm quen thêm với anh chị em nhà cô ấy nghen.

Chúc bạn sớm kết thân được với họ hàng nhà lisp.

Chào pác Bình
Em rất cảm ơn, cảm ơn pác lắm pác ơi, em làm được rùi cảm giác làm được trong người nó đã đã thế nào đó, mấy bữa nay e cứ trông chờ có pác nào ra tay nghĩa hiệp giúp e hok thế là trời thương có pác B giúp rùi hehehe, pác B thật là dể thương và dui tính nưã ước gì có thể làm việc được cùng pác nhỉ, công ty pác mà có tuyển người làm đồ họa là e nhất quyết nhảy vô liền hihi. Một lần nữa em xin vòng 2 tay lại và gật đầu cảm ơn pác Bình nhá. Chúc pác dồi dào sức khỏe và yêu đời
  • 1