Giaû söû click chuoät vaøo oâ Open File, oâ naøy seõ ñoåi traïng thaùi, caùc kyùtöï trong oâ seõ ñoåi maøu baùo traïng thaùi chôø nhaäp, nhaäp vaøo moät teân fie coù phaàn môû roäng laø[r]
(1)IV.3.Chương trình Download: Danh sách lớp:
Tên lớp Công dụng
Button.hpp Tạo nút nhấn, chứa hành động liên quan
Disklist.hpp Liệt kê ổ đĩa máy, chứa hành động liên quan List.hpp Để vẽ bảng liệt kê thư mục file, chứa hành động liên
quan
Mouse.h Chứa thao tác chuột
Screen.h Chứa tham số giao diện hình, chứa hành động liên quan
Textbox.hpp Vẽ khung nhập liệu (tên file, loại file, ) , chứa hành động liên quan
Xuat.hpp Chứa thao tác, hành động liên quan đến truyền file Lưu đồ hàm main():
Giải thích lưu đồ: Hình 13: lưu đồ hàm Main() chương trình DownLoad
Begin
InitGraphics()
Khởi tạo thành công
Mainpro()
closegraph()
End
CT báo lỗi
Đóng chế độ đồ họa
Thốt InitValues(…)
InitScreen()
InitMouse(…)
S
(2)LUÂÄN VĂN TỐT NGHIỆP 37 Chương trình bắt đầu begin
InitGraphisc():Khởi tạo chế độ đồ họa, chương trình có sử dụng hình chế độ đồ họa môi trường Dos Nếu khởi tạo khơng thành cơng thơng báo lổi khởi tạo khỏi chương trình
InitValues(…): hàm khởi tạo giá trị ban đầu cho hình: kích thước cửa sổ, kích thước ký tự
InitScreen(): Vẽ hình với giá trị khởi tạo InitMouse(): Khởi tạo chuột
Khởi tạo thành công: kiểm tra, khởi động chuột thành cơng tiếp tục cơng việc, khơng thành cơng xuất thơng báo lỗi khỏi chương trình MainPro chương trình quản lý thao tác tồn chương trình, từ
thao tác nhập xuất đến thao tác lựa chọn tùy chọn
Closegraph(): Đóng chế độ đồ họatrước khỏi chương trình End: kết thúc chương trình
Hàm Main() viết ngơn ngữ C :
void main(void) {
InitGraphics();
InitValues("Chuong trinh truyen du lieu RAM"); InitScreen();
if (!InitMouse(&MainWindow.rViewPort)) {
OutMessage("Mouse driver not found Init mouse and return"); getch(); closegraph(); exit(1); } ShowMouse(); MainProgram(); closegraph(); }
void main(void): void cho biết hàm main() không trả môt giá trị nào, nghĩa hàm main khơng có lệnh return() lệnh lệnh return khơng có tham sơ (void) cho biết hàm main không cần đối số đưa vào
Lưu đồ hàm Mainpro():
Begin
Khởi tạo giá trị cho ô nhập text
Khởi tạo giá trị cho nút chọn
A
Click to buy NOW! PD F- w er w w w
.d ocu -tra ck.co
m Click to buy NOW!
PD F- w er w w w
.d ocu -tra ck.co m
(3)Hình 14: Lưu đồ hàm MainPro() Giải thích lưu đồhàm MainPro():
Truyền file Return
Xác nhận thoát Xác định file chọn Click Nút
pull down
Click nút Exit
Nhấn Esc Click nút
Send Xuất ô nhập text hình
Xuất nút chọn hình
A
GetEvent()
Click vào ô Open File
Gọi chương trình nhập vào đường dẫn
(4)LUÂÄN VĂN TỐT NGHIỆP 39 Khởi tạo giá trị cho nhập text: hình có khung cho phép gõ
vào tên file, chương trình khởi tạo tọa độ, màu chữ cho text Khởi tạo giá trị cho nút chọn: giống trên, nút
Send, Exit nút Pulldown Xuất ô nhập text hình Xuất nút chọn hình
GetEvent: chương trình lấn biến cố chuột Biến cố chứa thơng tin tọa độ chuột, phím chuột click, thời gian click lần cuối, … để xáx định lệnh cần thực
Click vào ô Open File: biến cố click chuột xẩy tọa độ của ô Open file kết click vào TRUE, thực chương trình nhập vào file cần xuất Ngược lại bỏ qua
Click vào nút Pulldown: biến cố click chuột xẩy tọa độ của nút Pulldown kết click vào ô TRUE, gọi chương trình xuất cửa sổ chọn File, ngược lại bỏ qua
Click nút Send: biến cố click chuột xẩy tọa độ của nút Send kết click vào ô TRUE, thực xác nhận file xuất nhập vào chưa, file xuất chưa nhập vào báo lỗi bỏ qua lệnh Send, file xuất có tên xuất file
Click nút Exit: biến cố click chuột xẩy tọa độ của nút Exit kết click vào ô TRUE, thực xác nhận muốn khỏi chương trình, xác nhận thốt, ngược lại bỏ qua lệnh Exit
Nhấn Esc: người dùng nhấn vào nút Esc bàn phím biến cố Nhấn Esc TRUE, thực xác nhận muốn thoát khỏi chương trình, xác nhận thốt, ngược lại bỏ qua lệnh nút Esc
Sau đó, chương trình lại thực vịng lặp hàm lấy biến cố chuột có thao tác
Giả sử click chuột vào ô Open File, ô đổi trạng thái, kýtự ô đổi màu báo trạng thái chờ nhập, nhập vào tên fie có phần mở rộng “prn” với đầy đủ đường dẫn, sau gõ phímEnter tên file lưu vào biến toàn cục, địa đầu địa cuối chương trình ngơn ngữ máy lên khung “Free memory request”, dịng thơng bào bên báo cho biết click Send để truyền file
Giả sử tiếp tục click Send thơng báo xác nhận xuất hiện, muốn xác nhận có người dùng muốn truyền file không Nếu trả lời Ok chương trình truyền file gọi thi hành
Sau lưu đồ chương trình thực việc truyền File Giải thích lưu đồ:
Gọi chương trình cắt file: chương trình cắt file thực chất chương trình có nhiệm vụ lọc thông tin quan trọng file “x.prn” truyền đi, lưu chúng file “x.tmp” xuất khoảng thời gian chương trình cắt file Sau file “x.tmp” bị xố q trình truyền file hồn tất Quá trình truyền file phải sử dụng bước để q trình bắt tay máy tính Kit ổn định (thực nghiệm), việc viết chương trình rõ ràng
Click to buy NOW! PD F- w er w w w
.d ocu -tra ck.co
m Click to buy NOW!
PD F- w er w w w
.d ocu -tra ck.co m
(5) Gọi chương trình xuất file: chương trình đọc file có tên “x.tmp” tạo từ chương trình cắt file Chương trình đọc file, nhận tín hiệu bắt tay gởi liệu hết file
Trong q trình truyền file, có cố, giả sử khơng bắt tay lý đó, chươn trình đợi, thời gian kéo dài coi việc truyền file bi lỗi, thông báo lỗi xuất
Nếu truyền thành cơng thơng báo hồn tất cơng việc Return: Quay trở chương trình MainPro
Trong hàm MainPro(), cần quan tâm chương trình truyền file
Hình 15: Lưu đồ chương trình có nhiệm vụ truyền file
Trong phần này, ta quay lại công việc cắt file giới thiệu mục III chương V Chương trình cắt file để tạo file tạm thời có phần mở rộng tmp file file có cấu trúc đơn giản file prn nhiều nhằm để giúp cho việc truyền file thêm đơn giản
Trước hết khảo sát file *.prn, file dịch chương trình dịch Assembler
Trong chương trình, byte lệnh tiên bắt đầu địa 0000hex Nhận xét dòng lệnh bắt đầu bở địa nhớ, liền sau địa dấu nháy đơn, mà dấu nháy đơn xuất địa dịng lệnh để tìm địa tìm dấu nháy đơn
Đúng Gọi chương trình
Cắt file Begin
Gọi chương trình xuất file
Thành công
Thơng báo hồn tất cơng việc
Return
(6)LUÂÄN VĂN TỐT NGHIỆP 45
Hình 18: Lưu đồ chương trình nhận liệu từ máy tính gởi xuống thiết bị thực tập vi xử lý 8085 (trang 1):
Begin
Khởi tạo ngoại vi 8255:
Port A: nhận liệu
Port B: Xuất trạng thái
Port C: nhận tín hiệu điều khiển
Báo thiết bị bận
Reset biến đếm địa đầu cuối, nơi đặt vùng liệu nhận
được từ máy tính gởi xuống
“READY”
Chờ gõ phím “Go”
Gõ phím “Go”
“SENDING”
Busy=0 Sẳn sàng nhận liệu
(7)Hình 18: Lưu đồ chương trình nhận liệu từ máy tính gởi xuống thiết bị thực tập vi xử lý 8085 (trang 2)
Strobe=1
Busy=1, ACK=0
Đọc liệu, ACK=1
AF=1
Xuaát Nible cao +Error=0
AF=0
Xuaát Nible thaáp +Error=1
Strobe=0
Đọc liệu port A
(A)=FF
Xử lý liệu
Busy=0
Ñ
Ñ
Ñ
Ñ Ñ
S S