VBScript.RegExp sẽ bị xóa khỏi Windows: thư viện Pcre2 giải pháp thay thế tối ưu (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

HeSanbi

Nam Nhân✨Hiếu Lễ Nghĩa Trí Tín✨
Tham gia
24/2/13
Bài viết
2,790
Được thích
4,471
Giới tính
Nam
Do microsoft đã dần loại bỏ thư viện Scripting khỏi Windows trong các phiên bản mới nhất, làm khó khăn hơn cho các bạn muốn lập trình trong VBA.
Giờ đây các bạn muốn tận dụng thư viện này để khởi tạo lớp Biểu thức chính quy VBScript.RegExp thì sẽ gặp thông báo lỗi, thư viện không hoạt động trong Runtime hoặc thông báo lỗi không thể chạy.


Lỗi Runtime thông báo lỗi khi sử dụng thư viện cũ:

1758093802105.png

Thư viện Pcre2 giải pháp thay thế tối ưu, với mã nguồn được viết với ngôn ngữ C, tận dụng đa luồng để xử lý chuỗi, giải thuật tối ưu do được nhiều lập trình viên cộng đồng đóng góp, tốc độ tối ưu, hỗ trợ nhiều cú pháp mới nhất dành cho biểu thức chính quy.
Tuy nhiên khi lập trình với thư viện ngoài cần có các tệp DLL, và nhúng Dll vào các dự án Office. Đòi hỏi các hiểu biết về lập trình Win API.
Hôm nay dựa vào Repo VBPcre2 trên Github tôi viết lại bản tương thích cả 32 và 64 bit để có thể hoạt động trên nhiều nền tảng nhiều phiên bản Office.
Nếu các bạn đang viết mã trên IDE mới là TwinBasic, cũng có thể tận dụng lại mã nguồn từ tệp bên dưới.

Với tệp Dll có hai dạng được Export từ mã nguồn cho hai cách gọi là __stdcall và __cdeclcall
Với mã nguồn bên dưới, có thể tận dụng cả hai cách đóng gói, tùy theo cách bạn muốn sử dụng.

Với cú pháp của thư viện có một chút khác so với thư viện cũ, tất cả có trong các lớp trong tệp, các bạn có thể sửa lại mã nguồn để đạt được mong muốn tái sử dụng lại cú pháp của thư viện cũ.

Mã trong tệp được cải tiến sang tương thích 64 bit dựa vào mã nguồn VBPcre2 chỉ hỗ trợ 32bit dành cho VB6 tại:

Dưới đây là tệp phiên bản đầu tiên, sẽ có các bản cập nhật mới trong tương lai
 

File đính kèm

Mới vừa đăng bài thì ChatGPT đã cập nhật thông tin cho Copilot, vô tình hỏi thông tin về Pcre2 thì nó gợi ý chính bài viết này


1758099830596.png
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom