[Dermo] Tạo XLL Add-in cho Excel bằng Delphi tốc độ siêu nhanh, biên dịch mã máy

Liên hệ QC

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự
Tham gia
13/6/06
Bài viết
4,649
Được thích
10,138
Giới tính
Nam
Nghề nghiệp
Giáo viên, CEO tại Bluesofts
Lập trình tạo XLL Add-in cho Excel bằng Delphi giúp tạo các hàm chạy tốc độ chiêu nhanh và bảo mật. C/C++, Delphi được biết đến là ngôn ngữ lập trình hay trình biên dịch ra mã máy (Native code) nên tốc độ rất nhanh (không tính đến thuật toán). Sản phẩm XLL Add-in này mình đã tạo ra từ rất nhiều năm với "XLL Add-in Acchelper - Đọc số thành chữ tốc độ nhanh". Video này tôi mô tả các kỹ thuật XLL tôi đã đóng gói và đơn giản hóa thành class "TBSAddinXLL" để tương lai người lập trình ứng dụng dễ dàng nhất. Vậy những ai muốn nâng cấp ứng dụng, hàm tốc độ nhanh và môi trường lập trình mạnh mẽ nghĩ đến Delphi nhé.
 
Hì hì, quét với Pascal Analyzer và AQ Time chưa hen :)
Hay quá, ngàn like. Mà sao thằng VBA chạy chậm vậy ta ?
 
Lần chỉnh sửa cuối:
Upvote 0
Hì hì, quét với Pascal Analyzer và AQ Time chưa hen :)
Hay quá, ngàn like. Mà sao thằng VBA chạy chậm vậy ta ?

Viết hàm trong Delphi em vẫn luôn làm cho nó chạy nhanh hơn trong VBA đó anh :) . Em sẽ kiểm tra thêm với mấy tool anh giới thiệu trên để quét và kiểm tra chất lượng code nữa sẽ bảo đảm tuyệt hơn.
 
Upvote 0
Uhm, quan trong là build Debug, chạy AQTime với Excel.exe luôn, xem có bị leak memory không ? Chứ tại sao thằng VBA lại chạy chậm vậy ?
 
Upvote 0
Mới thử xong thì ra nó chỉ khác 1 tẹo: Options/Application khi build + 1 tí tẹo nữa
vậy thì Mạnh sẻ học Nhanh thôi ... vì có tí căn bản ở thớt bên kia rồi ;)

Cảm ơn rất nhiều
Capture.JPG
 
Upvote 0
Mới thử xong thì ra nó chỉ khác 1 tẹo: Options/Application khi build + 1 tí tẹo nữa
vậy thì Mạnh sẻ học Nhanh thôi ... vì có tí căn bản ở thớt bên kia rồi ;)

Cảm ơn rất nhiều
View attachment 222577

Ah, ngoài đổi đuôi file thì trong file khác nhiều lắm. Nó nằm ở class TBSAddinXLL, trong đó mình định nghĩa hết cả rồi nên ở lớp ngoài chỉ dùng thuần Delphi là được.
 
Upvote 0
Ở VN ta thì nghỉ đến Delphi thì phải nghỉ đến BlueSofts, Add-Ins Tools... nữa chứ nhỉ :)
Công nhận nhanh thật, nhưng Release build tới 165 KB thì không ưng ý lắm. Trên VC thì khéo chỉ vài chục KB thôi.
1 trong những cái người ta hay phàn nàn, chê Delphi, C++ Builder này là vấn đề file build ra bự đấy.
 
Upvote 0
Viết hàm trong Delphi em vẫn luôn làm cho nó chạy nhanh hơn trong VBA đó anh :) . Em sẽ kiểm tra thêm với mấy tool anh giới thiệu trên để quét và kiểm tra chất lượng code nữa sẽ bảo đảm tuyệt hơn.
Mạnh thấy Uses: BSXLIAddin ... chưa hiểu lắm ... chỉ dùm
Xin cảm ơn
 
Upvote 0
Ở VN ta thì nghỉ đến Delphi thì phải nghỉ đến BlueSofts, Add-Ins Tools... nữa chứ nhỉ :)
Công nhận nhanh thật, nhưng Release build tới 165 KB thì không ưng ý lắm. Trên VC thì khéo chỉ vài chục KB thôi.
1 trong những cái người ta hay phàn nàn, chê Delphi, C++ Builder này là vấn đề file build ra bự đấy.

Để em xem còn cái gì giảm được nữa không, khi tạm ổn em đưa bản release anh em test thử nhé.
Bài đã được tự động gộp:

Mạnh thấy Uses: BSXLIAddin ... chưa hiểu lắm ... chỉ dùm
Xin cảm ơn

Đó là một class mình xây dựng để làm việc với giao diện - interface XLL. Trong này viết kahs nhiều thứ, đọc toét cả mắt "Programming XLL C/C++" trên trang Microft đó.
 
Upvote 0
Sáng nay phải căng mắt ra ngồi tính tay code của bác Tuân. Làm việc với bác Tuân toàn remote debug = image không, ngán quá. Code Delphi text cũng không có luôn, hì hì.
Chỉ còn thiếu remote debug = image mã ASM nữa thôi.
À, nhắc vụ remote debug này mới nhớ, WinDbg mới bây giờ support remote debug qua Internet, dùng kdnet module của Win10. Phải thử mới được.
Nhưng tiếc là WinDbg không support debugger symbols file của Embac: Turbo Debug Symbols và Jedi Dedug Symbol :(
 

File đính kèm

  • 67875650_352430535678392_816334611360514048_n.jpg
    67875650_352430535678392_816334611360514048_n.jpg
    42.1 KB · Đọc: 80
  • 68581759_503552157070282_4789199108420141056_n.jpg
    68581759_503552157070282_4789199108420141056_n.jpg
    166.3 KB · Đọc: 81
Upvote 0
Sáng nay phải căng mắt ra ngồi tính tay code của bác Tuân. Làm việc với bác Tuân toàn remote debug = image không, ngán quá. Code Delphi text cũng không có luôn, hì hì.
Chỉ còn thiếu remote debug = image mã ASM nữa thôi.
À, nhắc vụ remote debug này mới nhớ, WinDbg mới bây giờ support remote debug qua Internet, dùng kdnet module của Win10. Phải thử mới được.
Nhưng tiếc là WinDbg không support debugger symbols file của Embac: Turbo Debug Symbols và Jedi Dedug Symbol :(

Chìn quả nháp tay trên giấy thế kia bài bản thế a :D . Nhiều “công trình” em cũng toàn viết và vẽ trên giấy trước :)
 
Upvote 0
đang coi tài liệu XLL thấy Bill keo

Hiệu năng của XLL được nâng cao hơn nữa trong Excel 2007 bằng cách bổ sung các loại dữ liệu mới và quan trọng nhất là hỗ trợ đa luồng.


hèn chi nó chạy nhanh ko biết có phải đó là lý do he ???
 
Upvote 0
Chia sẻ thông tin về công nghệ làm cho Excel mạnh mẽ hơn. Các bạn có thể tải file XLL add-in mình đã tạo so sánh với code VBA với hàm tương tự xem tốc độ thế nào nhé. XLL add-in này mình viết trong Delphi cho phép chạy từ Excel 97 đến 2019 các nền tảng 32 và 64-bit.
(*) Tải XLL add-in: http://bluesofts.net/Products/daotao/delphi/xll/TestXLL.rar
(Chỉ số đo lường chỉ là tương đối vì còn phụ thuộc vào cấu hình máy nhưng giữa Delphi và VBA là một sự chênh lệch rất lớn).
 
Upvote 0
Chia sẻ thông tin về công nghệ làm cho Excel mạnh mẽ hơn. Các bạn có thể tải file XLL add-in mình đã tạo so sánh với code VBA với hàm tương tự xem tốc độ thế nào nhé. XLL add-in này mình viết trong Delphi cho phép chạy từ Excel 97 đến 2019 các nền tảng 32 và 64-bit.
(*) Tải XLL add-in: http://bluesofts.net/Products/daotao/delphi/xll/TestXLL.rar
(Chỉ số đo lường chỉ là tương đối vì còn phụ thuộc vào cấu hình máy nhưng giữa Delphi và VBA là một sự chênh lệch rất lớn).
[/QUOT
Bác Tuân trình diễn thêm một vài ví dụ về khả năng của TBSAddinXLL như tạo Ribon, hay sự kiện RightClick .... cho anh em mở rộng tầm mắt nhé. Ý kiến cá nhân của em là nhiều người sẽ rất thích đấy.
 
Upvote 0
Lập trình tạo XLL Add-in cho Excel bằng Delphi giúp tạo các hàm chạy tốc độ chiêu nhanh và bảo mật. C/C++, Delphi được biết đến là ngôn ngữ lập trình hay trình biên dịch ra mã máy (Native code) nên tốc độ rất nhanh (không tính đến thuật toán). Sản phẩm XLL Add-in này mình đã tạo ra từ rất nhiều năm với "XLL Add-in Acchelper - Đọc số thành chữ tốc độ nhanh". Video này tôi mô tả các kỹ thuật XLL tôi đã đóng gói và đơn giản hóa thành class "TBSAddinXLL" để tương lai người lập trình ứng dụng dễ dàng nhất. Vậy những ai muốn nâng cấp ứng dụng, hàm tốc độ nhanh và môi trường lập trình mạnh mẽ nghĩ đến Delphi nhé.
cho em xin class "TBSAddinXLL" được ko a
 
Upvote 0
Bác Tuân trình diễn thêm một vài ví dụ về khả năng của TBSAddinXLL như tạo Ribon, hay sự kiện RightClick .... cho anh em mở rộng tầm mắt nhé. Ý kiến cá nhân của em là nhiều người sẽ rất thích đấy.

Cái này lại là dễ làm nhất đấy :) . Khi nào quay lại dự án này mình sẽ demo tiếp. Thanks!
 
Upvote 0
Demo với các bạn gói lập trình tạo Add-in cho Office (Excel, Word, Powerpoint,....) trên Delphi - Bluesofts Office Add-in builder (BOAB). Bạn chỉ cần khai báo vài thông số càn thiết BOAB sẽ tự gen toàn bộ code tạo add-in cho bạn, bao gồm cả tạo Task Pane, Ribbon, các điều khiển tới Office. Việc duy nhất của bạn là code các chức năng trong add-in của bạn mà thôi. Đây là gói hỗ trợ lập trình tôi tạo cho những người lập trình Delphi tạo sản phẩm cho Office dễ dàng như .NET (VSTO).
 
Upvote 0
Web KT
Back
Top Bottom