Chuyển đến nội dung
Diễn đàn CADViet
snowman.hms

Read-Write Excel with Unicode, GetShortPath

Các bài được khuyến nghị

3 giờ trước, snowman.hms đã nói:

Read unicode: 

Write Unicode:

GetShortPath:

Link... Cần đường link để tải về học mót bác ơi :v :v 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Trên diễn đàn chưa thấy (hoặc chưa tìm thấy) code xuất ra file text (.txt, .csv) Unicode từ HEXA, nếu các bác ủng hộ mình sẽ viết 1 tut hướng dẫn cụ thể tạo string để write to unicode (chỉ hướng dẫn, còn code thì các bác tự làm). (Nếu có rồi, hoặc biết rồi thì xin bỏ qua).

P/s: - Không cần hỗ trợ của VB, code chính thì đã có trên diễn đàn (của Admin)- chỉ có string chưa phù hợp thì nó ra chữ Tàu, và mình đọc trong topic đó không xuống hàng được (break line).

 

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
Vào lúc 8/1/2019 tại 10:11, quocmanh04tt đã nói:

Trên diễn đàn chưa thấy (hoặc chưa tìm thấy) code xuất ra file text (.txt, .csv) Unicode từ HEXA, nếu các bác ủng hộ mình sẽ viết 1 tut hướng dẫn cụ thể tạo string để write to unicode (chỉ hướng dẫn, còn code thì các bác tự làm). (Nếu có rồi, hoặc biết rồi thì xin bỏ qua).

P/s: - Không cần hỗ trợ của VB, code chính thì đã có trên diễn đàn (của Admin)- chỉ có string chưa phù hợp thì nó ra chữ Tàu, và mình đọc trong topic đó không xuống hàng được (break line).

 

Sao chưa thấy hồi âm chú Mạnh? Tốc độ tốt không, chứ đọc Excel thường rất ì ạch.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Mình thấy file txt,csv đọc unicode cũng dễ mà.

Thường thì file txt sử dụng unicode-utf-8.

Mà file này có cấu trúc là đầu file có 2 mã #239 #187 #191 nằm đầu. Nên khi đọc dòng text đầu tiên thì kiểm tra có 3 mã này ko để kiểm tra có phải là file utf-8 hay ko và xóa nó đi.

Còn khi ghi file thì thêm string này trước dòng đầu tiên

(vl-list->string '(239 187 191)).

- Tiếp theo là đọc string bình thường. 

Lưu ý là string txt uft-8 theo chuẩn utf-8.

Viết 2 hàm chuyển String uft-8 thành string của CAD và ngược lại.

Chuẩn uft-8 như thế nào thì tham khảo ở đây:

https://en.wikipedia.org/wiki/UTF-8

Tóm tắt như sau

-  <= (chr 127) là giống như Acad

- (chr 128)~ (chr 191) Sử dụng 2 ký tự nếu ký tự kế >= 128

- (chr 192)~ (chr 223) Sử dụng 2 ký tự

- (chr 224)~ (chr 239) Sử dụng 3 ký tự

- (chr 240)~ (chr 247) Sử dụng 4 ký tự

- (chr 248)~ (chr 251) Sử dụng 5 ký tự

- (chr 252)~ (chr 255) Sử dụng 6 ký tự

* (4-5-6 ký tự thì chưa sử dụng) 

Nên viết function để chuyển ký tự thành /U+XXXX tương ứng của string CAD.

 

 

 

 

 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Còn file txt,csv mà định dạng unicode thì tương tự thôi. Mã ban đầu của nó có 2 byte là 255 và 254.

Mổi ký tự là 2 byte nên đơn giản hơn 1 chút là viết hàm gộp 2 ký tự thành 1.

 

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
44 phút trước, Doan Van Ha đã nói:

File txt thì đã OK. Còn file XLS thì sao bạn. Có thể cho 1 ví dụ đọc XLS Unicode được không?

XLS chắc phải hỏi bác snowman.hms ở trên chứ mình chưa mò tới :-)

Do mình thấy là autolisp chỉ gởi nhận string là ansi text cho tất cả các phần mềm liên kết khác nên khi sử dụng nó không thể đọc unicode từ các phần mềm khác. Trừ trường hợp các chương trình khác chỉ gởi ansi code.

Vì vậy muốn đọc unicode bằng các thì phải dùng ứng dụng chuyển mã về format của cad mới có thể sử dụng.

- Có 1 cách của cad là dùng lệnh datalink và table để tạo bảng sau đó đọc dữ liệu từ table đó

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tin vui là từ Autocad 2021 thì Font Unicode chính thức được hỗ trợ đầy đủ.

AutoCAD 2021 Help | AutoLISP Improvements | Autodesk

 

h012.PNG

  • Like 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Quá hay, trước giờ viết code bằng tiếng Việt rất khó khăn.

 

Với lại, chưa hiểu lệnh MakeLispApp khác gì cái complie của VLIDE.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×