- 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.
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.