Chuyên đề lập trình trực quan trên môi trường Visual C++ 6.0 - Pdf 32

Web tham khảo: www.codeproject.org
Nội dung Chuyên đề lập trình trực quan trên môi trường Visual C++ 6.0
1. Giới thiệu môi trường và hướng dẫn cài đặt Visual C++6.0
- Quá trình phát triển dòng ngôn ngữ lập trình Visual C++ 6:
C chuẩn trong DOS (ngôn ngữ cấu trúc – hàm – chức năng) => C ++ (lai – hướng đối tượng:
chứa khái niệm lớp) => C++ trên windows => Visual C ++ 5,6,7,8.
- Mục đích, ý nghĩa bộ công cụ lập trình trực quan Visual C++6: như tên gọi của nó, VC 6 hỗ
trợ cao nhất cho người dùng phát triển các ứng dụng Desktop.
Phân biệt: website, trình duyệt, google…
- Bộ cài: sử dụng bộ cài Visual Studio 6.0 hoặc Visual C++ 6.0
- Tài liệu tiếng Việt: Tự học Visual C++ 6.0 trong 21 ngày.
2. Bài tập lớn và thi hết học phần:
- Kết hợp làm bài tập lớn hai môn: lập trình trực quan và giấu tin trong ảnh
- Dùng bài tập lớn để lấy điểm học trình ( 3 điểm học trình)
- Phát triển bài tập lớn thành thi hết học phần: thi vấn đáp
- Nội dung bài tập lớn:
o Xây dựng một chương trình nhỏ: ví dụ tính lương, bán sách, nhập hàng trên cơ sở
một ứng dụng hội thoại.
o Dịch một hoặc hai chương trong giáo trình Lập trình trực quan và trình bày nội dung
dịch.
o Dùng visual C xây dựng một ứng dụng giấu tin trong ảnh đơn giản/ hệ chuyên gia/
trí tuệ nhân tạo/ lý thuyết mật mã và an toan dữ liệu/
Win-form
Nux-form
Ứng dụng
Desktop
Ứng dụng
Client-server
Công cụ lập trình web:
dotnet, java, php, html
Công cụ lập trình trực

that exists today.
3.2 Giới thiệu về MFC – MFC là gì ?
- Microsoft Foundation Class
- Là một thư viện các lớp (class) trong ngôn ngữ Visual C++, dùng cho việc lập trình
trên Windows. MFC thích hợp cho các ngôn ngữ hướng đối tượng.
- Được xây dựng trên cơ sở các hàm thư viện API của Windows. API thích hợp cho các
ngôn ngữ hướng thủ tục: Visual Basic, C chuẩn.
- Version 6 có khoảng 200 class
- Giúp cho người lập trình có thể xây dựng ứng dụng nhanh và ít tốn công sức hơn so
với việc sử dụng đơn thuần các hàm thư viện API của Windows
- Ta vẫn có thể gọi các hàm Windows API trong
MFC
He hanh
- cac dich vu
cua HDH
- tai nguyen
API
- tap cac
ham
- MFC
Lap trinh vien
Visual C++
MFC
The Windows API is object-based. This means that you can programmatically interact with the system objects (such
as windows, semaphores, and pens) through a handle and a defined interface. The actual implementation and data
used by the implementation is hidden from the view of the program. This “data hiding” is called encapsulation.
The MFC Class Libraries are object-oriented. This means that in addition to the encapsulation, the interfaces
(packaged in a set of C++ classes) also provide inheritance and polymorphism. Inheritance is the capability to share
and extend the functionality of an existing class. Polymorphism is the capability of objects to support the same
interface, but provide different implementations.

 Vòng lặp:
o Hai dạng:
 Khai báo biến khởi tạo vòng lặp:
 int i;
 for(i=0;i<10;++i)
{
}
 int i=0;
 while(i<100)
{
sdsdsdsd
++i;
}
i=100;
 Chú ý:
o Mọi câu lệnh trong VC, C đều phải có dấu chấm phẩy ở cuối lệnh
o Chỉ riêng các lệnh cơ bản trong C như: if, for, while đều viết thường.
o Mọi kiểu biến cơ sở về kiểu dữ liệu số như: số nguyên (int), số thực (double), ký tự
(char) đều viết thường.
o
o Mọi hàm còn lại trong VC đều viết hoa chữ cái đầu.
o Mọi câu lệnh, chuỗi, tên biến, giá trị biến trong VC không chứa ký tự Việt. Do đó, khi
lập trình, nên tắt hết các chế độ gõ văn bản tiếng việt.
o Mảng, chuỗi hay xâu ký tự trong C, VC đều đánh chỉ số bắt đầu từ 0.
4. Tạo một dự án (project mới)
Giới thiệu: toolbar, một số nút chức năng quan trọng: biên dịch, chạy.
- Giới thiệu các cách tạo ứng dụng: document, dialog,..
- Giới thiệu thanh điều khiển, môi trường form
- Thực hành
4.1 Tạo một ứng dụng hội thoại Dialog

a. Đối tượng chuỗi trong VC6: CString.
 Khai báo 1 biến chuỗi tên là s: CString s,ss,s1,s2;
 Khởi tạo giá trị ban đầu cho s: s = “DH Tin K1”;s=ss;
 Các phép toán cần nhớ về chuỗi:
o Cộng hai chuỗi: Kết quả cộng hai chuỗi s1, s2 sẽ cho kết quả là một chuỗi s. Phép
toán cộng chuỗi: s = s1+s2; hoặc s = “Lop K1”+s2;
o So sánh hai chuỗi:
if(s1==s2)....; //vd: MessageBox(“s1=s2”);
else …;
o Hàm truy cập vào ký tự thứ i trong chuỗi: dùng phép toán: s[i]
o Hàm gán một ký tự mới vào một vị trí bất kỳ trong chuỗi: s.SetAt(chiso_can_gan,
ky_tu_can_gan);
vd: s = “DHTin K1”. Ta muốn thay ký tự ở vị trí 2 bằng ‘A’.
s.SetAt(2,’A’); => s = “DHAK1”
o Hàm lấy độ dài chuỗi: int n = s.GetLength();
o Đổi một chuỗi sang toàn các ký tự hoa: s.MakeUpper();
o Đổi một chuỗi sang toàn các ký tự thường: s.MakeLower();
o Hàm tìm kiếm một xâu con trong chuỗi: CString
int i = s.Find(xau_can_tim, vi_tri_bat_dau_tim);
int i = s.Find(“anh”, 0);
Hàm Find nhận vào hai đối như trên, hàm trả về chỉ số đầu tiên của xau_can_tim
trong chuỗi s. Nếu không tìm thấy, hàm Find trả về giá trị -1.
o Hàm tìm kiếm một ký tự trong chuỗi:
int i = s.Find(Kytu_can_tim, vi_tri_bat_dau_tim);
Hàm Find nhận vào hai đối như trên, hàm trả về chỉ số đầu tiên của kytu_can_tim
trong chuỗi s. Nếu không tìm thấy, hàm Find trả về giá trị -1;
o Xóa một, hoặc một số ký tự liên tiếp trong chuỗi:
s.Delete(vi_tri_xoa, xoa_bao_nhieu_kytu);
vd: s = “LopDHTanhin K1 ”; Ta muốn xóa các ký tự từ vị trí thứ 3 đến vị trí 6 => Số
ký tự xóa = 6-3=3; Gọi hàm: s.Delete(3,3); => s=” Lopin K1”

o Hiện lên cửa số mới như sau:
- Các hàm cần thiết phải nhớ về điều khiển textbox:
o Lấy dữ liệu từ điều khiển TextBox: Dùng lệnh UpdateData(1) như sau:
UpdateData(1);
Sau câu lệnh này, biến gắn với điều khiển textbox mà bạn vừa tạo ở trên đã
chứa dữ liệu trên ô TextBox. Bạn có thể thao tác với biến này. Ví dụ: Hiển thị
nội dung dữ liệu trên textbox: MessageBox(m_hoten);
o Đưa dữ liệu lên điều khiển TextBox: Theo các bước sau:
 Khởi tạo dữ liệu cho biến gắn với Textbox:
vd: m_hoten = “Nguyen Van Nam”;
 Gọi lệnh: UpdateData(0);
- Dịch và chạy thử .
4.4 Điều khiển nhãn (Static control)
- Dùng để ghi tên (nhãn) bên cạnh các mục của giao diện.
- Cách sử dụng: kéo điều khiển nhãn (biểu tượng “Aa”) từ bảng các điều khiển vào trong
Form.
- Bấm phải chuột vào điều khiển, chọn Properties. Sau đó gõ tên nhãn mình cần vào mục:
Caption.
4.5 Thực hành
Khi đó, bạn hãy:
 Gõ tên biến vào tiếp theo ký tự
m_, ví dụ: m_hoten.
 Không làm gì ở mục: Category
 Ở mục Variable Type: bạn có
thể chọn một kiểu dữ liệu thích
hợp để chứa dữ liệu trên ô
textbox như: chuỗi (CString), số
nguyên (int), số thực…
a. Xây dựng một ứng dụng nhỏ:
b. Xây dựng ứng dụng giải phương trình bậc hai:

{
UpdateData();
CString s = m_s1;
s.TrimLeft();
s.TrimRight();
int n = s.GetLength();
for(int i=n-1;i >0;--i)
{
if(s[i]==' ' && s[i-1]==' ')s.Delete(i,1);
}
n= s.GetLength();
for(i=0;i<n;++i)
{
if(i==0 && s[i] >= 97)s.SetAt(i, s[i] - 32);
else if(s[i]== ' ' && s[i+1] >= 97)s.SetAt(i+1, s[i+1] - 32);
}
m_s2 = s;
UpdateData(0);
}
4.5 Điều khiển danh sách ComboBox, ListBox, simple list
- Kéo điều khiển ComboBox vào Form
- Đặt tên cho điều khiển: ví dụ: IDC_COMBO1
- Thiết lập một số thuộc tính cho điều khiển:
- Owner draw: xác định lập trình viên có muốn viết đè hàm vẽ từng item trên điều
khiển hay không. Giá trị mặc định là No, nghĩa là ứng dụng VC tự vẽ và render từng
item trong điều khiển. Khi ta muốn viết hàm vẽ tùy biến cho từng item (ví dụ vẽ
thêm ảnh hoặc icon bên cạnh text cho tưng item). Thì ta phải thiết lập thuộc tính
owner draw. Có hai chế độ: fixed: mỗi item có chiều cao như nhau và động (varible).
Một khi đã chọn chế độ owner draw, bắt buộc lập trình viên phải khai báo hàm đè
DrawItem của điều khiển để thêm các mã tùy biến cho việc vẽ thêm icon bên cạnh

- OnSelChange();
- PretranslateMessage():
Bài tập: Tạo ComboBox hỗ trợ khả năng AutoComplete giống hệt như hộp comboBox chứa các hàm
trong một dự án của Visual C++6
In header file:
CString ds2[100],ds[100];//Luu toan bo noi dung ConboBox, ds[] chuyen toan bo sang
chu thuong, ds2[]: giu nguyen dinh dang
int N; //Tong so item co trong danh sach ban dau
bool m_bAutoComplete; //xu ly khi user bam BackSpace hoac Delete
int realLength; //do dai thuc su cua noi dung tren EditBox do user nhap vao
In source file:
BOOL CVd1Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
//...
// TODO: Add extra initialization here
cbBox.AddString("Pham The Anh");
cbBox.AddString("Le Dinh Danh");
cbBox.AddString("Nguyen Kha Tho");
cbBox.AddString("Tran Doan Minh");
cbBox.AddString("Le Duc Tho");
cbBox.AddString("Nguyen Viet Nam");
cbBox.AddString("Phan Huy Minh");
cbBox.AddString("Nguyen The Ngoc");
cbBox.AddString("Do Van Hoa");
cbBox.AddString("Nguyen Minh Phuong");
N = cbBox.GetCount();
for(int i=0;i<N;++i)
{ cbBox.GetLBText(i,ds[i]);
ds2[i] = ds[i];


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status