1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình MiniChat bằng VC++ dùng cơ chế xử lý sự kiện - Nguyễn Quang Hùng

31 14 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 31
Dung lượng 1,07 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Lập trình MiniChat bằng VC++ dùng cơ chế xử lý sự kiện của Nguyễn Quang Hùng sau đây sẽ hướng dẫn các bạn một cách cụ thể và chi tiết về việc lập trình MiniChat bằng VC++. Mời các bạn tham khảo bài giảng để nắm bắt nội dung chi tiết, với các bạn chuyên ngành Công nghệ thông tin thì đây là tài liệu hữu ích.

Trang 1

HCMC Univ Technology – Faculty of Information Technology

Lập trình MiniChat bằng VC++ dùng cơ chế xử lý sự kiện

Nguyễn Quang Hùng

E-mail: hungnq2@dit.hcmut.edu.vn

Website: www.dit.hcmut.edu.vn/~hungnq/courses.htm

Trang 2

Mục lục

 Bài tập sau đây cho phép làm quen với qui trình xây dựng 1 chương trình theo giao diện “Dialog based” bằng VC++ Dialog box của chương trình MiniChat client:

Trang 3

HCMC Univ Technology – Faculty of Information Technology

Giao diện của ch.trình MiniChat client

Cửa sổ nhập thông tin của

button “Connect”

Cửa sổ nhập thông tin của

button “login”

Trang 4

Giao diện của MS Visual C++ IDE

Chạy Microsoft Visual C++từ Start  Programs  Microsoft Visual C++

Trang 5

HCMC Univ Technology – Faculty of Information Technology

Tắt/Mở nhiều cửa sổ làm việc

Trang 6

Tạo new project bằng AppWizard

 Dùng AppWizard để tạo

project: Chọn menu

File.New…, cửa sổ sau

được hiển thị Chọn trang

Projects, chọn mục MFC

AppWizard (exe), chọn

thư mục chứa project

trong textbox ‘Location’,

thí dụ: f:\mmtnc Nhập tên

(MiniChatClient) vào

textbox “Project name”,

như vậy các file tạo ra

project này chứa trong thư

Trang 7

HCMC Univ Technology – Faculty of Information Technology

Tạo new project bằng AppWizard (tiếp)

 Chọn button OK, cửa

sổ sau xuất hiện để

Trang 8

Tạo new project bằng AppWizard (tiếp)

Sockets” rồi hiệu

chỉnh lại title của

Dialog box rồi chọn

“Next”

Trang 9

HCMC Univ Technology – Faculty of Information Technology

Tạo new project bằng AppWizard (tiếp)

Trang 10

Tạo new project bằng AppWizard (tiếp)

Trang 11

HCMC Univ Technology – Faculty of Information Technology

Tạo new project bằng AppWizard (tiếp)

Chọn button Finish để tạo ứng dụng

Trang 12

Tạo new project bằng AppWizard

(tiếp)

Khi tạo ứng dụng thành công thì một Dialog xuất hiện trong VC++ IDE

Trang 13

HCMC Univ Technology – Faculty of Information Technology

Thiết kế giao diện ch.trình MiniChatClient

 Bắt đầu thiết kế giao diện

chương trình, dùng các

controls có sẳn ở cửa sổ

Control Để xóa một

control: chọn nó rồi chọn

cut Để thêm 1 control,

dùng chuột kéo từ toolbox

và thả control vào Dialog

Để thêm hay hiệu chỉnh

thuộc tính cho control, dời

chuột tới nó rồi chọn

Properties để hiển thị cửa

sổ thuộc tính

Trang 14

Thiết kế g.diện ct MiniChatClient (tiếp)

Dùng chuột drag các control vào vị trí thích hợp trên

Dialogbox

Trang 15

HCMC Univ Technology – Faculty of Information Technology

Thiết kế g.diện ct MiniChatClient

(tiếp)

Để các phần tử trong Dialogbox dùng font xác định (tiếng Việt), chọn Dialogbox rồi nhấn phải chuột Cửa sổ thuộc tính sẽ được hiển thị:

Trang 16

Hiệu chỉnh các thuộc tính của control

Trang 17

HCMC Univ Technology – Faculty of Information Technology

Hiệu chỉnh các t.t của control

(tiếp)

 Button “Connect” với tên IDC_CONNECT,

“Group” với tên IDC_GROUPREQ, “Login” với IDC_LOGIN, Button “User” với

IDC_USERREQ, “Send” với IDC_SENDMSG,

“Logout” với IDC_LOGOUT.

 Text box thông báo cần gởi với IDC_MESG,

 Listbox “Danh sách nhóm” với

IDC_GROUPLIST, Listbox “Danh sách các user trong nhóm” tên IDC_USERLIST, Listbox “Nội dung trao đổi với IDC_CONTENT”

Trang 18

Kết hợp biến và hàm xử lý biến cố với các control

Trang 19

HCMC Univ Technology – Faculty of Information Technology

Kết hợp biến và hàm xử lý biến cố với các control (tiếp)

Trang 20

Kết hợp biến và hàm xử lý biến cố với các control (tiếp)

 Để tạo các biến dữ

liệu kết hợp với các

control, chọn

project, class chứa

biến, trang Member

variables, sau đó

chọn từng ID phần

tử rồi ấn nút button

“Add variable”, cửa

sổ sau xuất hiện:

Trang 21

HCMC Univ Technology – Faculty of Information Technology

Kết hợp biến và hàm xử lý biến cố với các control (tiếp)

 Kết quả tạo 4

biến kết hợp với

4 phần tử giao

diện.

Trang 22

Tạo thêm các hộp thoại từ menu Insert.Resource

 Chọn menu

Insert.Resource

để tạo các hộp

thoại sau:

Trang 23

HCMC Univ Technology – Faculty of Information Technology

Tạo thêm các hộp thoại từ menu Insert.Resource (2)

Khuôn mẫu 2 hộp thoại sau:

Trang 24

 Quản lý các nhóm và các user của từng nhóm

 Phân phối chuỗi thông tin từ một user đến các user khác.

 Client:

 Giao tiếp với các user

Trang 25

HCMC Univ Technology – Faculty of Information Technology

Giao thức lớp ứng dụng Mini Chat

 Dạng reply cho tất cả các request:

 N <chuỗi dữ liệu phụ kèm theo>

 N = 1: Thành công, N = 0: Thất bại

Trang 26

Giao diện của c.trình

MiniChatServer

Tương tự tạo chương trình MiniChat Server như sau:

Trang 27

HCMC Univ Technology – Faculty of Information Technology

A SAMPLE

Trang 28

MINICHAT SERVER TRÊN VC++

Trang 29

HCMC Univ Technology – Faculty of Information Technology

MINICHAT SERVER TRÊN VC++ (t.t)

// Khai bao so yeu cau ket noi dong thoi

if(listen(ser_sock,10)==SOCKET_ERROR) {

MessageBox("Khong listen duoc");

return TRUE;

}

// Khai bao nhan du lieu bat dong bo + dong cau noi bat dong bo

if ( WSAAsyncSelect(ser_sock, m_hWnd, WSA_ACCEPT, FD_ACCEPT) > 0) {

Trang 30

MINICHAT SERVER TRÊN VC++ (t.t)

// Accept 1 yeu cau noi ket

// Khai bao nhan du lieu bat dong bo + dong cau noi bat dong bo

if (WSAAsyncSelect(sock, m_hWnd, WSA_RDCLOSE, FD_READ|FD_CLOSE) > 0) {MessageBox("Error on WSAAsyncSelect()");

Trang 31

HCMC Univ Technology – Faculty of Information Technology

MINICHAT SERVER TRÊN VC++ (t.t)

// Doc vao request va xu ly

void CMiniChatServerDlg::Request_Process(SOCKET sock) {

Ngày đăng: 09/05/2021, 18:46

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm