thiết kế mô phỏng chương trình điều khiển, mô phỏng gia công máy CNC - Pdf 33

Đồ án tốt nghiệp Lê Văn Đảng - Cơ Điện tử 4- k49
Mục lục
Mục lục 1
Lời nói đầu 3
Phần 1 .Tổng quan về lập trình hướng đối tượng
1.1. Abstraction ( tính trừu tượng) 4
1.2 .Encap sulation (sự đóng kín) 5
1.3. Modularity (modun hóa) 6
1.4. Hierachy (hệ thống phân cấp) 6
1.5. Kiểm tra kiểu ( typing ) 6
1.6. Bản chất của đối tượng 7
1.7. Mối quan hệ giữa các đối tượng 7
1.8. Bản chất của lớp 8
1.9. Mối quan hệ giữa các lớp 8
Phần 2.Visual C++ 6.0
2.1.Cách cài đặt 10
2.2.Giao diện chương trình 16
2.3.Các thao tác cơ bản với Menu và Toolbar của VC++ 6.0 17
2.4.Các môi trường xây dựng ứng dụng trong VC++ 6.0 19
Phần 3. Hướng dẫn lập trình VC++6.0
Chương 1.Các thao tác với lớp, hàm, biến
3.1.1.Đưa các file có sẵn vào trong chương trình ứng dụng 20
3.1.2.Thêm lớp mới vào trong chương trình 23
3.1.3.Thêm một hàm mới nằm trong lớp 25
3.1.4.Cách thêm một biến mới. 27
Chương 2.Tạo các menu, toolbar và các thao tác cơ bản
3.2.1.Tạo Menu 31
3.2.2.Tạo ToolBar mới 33
3.2.3. Tác động các sự kiện lên đối tượng 34
3.2.4. Đẩy một icon lên nút bấm trong ứng dụng 35
3.2.5.Tạo các ToolTip(chú thích )cho đối tượng 36

Chương 7.VC++ với thiết kế 3D
3.7.1.Include file header và library 101
3.7.2.Sử dụng hàm PreCreateWindow 101
3.7.3.Hàm OnCreate 101
3.7.3.1.Mô tả PixelFormat 101
3.7.3.2.Chọn và thiết lập cho PixelFormat 102
3.7.3.3.Tạo một ngữ cảnh để tô bóng (Rendering Context ) 102
3.7.4.Hàm OnSize ( ) 102
3.7.5.Hàm OnEraseBkgnd 103
3.7.6.Hàm OnInitialUpdate 103
3.7.7.Hàm OnDraw(CDC*pDC) 103
3.7.8.Các hàm DrawScene 103
3.7.9.Ví dụ minh hoạ 103
Chương 8 .Đóng gói chương trình ,tạo bộ cài đặt .
3.8.1.Thêm thành phần Installshield for Microsoft Visual C++ 6.0 109
3.8.2.Các thao tác để đóng gói với InstallShield . 110
Chương 9.Thiết kế chương trình mô phỏng điều khiển máy CNC
3.9.1.Chức năng của chương trình 118
3.9.2.Thiết kế giao diện 119
3.9.2.1.Thiết kế giao diện chính 119
3.9.2.2.Thiết kế các hộp thoại phụ 122
3.9.2.3.Thiết kế thanh menu 127
3.9.3.Viết code cho chương trình 128
3.9.3.1.Viết code cho hộp thoại Configure 128
3.9.3.2.Viết code cho hộp thoại Define Zero Point 129
3.9.3.3.Viết Code cho hộp thoại Edit Code 130
3.9.3.4.Viết Code cho hộp thoại New 130
3.9.3.5.Viết code cho hộp thoại Tool Demension 131
3.9.3.6.Viết code cho hộp thoại To Any Point 131
3.9.3.7.Viết code cho chương trình chính 132

đọc.
Trong quá trình hoàn thành đề tài ,được sự hướng dẫn tận tình của TS.Bùi Quý Lực ,
công việc đã được hoàn thành đúng tiến độ.
Xin chân thành cảm ơn tới thầy Bùi Quý Lực .
Người thực hiện :
Sinh viên : Lê Văn Đảng
Hướng dẫn lập trình VC ++ 6.0
Trang 3
Đồ án tốt nghiệp Lê Văn Đảng - Cơ Điện tử 4- k49
Phần I: TỔNG QUAN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

Visual C++ là môt phần mềm lập trình hướng đối tượng được phát triển trên cơ sở là
ngôn ngữ lập trình C và C++.
Phương pháp thiết kế hướng đối tượng vừa mới phát triển nhằm giúp nhà phát triển khai
thác được sức mạnh của đối tượng và ngôn ngữ lập trình hướng đối tượng, dùng các lớp
và đối tượng như là khối xây dựng cơ sở.
OOP (Object Oriented Programming ) là ngôn ngữ hiện thực trong đó chương trình
được tổ chức như tập hợp những đối tượng hợp tác với nhau, mỗi đối tượng đại diện
cho một instance của một vài lớp và những lớp mà chúng là thành viên của một lớp
phân cấp thông qua quan hệ thừa kế.
Ba điểm quan trọng trong định nghĩa này là :
1. Đối tượng được dùng như là những khối xây dựng cơ bản của OOP.
2. Mỗi đối tượng như là một instance của một số lớp.
3. Các lớp liên quan với nhau thông qua quan hệ thừa kế.
Ta có thể nói một ngôn ngữ là hướng đối tượng nếu và chỉ nếu nó thỏa mãn những yêu
cầu sau:
- Nó có thể tạo ra những đối tượng là dữ liệu trừu tượng với một giao tiếp của những
operation đã định và một trạng thái ẩn bên trong.
- Những đối tượng có một lớp kết hợp.
- Lớp có thể thừa kế thuộc tính từ lớp cha.

1.2. Encap sulation (sự đóng kín) :
Tính đóng kín là quá trình phân chia các phần tử của một trừu tượng để cấu thành nên
cấu trúc và hành vi của chính nó, đóng kín cho phép hoạt động giao tiếp của một trừu
tượng và hiện thực của nó.
Sự đóng kín là cơ chế liên kết mã và dữ liệu mà nó thao tác, và giữ cho cả 2 được an
toàn khỏi sự can thiệp từ bên ngoài và do sử dụng sai. Trong ngôn ngữ hướng đối
tượng, mã và dữ liệu liên kết với nhau để tạo thành một “hộp đen” độc lập. Trong hộp
này là tất cả mã và data cần thiết. Khi mã và data liên kết với nhau như thế một đối
tượng sẽ được tạo ra. Nói cách khác, đối tượng là một dụng cụ hỗ trợ cho sự đóng kín.
Trong một đối tượng , mã, data, hoặc cả 2 có thể là private (riêng) của đối tượng đó hay
public (chung). Mã hoặc data riêng là thuộc về đối tượng đó và chỉ được truy cập với bộ
phận của đối tượng. Nghĩa là mã hoặc data riêng không thể truy cập bởi các phần khác
của chương trình tồn tại ngoài đối tượng. Khi data là chung, các bộ phận khác có thể
truy cập đến nó mặc dù nó được định nghĩa trong một đối tượng. Các phần chung của
một đối tượng dùng để cung cấp một giao diện có điều khiển cho các phần riêng của đối
tượng.
Nói chung, một đối tượng là một biến thuộc kiểu do người sử dụng định nghĩa. Mỗi lần
ta định nghĩa một đối tượng mới, ta tạo ra một loại data mới.
Tính trừu tượng và đóng kín là hai khái niệm : trừu tượng thì tập trung vào những hành
vi có thể quan sát được của đối tượng, còn tính đóng kín tập trung vào hiện thực của
hành vi đó. Tính đóng kín thường đạt được thông qua che dấu thông tin, tức là quá trình
che dấu mọi bí mật của đối tượng mà không đóng góp vào đặc tính thiết yếu của đối
tượng đó ,thông thường cấu trúc của đối tượng được che dấu cũng như hiện thực của
những method của đối tượng.
Đặc biệt các thành viên có thể được đặt vào public, private, hay protected
của lớp. Thành viên được khai báo là public thì thấy được đối với mọi client, những
thành viên khai báo là private thì hoàn toàn đóng kín, và những thành viên khai báo là
protected thì chỉ thấy với chính lớp của nó và những lớp con của nó. C++ cũng còn cho
phép kí hiệu friend : là lớp cùng hợp tác được phép thấy những phần privated của nhau.
1.3. Modularity (modun hóa) :

lại, một số khác thì chọn hướng khác. C++ cho phép người lập trình quyết định: virtual
base class (lớp cơ sở ảo ) được dùng để chỉ ra sự dùng chung của cấu trúc lập lại, trong
khi đó nonvirtual base class có kết quả là trùng bản sao ở lớp con.
1.5. Kiểm tra kiểu ( typing ) :
Typing là sự tuân theo bắt buộc của lớp đối tượng, như là những đối tượng của các lớp
khác nhau không được thay thế lẫn nhau hoặc chúng có thể thay thế lẫn nhau chỉ theo
một cách thức rất hạn chế.
C++ có khuynh hướng kiểm tra kiểu chặt chẽ nhưng ta có thể lờ đi hay cấm kiểm tra.
- Tính đa dạng (polymorphism):
Là tính chất cho phép một tên được dùng cho hai hoặc nhiều mục đích khác nhau có
quan hệ về phương diện kỹ thuật. Mục đích của tính đa dạng khi được áp dụng cho OOP
là cho phép một tên được dùng để chỉ rõ một lớp tác động tổng quát, một tác
động cụ thể được xác định bởi loại data. Ví dụ, trong C, không có hỗ trợ tính đa dạng
nên một tác động giá trị tuyệt đối cần phải có ba hàm khác nhau:abs(), labs(), và
fabs( ). Các hàm này tính toán và lần lượt trả về một giá trị tuyệt đối của số nguyên, một
số nguyên dài, một giá trị dấu phẩy động. Tuy nhiên, trong C++ có đặc tính đa dạng nên
có hàm abs(). Loại data được dùng để gọi hàm xác định loại hàm nào thực sự được
Hướng dẫn lập trình VC ++ 6.0
Trang 6
Đồ án tốt nghiệp Lê Văn Đảng - Cơ Điện tử 4- k49
dùng. Trong C++ có thể sử dụng một tên hàm cho nhiều mục đích khác nhau. Điều này
được gọi là quá tải hàm(function overloading).
Tổng quan hơn khái niệm tính đa dạng là ý tưởng “một giao diện, nhiều phương pháp”.
Điều này có nghĩa là có thể thiết kế một giao diện chung cho một nhóm các tác động có
liên quan. Tuy nhiên, tác động cụ thể được thi hành phụ thuộc vào data. Ưu điểm của
tính đa dạng là chúng làm giảm tính phức tạp bằng cách cho phép cùng một giao diện
được sử dụng để ghi rõ một lớp tác động tổng quát, chính trình biên dịch sẽ lựa chọn tác
động cụ thể khi áp dụng cho từng trường hợp. Là người lập trình ta không phải thực
hiện sự lựa chọn này bằng tay. Ta chỉ cần nhớ và sử dụng giao diện chung.
-Liên kết tĩnh và kiên kết động (Static and Dynamic Binding):

nói cách khác, một link vó nghĩa là một hợp tác cụ thể qua đó một đối tượng ( client)
áp dụng những dịch vụ của đối tượng khác (nhà cung cấp) hoặc qua đó một đối tượng
có thể điều khiển đối tượng khác.
- Một đối tượng có thể đóng các vai trò sau:
Hướng dẫn lập trình VC ++ 6.0
Trang 7
Đồ án tốt nghiệp Lê Văn Đảng - Cơ Điện tử 4- k49
• Actor : một đối tượng có thể làm việc trên một đối tượng khác nhưng nó không bao
giờ cho một đối tượng khác làm việc trên nó, thuật ngữ actor và active object có thể thay
thế lẫn nhau.
• Server :một đối tượng không bao giờ làm việc trên một đối tượng khác, nó chỉ cho đối
tượng khác làm việc trên nó.
• Agent : một đối tượng vừa làm việc trên đối tượng khác vừa cho đối tượng khác làm
việc trên nó, một đại lý thường được tạo ra để làm công việc cho một actor hay một
agent khác .
• Đối tượng được cung cấp là global đối với client.
• Đối tượng cung cấp là một tham số cho các operation của client.
• Đối tượng cung cấp là một phần của đối tượng client.
• Đối tượng cung cấp được khai báo cục bộ trong operation của client.
Khi có multiple thread control, việc truyền thông tin giữa các đối tượng cần xử lý vấn đề
multual exclusion trong hệ thống xử lý đồng thời. Vấn đề đồng bộ hóa cũng phải xem
xét.
-Aggregation : Aggregation có nghĩa là một phân cấp tổng thể / bộ phận, với khả năng
điều khiển từ tổng thể ( còn gọi là aggregate ) tới những bộ phận (được hiểu là những
thuộc tính của nó).
1.8. Bản chất của lớp:
-Class (lớp) : là tập hợp của các đối tượng có cùng cấu trúc chung hay hành vi chung.
Một đối tượng đơn giản chỉ là một instance của lớp.
-Interface: của một lớp cho thấy bên ngoài của đối tượng và do đó nhấn mạnh đến vấn
đề trừu tượng trong khi che dấu cấu tr1c và hành vi bên trong.

Trang 9
Đồ án tốt nghiệp Lê Văn Đảng - Cơ Điện tử 4- k49
Hình 2.3- Chương trình yêu cầu khởi động lại máy để cài đặt có hiệu lực, nhấn Yes để
khởi động lại máy
Sau khi hoàn tất cài đặt Microsoft VM (Java Virtual Machine), tiếp tục cài đặt Visual
Studio 6.0.
Hình 2.4 – Nhấn Next để cài đặt Visual Studio 6.0 trong cửa sổ cài đăt hiện ra
Hướng dẫn lập trình VC ++ 6.0
Trang 10
Đồ án tốt nghiệp Lê Văn Đảng - Cơ Điện tử 4- k49
Hình 2.5 – Nhấp dấu chọn vào ô tròn tại dòng “I accept the agreement” để đồng ý điều
khoản sử dụng, sau đó nhấn Next để tiếp tục cài đặt
Hình 2.6– Dòng màu xanh là nơi cài đặt VS 6.0, hãy để mặc định, nhấn Next để tiếp tục
Hình 2.7 – Khởi động trình cài đặt, chờ đến khi xuất hiện màn hình cài đặt
Hướng dẫn lập trình VC ++ 6.0
Trang 11
Đồ án tốt nghiệp Lê Văn Đảng - Cơ Điện tử 4- k49
Hình 2.8– Đánh dấu chọn vào dòng Graphics để được hỗ trợ về đồ họa trong các ứng
dụng sau này. Chọn xong nhấn Continue.
Hình 2.9– Bỏ dấu chọn tại dòng Register Environment Variables và nhấn OK
Hình 2.10 – Nhấn Yes để tiếp tục
Hướng dẫn lập trình VC ++ 6.0
Trang 12
Đồ án tốt nghiệp Lê Văn Đảng - Cơ Điện tử 4- k49
Hình 2.11 – Trình cài đặt đang thực hiện cài đặt VS C++6.0
Hình 2.12 – Firewall (tường lửa) của Windows sẽ chặn các ứng dụng lạ, hãy ấn
Unblock để mở khóa.
Hình 2.13 – Nhấn OK
Hướng dẫn lập trình VC ++ 6.0
Trang 13

*Vùng thông báo : khi biên dịch chương trình các thông báo sẽ hiển thị ở đây, cho ta
biết chương trình có lỗi hay không và cụ thể lỗi ở đâu cũng như nêu ra các nguyên nhân
cơ bản gây ra lỗi .
Hướng dẫn lập trình VC ++ 6.0
Trang 16
Đồ án tốt nghiệp Lê Văn Đảng - Cơ Điện tử 4- k49
Hình 2.18. Các Menu và ToolBar trong VC++ 6.0
2.3.Các thao tác cơ bản với Menu và Toolbar của VC++ 6.0
Đối với VC++ 6.0 chúng ta cần quan tâm tới các Menu View, Insert, Project, Debug,
Layout và toolbar Control , còn các menu khác cách sử dụng hoàn toàn tương tự như
các phần mềm khác .
Menu View : ta quan tâm tới 2 tab Class Wizard (Ctrl+W )có
tác dụng mở ra hộp thoại Class Wizard sử dụng các sự kiện
(Messages) tác động lên đối tượng thông qua các địa chỉ điều
khiển (Control IDs) và các lớp (Class Name). Và tab
ID=Resource Sybols mở ra hộp thoại
Resource Symbols lưu lại các địa chỉ
của các đối tượng được sử dụng trong
ứng dụng, ở đây ta có thể thay đổi
thông số qua tác động “change” xem
cách thức nó được sử dụng trong ứng
dụng “View Use” hay tạo mới “New”
Khi tạo sự kiện WM_TIMER ta phải
sử dụng các bộ định thời và nên dùng
hộp thoại này để tạo các địa chỉ điều
khiển chúng .
Hình 2.19.Menu View

Hướng dẫn lập trình VC ++ 6.0
Trang 17

(down) .
Arrange Buttons : để điều chỉnh vị trí các nút bấm.
Center in Dialog : để căn chỉnh đối tượng vào giữa giao diện theo chiều ngang
(Horizontal) hay theo chiều dọc (vertical )….
Hướng dẫn lập trình VC ++ 6.0
Trang 18
Đồ án tốt nghiệp Lê Văn Đảng - Cơ Điện tử 4- k49
Để tác động lên 1 đối tượng ta chỉ cần kích vào đối tượng rồi chọn thao tác, nếu muốn
tác động lên nhiều đối tượng cùng lúc thì giữ Ctrl và kích
chọn lần lượt các đối tượng

Hình 2.23 .Menu Layout
ToolBar Control :
Đây là công cụ chính để tạo ra các thành phần cơ bản trong
giao diện , các nút bấm (button), editbox, listbox , combo
box, spin …, khi đưa thêm các ActiveX vào ứng dụng nó
cũng có mặt trong toolbar
control này .

Hình 2.24.ToolBar Control.
2.4.Các môi trường xây dựng ứng dụng trong VC++ 6.0
2.4.1.Dialog based
Là môi trường làm việc trên các cửa sổ đơn, Dialog based tương đối đơn giản dễ sử
dụng và có khả năng thiết kế giao diện đẹp .
2.4.2.Single Document Interface( SDI) : là môi trường tạo ra các ứng dụng đơn tài liệu
hỗ trợ một vùng quan sát và chỉ có thể làm việc với một kiểu tài liệu tại một thời điểm .
2.4.3.Multiple Document Interface (MDI) : môi trường cho phép tạo ra các ứng dụng
đa tài liệu , với mỗi tài liệu có một hoặc nhiều vùng quan sát .
Phần 3. HƯỚNG DẪN LẬP TRÌNH VC++ 6.0
Hướng dẫn lập trình VC ++ 6.0

Hình 3.6 . Đưa ActiveX vào ứng dụng.
Chọn đường dẫn tới ActiveX cần thêm :
Hướng dẫn lập trình VC ++ 6.0
Trang 22
Đồ án tốt nghiệp Lê Văn Đảng - Cơ Điện tử 4- k49
Hình 3.7 . Nơi chứa các ActiveX .
3.1.2. Thêm lớp mới vào trong chương trình :
VS C++ quản lý các đổi tượng thông qua các lớp, trong các lớp này chứa thông tin
và kiểu dữ liệu cũng như cách thức sử dụng các thành phần của lớp .Vì vậy tạo ra một
lớp mới là một công việc diễn ra một cách thường xuyên, dưới đây là những thao tác cơ
bản để tạo ra một lớp mới .
VD: tạo một lớp đường thẳng chứa thông tin về 2 điểm được kích hoạt khi dùng chuột,
các hàm tạo điểm, lấy điểm, hàm vẽ nối 2 điểm .
Hình 3.8.Chọn tab Class View trong Workspace> kích chuột phải vào VD class>Chọn
New Class
Hướng dẫn lập trình VC ++ 6.0
Trang 23
Đồ án tốt nghiệp Lê Văn Đảng - Cơ Điện tử 4- k49
Hình 3.9. Đặt tên lớp DuongThang. Ấn OK để kết thúc
Hình 3.10.Sau khi tạo lớp sẽ có các thành phần liên quan tới lớp vừa tạo ra.
Chúng ta sẽ tác động đến lớp này thông qua Header file và source file, chúng nằm trong
vùng làm việc cây thư mục File View.
Hình 3.11.Header DuongThang.h sẽ chứa các khai báo dùng trong lớp DuongThang
Hướng dẫn lập trình VC ++ 6.0
Trang 24
Đồ án tốt nghiệp Lê Văn Đảng - Cơ Điện tử 4- k49
Hình 3.12.Source File DuongThang.cpp sẽ thực thi những gì đã khai báo trong Header
file DuongThang.h
3.1.3. Thêm một hàm mới nằm trong lớp :
Hàm trong VS C++ được khai báo trong các lớp và được gọi trong ứng dụng để


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