Lập trình WINDOWS API trên VB/VBA (1 người xem)

Liên hệ QC

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

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự
Tham gia
13/6/06
Bài viết
4,813
Được thích
10,315
Giới tính
Nam
Nghề nghiệp
Giáo viên, CEO tại Bluesofts
Topic này tôi muốn các bạn hiểu hơn về nguyên lý hoạt động của một ứng dụng trên WINDOWS.

Chúng ta đã rất quen lập trình trên VB, VBA. Để có một form chúng ta chỉ việc kéo thả (dùng chuột để vẽ form và các control, coding...) - RAD -"Rapid Application Development"
Để chạy một form chúng ta chỉ cần
Form1.Show
Như vậy VB, VBA, hay một số phần mềm lập trình khác đã che dấu kịch bản bên trong. Để lập trình bình dân, chúng ta không cần quan tâm bên trong nó là sao. Nhưng khi chúng ta mong muốn một điều gì đó khác đi thì thật tối tăm, không biết đâu mà lần. Ví dụ tôi muốn có nút Command hay các control có kiểu như ThemeXP, có ảnh, form có hình dáng khác,...Nếu chỉ VB, VBA cung cấp thì hết cách. Nói chung VB, VBA chỉ cung cấp cho chúng ta giao diện lập trình ứng dụng rất cơ bản và đơn giản.

Bất kỳ một Hệ điều hành (HĐH) nào đều phải xây dựng một bộ công cụ lập trình cho các ứng dụng trên nó. Các ngôn ngữ lập trình như VB, C/C++, Delphi, Foxpro ...trên Windows cũng đều phải ứng dụng tối đa bộ công cụ lập trình mà HĐH cung cấp. Bản cứ để ý thấy rằng, khi HĐH thay đổi thì các PM cũng có giao diện thay đổi theo, mặc dù không cần sửa lại. Vì PM đó được xây dựng trên các nền tảng của HĐH đó.

Công cụ lập trình mà HĐH WINDOWS cung cấp được nằm trong các thư viện:
GDI32.DLL - Cung cấp các công cụ vẽ
kernel32.dll - Cung cấp các công cụ kiểm soát bộ nhớ, tiểu hệ thống,...
User32.dll - Cung cấp các công cụ lập trình giao diện người dùng (UI - User Interface)
...

Tất cả các công cụ đó (là các hàm, thủ tục) người ta gọi là API - Application Programming Interface (Giao diện Lập trình Ứng dụng).

Muốn lập trình sâu vào HĐH phần lớn các chuyên gia lập trình phải ứng dụng API! Các ngôn ngữ lập trình phải ứng dụng nó là điều chắc chắn!

Khi chúng ta hiểu sâu về API gần như có thể "mong gì được đấy"

Để ứng dụng tốt về API chúng ta cần phải có nhiều thời gian để tìm hiểu, nên biết qua về ngôn ngữ C/C++ vì HĐH hay các công cụ API được tạo ra trên ASM và C. Các tài liệu hướng dẫn của Microsoft đều ví dụ bằng ngôn ngữ C. Ta cần biết qua về ngôn ngữ C (biết sâu thì tốt quá rồi) để có thể đọc hiểu rồi suy ra ngôn ngữ VB.

Đây là một file ví dụ về tạo form và control trên VB/VBA có ThemeXP, không dùng Form 2.0 (FM20.DLL) hay các điều khiển ngoài.

Bài viết sau tôi sẽ giải thích càng dòng lệnh.
 

File đính kèm

Some posts from KhungLongBeo: (Chú KLB này mất bao thời gian để giải thích APIs tiếng Việt, thậm chí viết cả cuốn sách "Kẻ ngốc học lập trình", xong cũng chả để làm gì)

http://www9.ttvnol.com/forum/f_147/193561/trang-1.ttvn
http://5nam.ttvnol.com/f_147/193561.ttvn

KhungLongBeo đã bỏ lập trình VB từ cách đây 3 năm (Sau khi đem 1 sản phẩm viết = VB đi thi TTVN nhưng bị trượt ngay), đầu tiên chuyển sang viết game cho Mobile = Java để thi thố vớ vẩn (bây giờ chắc chú KLB chán cái trò thi thố đó rồi). Sau đó chuyển sang viết .NET, chủ yếu là các dịch vụ công cộng để kiếm tiền. Có thể đây là 1 hướng KD khá thời thượng và đúng hướng.

Nếu biết tiếng Anh:
http://www.allapi.net/ (site này chết nên chuyển về: http://allapi.mentalis.org/)
http://www.mentalis.org/
 
Lần chỉnh sửa cuối:
Upvote 0
Cậu này rất tốt, tâm huyết đưa kiến thức của mình ra cho mọi người. Phải có những người như thế thì những người khác mới có cái mà đọc.
Nếu chỉ hiểu sâu từng hàm, từng hằng số thì cần phải đọc từ MSDN sẽ được nhiều thông tin hơn cộng với download các ví dụ từ một số website. (Em thích những site của nước ngoài vì dù sao họ là người đi trước, được đào tạo tốt nên nhiều chuyên gia giỏi).

Mục đích mở topic này như ban đầu đã nói "Topic này tôi muốn các bạn hiểu hơn về nguyên lý hoạt động của một ứng dụng trên WINDOWS" chứ không phải chỉ giải thích vài thủ thuật riêng lẻ. Cách đây 4 năm em đã đọc 2 tập sách "Lập trình WINDOWS API" của Microsoft, qua đó đã hiểu phần nào hoạt động của HĐH Windows, của những ứng dụng trong nó, mặc dù mã lệnh giải thích trong sách toàn là ngôn ngữ C.

Em mở topic này, cũng chỉ muốn những ai yêu thích IT hiểu được Windows hơn nữa ở một mức cơ bản (Vì thời gian cũng như trình độ nên khó mà có thể viết nhiều và sâu được).

Để tìm hiểu về API trên VB mọi người có thể vào website http://caulacbovb.com trên này cũng đã tập hợp nhiều link của các trang nước ngoài có tiếng.

Bộ Office mới nhất 2007, môi trường lập trình vẫn dùng VBA chứ không phải .NET. Vì thế, học VB và VBA vẫn rất cần thiết khi chúng ta muốn lập trình trong Office.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom