Tiếp nội dung phần 1, Giáo trình Hệ quản trị cơ sở dữ liệu: Phần 2 cung cấp cho người học những kiến thức như: Lập trình trong Visual Foxpro; Lập trình hướng đối tượng; Phân phối ứng dụng và tạo bộ đĩa cài đặt. Mời các bạn cùng tham khảo để nắm chi tiết nội dung giáo trình!
Chương Lập trình Visual Foxpro Chƣơng LẬP TRÌNH TRONG VISUAL FOXPRO 7.1 Giới thiệu lập trình Trong Visual FoxPro, lập trình thủ tục (lập trình cấu trúc) phƣơng pháp lập trình hƣớng đối tƣợng làm việc chung với nhau, ta tạo ứng dụng cách mềm dẻo Lập trình thủ tục viết dãy lệnh liên tiếp với để thực nhiệm vụ Thơng thƣờng nhiệm vụ làm chƣơng trình làm hội thoại sử dụng cơng cụ có thời gian 7.1.1 Các kỹ thuật lập trình Visual FoxPro Ta viết chƣơng trình Visual FoxPro cách viết câu lệnh trong: - Cửa sổ lệnh - Trong file chƣơng trình - Trong cửa sổ tình (Sự kiện- Event) hay phƣơng thức (Method) Form Designer, - Trong cửa sổ thủ tục Form Designer, 1) Sử dụng cửa sổ lệnh Ta thực câu lệnh cách gõ chúng vào cửa sổ lệnh ấn phím Enter Để thực lại câu lệnh ta di chuyển trỏ đến dòng chứa câu lệnh ấn phím Enter Ta cho thực nhiều dòng lệnh lúc cách sau: - Chọn dòng lệnh cần thi hành - Ấn phím Enter Việc thi hành lệnh cửa sổ lệnh có ƣu điểm khơng lƣu lệnh cần thực vào file chƣơng trình mà thực đƣợc lệnh 111 Chương Lập trình Visual Foxpro 2) Các bước tạo file chương trình a) Một file chƣơng trình Visual FoxPro file văn chứa dãy câu lệnh có phần mở rộng PRG Để tạo file chƣơng trình ta thực cách sau: Trong cửa sổ Project Manager, chọn trang Code, sau chọn mục Program chọn nút New Trong cửa sổ lệnh gõ vào lệnh Modify Command b) Mẫu File chƣơng trình Phần giới thiệu: Tên chƣơng trình, ngày viết, tác giả Trƣớc dịng phần có dấu * Phần thiết lập môi trƣờng nhờ lệnh SET Phần nhập liệu: Khởi tạo hằng, biến Nhập liệu cho biến nhớ, mở CSDL Phần tính tốn: Thực nhiệm vụ chƣơng trình Phần in kết tính tốn Phần kết thúc: Đóng bảng CSDL, trả mơi trƣờng làm việc cũ Ví dụ: Chƣơng trình sau tìm in họ tên, ngày sinh năm làm việc nhân viên bảng nhanvien.dbf có mã nhân viên nhập từ bàn phím set talk off set date to french set default to c:\dulieu clear close all use nhanvien accept 'nhap ma nhan vien:' to bma locate for MANV =bma if found() ? 'Ho va ten:' , hoten ? ' sinh:', ngaysinh ?'nam lam viec:', namlv 112 Chương Lập trình Visual Foxpro else ?'khong phai la nhan vien cua cong ty' endif Close All set talk on 7.1.2 Lƣu file chƣơng trình Sau tạo xong file chƣơng trình để lƣu chƣơng trình lên đĩa ta chọn Menu File/ Chọn Save Nếu tạo file chƣơng trình cửa sổ Project Manager, chƣơng trình đƣợc đƣa vào đề án (Project) 7.1.3 Sửa chƣơng trình Để sửa chƣơng trình có ta thực cách sau: - Trong cửa sổ Project Manager chọn trang Code/ chọn mục Program/ Chọn chƣơng trình cần sửa/ Chọn nút Modify - Trong cửa sổ lệnh gõ vào lệnh Modify Command 7.1.4 Thực chƣơng trình Để thực thi chƣơng trình, ta thực theo cách sau: - Nếu chƣơng trình nằm Project, chọn chƣơng trình Project Manager , chọn nút Run - Trong cửa sổ lệnh, gõ lệnh Do Có thể gõ ? để lên danh sách chƣơng trình (Nếu khơng nhớ chƣơng trình) 7.1.5 Ghi chƣơng trình Trong soạn thảo chƣơng trình, nên tập thói quen ghi cho câu lệnh Việc ghi giúp cho chƣơng trình dễ đọc, dễ hiểu, dễ bảo trì Khi chạy chƣơng trình máy bỏ qua phần ghi Để ghi chƣơng trình, ta sử dụng kí hiệu * && đặt trƣớc câu ghi * Sử dụng cho câu ghi nằm dòng && Sử dụng cho câu ghi nằm cuối câu lệnh 113 Chương Lập trình Visual Foxpro 7.2 Chƣơng trình Chƣơng trình chƣơng trình đƣợc chƣơng trình khác gọi nơi thân chƣơng trình Chƣơng trình gọi chƣơng trình gọi chƣơng trình gọi Chƣơng trình gọi có PRG đƣợc ngƣời sử dụng gọi cửa sổ lệnh gọi chƣơng trình Visual FoxPro có hai loại chƣơng trình con: thủ tục hàm Các tệp chƣơng trình riêng lẻ đĩa cứng coi nhƣ thủ tục Thủ tục hàm cho phép lƣu đoạn chƣơng trình thƣờng đƣợc sử dụng nơi gọi thi hành nơi ứng dụng Điều làm cho ứng dụng dễ dàng việc bảo trì có sửa đổi cần sửa đổi nơi thay cho nhiều nơi 7.2.1 Hàm tự tạo Hàm tự tạo chƣơng trình ngƣời dùng lập ra, nhằm trả cho chƣơng trình gọi giá trị thuộc kiểu liệu Hàm tự tạo có cấu trúc sau: FUNCTION [PARAMETER ] RETURN [] Tên hàm bắt đầu chữ cái, sau chữ chữ số thay chữ hay chữ số dấu gạch dƣới Tên hàm không đƣợc trùng với tên từ khoá Lời gọi hàm: ta gọi hàm theo mẫu Và đặt lời gọi hàm vào biểu thức Ví dụ: Chƣơng trình sau có sử dụng hàm xét loại tốt nghiệp phổ thông dựa điểm thi môn: Tổng số điểm 34 xếp loại giỏi; 34 >Tổng số điểm 28 xếp loại khá; 28 >Tổng số điểm 20 xếp loại trung bình; cịn lại trƣợt *Chƣơng trình 114 Chương Lập trình Visual Foxpro SET TALK OFF && bật chế độ lập trình CLEAR ACCEPT „Họ tên: ‟ TO ht INPUT „Điểm toán: ‟ TO t INPUT „Điểm văn: ‟ TO v INPUT „Điểm lý: ‟ TO l INPUT „Điểm anh: ‟ TO a ? ht + „ tốt nghiệp loại: ‟ + loai(t,v,l,a) WAIT „‟ SET TALK ON && bật chế độ đối thoại * Phần trình bày chƣơng trình FUNCTION loai PARA m1,m2,m3,m4 s = m1 + m2 + m3 + m4 DO CASE CASE s >= 34 r = „Giỏi‟ CASE 28 25 11) Cho biết tenkh, diachi, DT khách hàng bán mặt hàng màu “Vang” “xanh” với số lƣợng >100 12) Cho biết tenkh, tenmh khách hàng có giới tính “nam” bán mặt hàng màu “Den” mua mặt hàng màu “Xanh” với 200> soluong>100 13) Cho biết thông tin khách chƣa tham gia mua bán lần 14) Cho biết thông tin khách chƣa mua hàng lần 15) Cho biết thông tin mặt hàng chƣa đƣợc mua bán lần 16) Cho biết thông tin khách, số lần mua số tiền mua hàng có số lần mua lớn nhỏ tháng năm 2010 17) Đƣa mã mặt hàng, tên mặt hàng, đơn vị tính, màu, số lƣợng mặt hàng tồn kho Câu 4: 1) Thiết kế Report phân nhóm theo ngày bán hàng gồm thơng tin sau: ngày bán hàng, số thứ tự, mã khách hàng, họ tên khách hàng, địa khách hàng Cuối nhóm cuối báo cáo đếm số khách hàng mua hàng 2) Thiết kế Report bảng kê mua hàng gồm thông tin sau: ngày mua hàng, số thứ tự, mã mặt hàng, tên mặt hàng, số lƣợng, đơn giá, thành tiền mặt hàng 252 Bài tập thực hành mua Danh sách đƣợc phân nhóm theo ngày mua hàng Trong nhóm danh sách đƣợc xếp theo chiều giảm dần cột số lƣợng Cuối nhóm có thống kê tổng số tiền mà cửa hàng mua ngày Cuối báo cáo có thống kê tổng số tiền mà cửa mua hàng 3) Thiết kế Report thống kê danh sách khách hàng mua hàng năm 2010, phân nhóm theo mã khách hàng gồm thông tin sau: mã khách hàng, họ tên khách hàng, địa khách hàng, số thứ tự, mã mặt hàng, tên mặt hàng, ngày mua, số lƣợng, đơn giá, thành tiền Trong nhóm danh sách đƣợc xếp theo chiều giảm dần cột số lƣợng Cuối nhóm có thống kê tổng số tiền khách hàng mua hàng Cuối báo cáo có thống kê tổng số tiền khách hàng mua hàng 4) Thiết kế Report in hoá đơn bán hàng cho mỗi khách hàng mua hàng theo ngày theo mẫu sau: CÔNG TY TNHH ANH TÚ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM SỐ 12 TRƢỜNG CHINH NAM ĐỊNH Độc lập - Tự - Hạnh phúc HOÁ ĐƠN BÁN HÀNG KIÊM PHIẾU XUẤT KHO Số: Tên khách hàng: ông Trần Thanh Hải Địa chỉ: 102 phố Hàng Thao Số điện thoại: (0350) 3678756 Ngày mua hàng: 20/04/2005 Danh sách mặt hàng: STT Tên mặt hàng Số lƣợng Đơn giá Đơn vị tính Thành tiền Xi măng bỉm sơn 10 12,0 120,0 Sắt Việt hàn 8,0 tạ 72,0 Gạch lát LH 1200 0,005 viên 0,6 Tổng cộng 192,600 triệu đồng Nam Định, ngày 20 tháng 04 năm 2006 CHỦ CỬA HIỆU 253 Bài tập thực hành 5) Thiết kế Report thống kê danh sách mặt hàng mà cửa hàng bán cho khách hàng năm 2010, phân nhóm theo q gồm thơng tin sau: mã mặt hàng, tên mặt hàng, số thứ tự, mã khách hàng, họ tên khách hàng, ngày bán, số lƣợng, đơn giá, thành tiền Cuối nhóm có thống kê số lần bán, tổng số lƣợng, tổng số tiền bán mặt hàng Cuối báo cáo có thống kê tổng số tiền cửa hàng bán hàng Danh sách đƣa nhóm đƣợc xếp theo chiều giảm dần cột thành tiền 6) Thiết kế Report thống kê danh sách mặt hàng mà cửa hàng mua, phân nhóm theo năm, q gồm thơng tin sau: mã mặt hàng, tên mặt hàng, số lƣợng, đơn giá, thành tiền Cuối nhóm có thống kê số lần mua, tổng số lƣợng, tổng số tiền mua mặt hàng Cuối báo cáo có thống kê tổng số tiền cửa hàng mua hàng Danh sách đƣa nhóm đƣợc xếp theo chiều giảm dần cột thành tiền Câu 5: 1) Tạo Label in giấy báo cho hững khách hàng bán hàng cho cửa hàng năm 2009 có tổng số tiền bán hàng nhỏ tổng số tiền bán hàng trung bình theo mẫu sau: CƠNG TY TNHH ANH TÚ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM SỐ 12 TRƢỜNG CHINH NAM ĐỊNH Độc lập - Tự - Hạnh phúc GIẤY BÁO Số: Kính gửi: Ơng Trần Hải Anh Địa chỉ: 120 phố Hàng Thao Nam Định Ông khách hàng chúng tơi có: Số lần bán hàng là: 15 Với tổng số tiền là: 120 triệu đồng Nhân dịp kỷ niệm ngày thành lập cửa hàng xin kính mời Ơng đến nhận q tặng cửa hàng Thời gian muộn 10 ngày sau nhận đƣợc giấy báo Nam Định, ngày 20 tháng 04 năm 2010 CHỦ CỬA HIỆU 254 Bài tập thực hành Yêu cầu: - Những chỗ …… chỗ phải điền liệu vào, đó: - Số lấy giá trị từ biến nhớ - Các thông tin lấy từ bảng liệu tƣơng ứng - Kính gửi phải ghi rõ ông hay bà - Ngày, tháng, năm ngày 2) Thiết kế Report in hoá đơn toán cho khách hàng cửa hàng mua hàng năm 2009 theo mẫu sau: CÔNG TY TNHH ANH TÚ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM SỐ 12 TRƢỜNG CHINH NAM ĐỊNH Độc lập - Tự - Hạnh phúc HOÁ ĐƠN THANH TOÁN Số: Cửa hàng chúng tơi tốn cho: Tên khách hàng: Ơng Nguyễn Thanh Hải Địa chỉ: 102 phố Hàng Thao Số điện thoại: (0350) 3678756 Theo hóa đơn sau: STT Số hóa đơn 01XMBS 03SVH 04GM Ngày mua Đơn vị tính Số tiền 20/10/2010 USD 120,0 15/11/2010 15/12/2010 Ngàn Won Hàn quốc Triệu đồng VN 72,0 345,5 Nam Định, ngày 20 tháng 04 năm 2010 CHỦ CỬA HIỆU 3) Thiết kế Label in giấy mời sau cho khách hàng mua hàng năm 2009, có số lần mua hàng lớn 10 theo mẫu CÔNG TY TNHH ANH TÚ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM SỐ 12 TRƢỜNG CHINH NAM ĐỊNH Độc lập - Tự - Hạnh phúc 255 Bài tập thực hành GIẤY BÁO Số: Kính gửi: Ơng Trần Hải Anh Địa chỉ: 120 phố Hàng Thao Nam Định Ông khách hàng chúng tơi có: Số lần mua hàng là: 15 Với tổng số tiền là: 120 triệu đồng Nhân dịp kỷ niệm ngày thành lập cửa hàng xin kính mời Ơng đến nhận q tặng cửa hàng Thời gian muộn 10 ngày sau nhận đƣợc giấy báo Nam Định, ngày 20 tháng 04 năm 2010 CHỦ CỬA HIỆU Yêu cầu: - Những chỗ …… chỗ phải điền liệu vào, đó: - Số lấy giá trị từ biến nhớ - Các thông tin lấy từ bảng liệu tƣơng ứng - Kính gửi phải ghi rõ ơng hay bà - Ngày, tháng, năm ngày 4) Thiết kế Label in giấy báo sau cho khách hàng bán hàng có tổng số tiền bán lớn 100 triệu số lần bán lớn 10 theo mẫu sau: CÔNG TY TNHH ANH TÚ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM SỐ 12 TRƢỜNG CHINH NAM ĐỊNH Độc lập - Tự - Hạnh phúc GIẤY BÁO Số: Kính gửi: Ơng Trần Hải Anh Mã khách hàng: KH001 Địa chỉ: 120 phố Hàng Thao Nam Định Ông khách hàng chúng tơi có: Số lần bán hàng là: 15 Với tổng số tiền là: 120 triệu đồng 256 Bài tập thực hành Nhân dịp kỷ niệm ngày thành lập cửa hàng xin kính mời Ơng đến nhận quà tặng cửa hàng Thời gian muộn 10 ngày sau nhận đƣợc giấy báo Nam Định, ngày 01 tháng 01 năm 2011 CHỦ CỬA HIỆU Yêu cầu: - Những chỗ …… chỗ phải điền liệu vào, đó: - Số lấy giá trị từ biến nhớ - Các thông tin lấy từ bảng liệu tƣơng ứng - Kính gửi phải ghi rõ ông hay bà - Ngày, tháng, năm ngày 5) Thiết kế Label in giấy báo sau cho khách hàng mua hàng năm 2010, có tổng số tiền mua hàng lớn 50 theo mẫu sau: CƠNG TY TNHH ANH TÚ CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM SỐ 12 TRƢỜNG CHINH NAM ĐỊNH Độc lập - Tự - Hạnh phúc GIẤY BÁO Số: Kính gửi: Ơng Trần Hải Anh Địa chỉ: 120 phố Hàng Thao Nam Định Ông khách hàng chúng tơi có: Số lần bán hàng là: 15 Với tổng số tiền là: 120 triệu đồng Nhân dịp kỷ niệm ngày thành lập cửa hàng xin kính mời Ơng đến nhận quà tặng cửa hàng Thời hạn muộn 20 ngày tính từ ngày in giấy báo Nam Định, ngày 01 tháng 01 năm 2011 CHỦ CỬA HIỆU Yêu cầu: - Những chỗ …… chỗ phải điền liệu vào, đó: - Số lấy giá trị từ biến nhớ 257 Bài tập thực hành - Các thông tin lấy từ bảng liệu tƣơng ứng - Kính gửi phải ghi rõ ơng hay bà - Ngày, tháng, năm ngày Câu 6: 1) Hãy thiết kế lập trình Form điều khiển việc in giấy báo nhận quà (trong câu 5.4) theo mẫu: Yêu cầu: Trong địa đƣợc chọn từ Combo box; Combo box mã khách hàng xuất chọn mục chọn khách hàng 2) Hãy thiết kế lập trình Form điều khiển việc tìm kiếm thông tin khách hàng mua bán hàng theo mẫu: 258 Bài tập thực hành Yêu cầu: Trong mã khách hàng đƣợc chọn từ Combo box; chọn mã khách hàng thơng tin khách hàng họ tên, quê quán Text box; Combo box ngày, tháng, năm đƣợc chọn nút tìm kiếm có hiệu lực 3) Hãy thiết kế lập trình Form điều khiển việc in hóa đơn bán hàng kiêm phiếu xuất kho (trong câu 4.4) theo mẫu: Yêu cầu: Combo box ngày, tháng, năm đƣợc chọn nút xem trƣớc in ấn có hiệu lực 4) Hãy thiết kế lập trình Form điều khiển việc tra cứu thông tin mặt hàng theo mẫu: Yêu cầu: Combo box ngày, tháng, năm đƣợc chọn nút tìm kiếm có hiệu lực; chọn vào Option tất tất mặt hàng mua bán ngày hơm đó; 259 Bài tập thực hành chọn vào Option Mua tất mặt hàng mua ngày hơm đó; chọn vào Option Bán ra tất mặt hàng bán ngày hơm Câu 7: Tạo Menu theo mẫu dƣới gắn tất Query, View, Form, Report, tạo câu vào chức Menu Nhập/Sửa liệu Tìm kiếm In ấn Thốt Về FOXPRO Về WINDOWS Yêu cầu: - Một Menu chạy hình - Một Menu chạy Form 260 Tài liệu tham khảo Tµi liƯu tham kh¶o [1] Nguyễn Ngọc Minh, Nguyễn Đình Đề Sử dụng khai thác Microsoft Visual Foxpro 6.0 NXB Lao động 2003 [2] Phạm Hùng Phú, Nguyễn Văn Thẩm, Đồn Tuấn Nam Giáo trình Hệ quản trị sở liệu Giáo trình nội Trƣờng Đại học Sƣ phạm Kỹ thuật Nam Định 2009 [3] Hoàng Quang, Quang Anh Tự học ngơn ngữ lập trình Visual Fox 8.0 NXB Văn hóa thơng tin 2007 [4] Nguyễn Đình Tê Giáo Trình Lý Thuyết Và Bài Tập Foxpro NXB Giáo dục 2002 [5] Vũ Nhật Minh Thực tập lập trình Mirosoft Visual FoxPro 9.0 NXB Giao thông vận tải 2007 [6] Nguyễn Tiến, Nguyễn Văn Hồi Giáo Trình Lý Thuyết Và Bài Tập Microsoft Visual Foxpro 6.0 NXB Thống kê 2005 261 ... có tệp ct1.PRG, ct21.PRG, ct 22. PRG, ct 221 .PRG Trong chƣơng trình ct1.PRG có lệnh: DO CT21 116 Chương Lập trình Visual Foxpro DO CT 22 Trong chƣơng trình ct 22. PRG có lệnh: DO CT 221 Từ cửa sổ lệnh... chƣơng trình chạy Khi CT1 gọi chƣơng trình cấp một; CT21 CT 22 gọi chƣơng trình cấp hai; CT 221 chƣơng trình cấp ba Visual Foxpro cho phép thi hành đến chƣơng trình (thủ tục) cấp 32 Các chƣơng trình. .. trình Visual Foxpro 7 .2 Chƣơng trình Chƣơng trình chƣơng trình đƣợc chƣơng trình khác gọi nơi thân chƣơng trình Chƣơng trình gọi chƣơng trình gọi chƣơng trình gọi Chƣơng trình gọi có PRG đƣợc