Là nơi ta sẽ đặt các thiêt lập mà nó sẽ chỉ hiển thị m ột lần tại phần đầu cùa trang đầu tiên của báo cáo.. Là nơi ta sẽ đặt các thiết lập m à nó sẽ hiển thị lặp lại tại đầu m ỗi trang b
Trang 1Chương 5
5.1 G iớ i thiệu chung
Mục đích cuối cùng của mỗi dự án phần mềm đó là tạo ra được các báo cáo đầu ra phục vụ công tác quàn lý
Báo cáo đầu ra có thể được chia thành các loại sau:
- Báo cáo chi tiết đầy đủ: là báo cáo liệt kê nội dung chi tiết của tất cả các bản ghi trong bàng CSDL s ố lượng các dòng trong báo cáo bàng đúng số dòng trong bảng CSDL
- Báo cáo chi tiết có chọn lọc: là báo cáo liệt kê nội dung chi tiết của các bản ghi trong bàng CSDL thỏa mãn m ột điều kiện lọc nào đó số lượng các dòng trong báo cáo bằng đúng số bản ghi thỏa m ãn điều kiện lọc trong bảng CSDL
- Báo cáo tổng hợp: Mỗi dòng trong báo cáo là đại diện cho một nhóm các bản ghi trong bảng CSDL s ố dòng trong báo cáo bàng đúng số lượng các nhóm bản ghi trong bảng CSDL
Một bàn thiết kế báo cáo bất kỳ thì luôn có thể được chia thành các phần như sau:
Trang 2- ReportH eader_Phần đầu báo cáo Là nơi ta sẽ đặt các thiêt lập mà nó
sẽ chỉ hiển thị m ột lần tại phần đầu cùa trang đầu tiên của báo cáo
- P a g e H e a d e rP h ầ n tiêu đề trang báo cáo Là nơi ta sẽ đặt các thiết lập
m à nó sẽ hiển thị lặp lại tại đầu m ỗi trang báo cáo
- D e t a il Phần chi tiết báo cáo Là nơi ta sẽ đặt các thiết lập đề hiển thị nội dung dữ liệu được truyền vào báo cáo
- PageFooter_Phần cuối trang báo cáo Là nơi ta sẽ đặt các thiết lập mà
nó sẽ hiển thị lặp lại tại cuối mỗi trang báo cáo
- ReportFooter_Phần cuối báo cáo Là nơi ta sẽ đặt các thiết lập mà nó sẽ chi hiển thị một lần tại phần cuối cùng của trang báo cáo cuối cùng.Tùy theo yêu cầu cùa công tác quàn lý m à chúng ta sẽ thiết kế ra các mẫu báo cáo cho phù hợp
Trong cuốn sách này chúng ta sẽ học cách tạo báo cáo bàng 2 công cụ là
D ataReport có sẵn trong Vb và CrystalReport, m ột công cụ tạo báo cáo chuyên nghiệp, độc lập
5.2 Tạo báo cáo với công cụ DataReport
5.2.1 T h êm m ộ t D a ta R e p o rt vào d ự án
Project -> Add D ata Report -> 1 m ẫu báo cáo m ới được thêm vào dự án:
Trang 3• ' B I X
iề&ỹỹ"' ’ General
fig? - -■ DataReport
Trong hộp thoại Toolbox đã có sẵn m ột số công
cụ cho phép ta thiết kế báo cáo gồm:
- Rptlabel: cho phép viết các chuỗi kí tự trên
báo cáo thường là tiêu đề báo cáo, tiêu đề cột hay
là noi đề ta truyền m ột chuỗi ký tự từ ứng dụng vào
báo cáo
- RptTextbox: cho phép thiết kế nội dung báo cáo M ỗi textbox liên kếtvới 1 trường trong bảng DL được xác định thông qua thuộc tính DataMember và Data - Field Ta cũng có thể kéo, thả các trường trong mộtCommand của môi trường dữ liệu Data Environm ent trực tiếp vào phần chi tiết (Detail) cùa báo cáo
- Rptlmage Cho phép chèn hình ảnh vào báo cáo
- RptLine: Cho phép tạo ra các đường kẻ thường làm khung cho báo cáo
- RptShape: Cho phép tạo ra các hình vẽ (hình chữ nhật, vuông, trử n ) trên báo cáo
- Rpt Function: tạo kết quả tính toán thống kê trong phần cuối báo cáo (ví dụ số tổng cộng)
- Để thực hiện đánh số trang trong báo cáo Tại phần PageFooter nháy phải chuột chọn InsertControl -> Curent Page N um ber
5.2.2 Thiết kế báo cáo
4 Page Footer (Section3)
I ✓ Show Report Headei/Footer
* Show Paoe Headef/Footer
Current Page Number TotalLumber of Pages Current Date (Short Format) Current Date (Long Format) Current Time (Short Format] Curreni Tim© (Long Format) Report Tkte
Trang 4Để truyền dữ liệu vào báo cáo
trong cửa sổ thuộc tính cùa báo
cáo phải khai báo:
- Data Source: chọn tên đổi
tượng Data Environm ent cần liên
kết
- D ata m em ber: chọn tên của
Comm and liên kết với bàng dữ
liệu mong muốn
Properties - D ataR ep o rtl Ịt> a ta R e p o rtl DataReport *»1
^Alphabetic Ị Categorized I (About)
(Name)
5.2.3 G ọi hiển th ị báo cáo từ ứ n g d ụ n g
- Ta sẽ thực hành tạo báo cáo In danh sách sinh viên theo lớp trong một ứng dụng Quản lý sinh viên
- Ta đã thiết lập môi trường dữ liệu D ataEnvironment:
Trang 5- Theo hướng dẫn ở trên ta đã tạo ra được báo cáo có mẫu như sau:
4 Page Header (Sectjon2)
Ho va 1
■# Detađ (Section 1)
njandl] I Ị NS [Command"!] I Maiop^N
MSV ị I HoTen fCorrmjandll
4 Paọe Footer (Section3)
# Report Footer (Section 5)
- Bây giờ để gọi hiển thị báo cáo trong ứng dụng, ta sẽ thiết kế một Form như sau:
Trong đó:
+ Điều khiển D ata liên kết với tệp CSDL, thuộc tính R ecordSource liên kêt đến bảng D M Lop phục vụ cho việc hiện tên lớp, lấy m ã lớp cho hộp DBCombol
+ Hộp D B C om bol với mục đích hiển thị danh sách tên lớp nhưng trà về
mã lớp được thiết lập như sau:
Trang 6T h u ộ c tín h G iá tr ị G iải thích
dùng chọn một tên lớp nào đó trong danh sách+ N út InBaoCao được lập trinh như sau:
Private Sub Cm dInBC_Click()
Dim malop, tenlop, SQL As String
malop = D B C om bol BoundText
tenlop = D B C om bol.T ext
SQL = "Select * From dssv where malopdt="' & m alop &
'Kiem tra neu conectionl da duoc mo roi thi dong no lai
If DataEnvironm ent 1 Connection 1 State = 1 Then
D ataEnvironm entl rsCom m andl Close
End If
' Gan nguon du lieu cho C om m andl
D ataE nvironm entl.rsC om m andl Source = SQL
' Mo lai com m andl voi nguon du lieu moi
D ataEnvironm entl rsCom m andl Open
' truyen du lieu ten lop vao bao cao
D ataR eportl.Sections.Item ("Section4").Controls.Item ("lblTenlop").Caption
= tenlop
1 goi hien thi bao cao
DataReport 1 Show
End Sub
Trang 7Khi thực hiện ứng dụng
0 @ E
Chọn tên lóp |lSEifcU ii.flM lW.|;|;y|
In danh sach sinh vien
;Q4fl0007 NgiQ&i Thu An 05/11/198« NN4AC7
;0460053 NgốThi HÌArh 20/12/1988 NN48A18
:Q4Ô0135 Trương ĩh| Ngọc Anh 24/12/1986 NN46B3
20400192 TfAn Quang Bình 14/10/1985 NN46A18
'Q400344 TNỔU Kim Cường 24/04/1985 NN4CC7
'Q460272 Hoàng TigngChưig 04/10/1985 NN46A18
ĨỌ46052# Ng^ỉnĩh) Ti#ítDi/cmg 06/08/1985 NN46A18
*0460481 Ngụyín Truig Dũnfl 31/10/1988 NN46A10
: 0 4 6 3 3 6 5 Từ Th| Lan Dung 08/05/1036 NN46C7
:0450448 VQTh D^én 10/03/1086 NN46A18
Trang 85.3 Tạo báo cáo với Crystal Report
5.3.1 X ây d ự n g b ả n m ẫu b áo cáo
- Khởi đầu chọn Crystal Report \ Menu File \ New Chọn B lank Report
Ị- Create a New Crystal Report Document
I c Using (he Report Expert
m ẫu dữ liệu
Trang 9[il f y l Database Files
E (EDMore Data Sources
Ẹ - 0 Active Data
Ẹ] E lA c tiv e Data (ADO)
É E jA ctive Data (DAO)
B L
fi .no items founAS
Active Data IRD01
Ba Active Data (Field Definitions Only]
Ị - Data Explotet - - - r - - .- : —
-Browse through the Folders to find your data source's
tables Select and Add tables that contain data you
want to report on You can also double-dick a table
to add it.
Options
Help Close
S e le c t D a ta S ource
c ODBC (ADO)
r ADO and OLE DB i-
Comection String:; ufi ;.vi ’
Trang 10- Trong cửa sổ thiết kế Data Definition Tools lần lượt khai báo thông tin các trường về File N am e, Field Type, Sample Data
Field T y p e : jstring •*1 L ength: |30
% -rT~. -mm*.> - .4
Saveastype: I Field Defintion File Cancel I I
- Bấm Add đề thêm bản m ẫu dữ liệu vào báo cáo mới Bấm Close để đóng cừa sổ dữ liệu này lại
Trang 11- Thêm các đối tượng báo cáo: trong hộp công cụ tại phía dưới, bên trái
của m àn hình Ta chọn:
5.3.2 T hiết kế bản mẫu báo cáo
3 S I S B i s i § / 1 ® ; bq ểb ' 3
+ Insert line để thêm đường kẻ vào báo cáo
+ Insert box để kẻ khung trong báo cáo
+ Insert Picture để thêm hình ảnh vào báo cáo
Trên thanh công cụ phía trên m àn hình, ta chọn:
Analyze! Window Help
’ F I J T I ; I B - 1 Insert Fields p * 5
+ Insert Text O bject để thêm các dòng văn bàn vào báo cáo
+ InsertFields để thêm các trường trong bàng dữ liệu m ẫu (vừa được
khai báo) vào báo cáo
giá trị dữ liệu vào báo cáo Trong cửa sổ Field E xplorer chọn mục
Form ula Field; nháy phài chuột chọn N ew
Trang 12^ Show Field Type
RefreshCancel Menu
Trong cửa sổ hiện ra tiếp theo, đặt
Vì ta chỉ có mục đích để tạo ra m ột Fonnula Field để truyền vào báo cáo chuỗi tên lớp nên trong cửa sổ tiếp theo hiện ra ta chọn ngay nút “ Save and Close (Ctrl+S)
Trang 131*5 » E Vitiation T me 1*; f i Pint State
If & Ooeumert Prapsrin
(ị ậ AJertj
j ? ilOy^aiSjrt* 3 : -i (jjJOpetaior»
♦: uj^Aritfvnetic rtt Convener
X ^JCompantont
■f 4 |S tn n g t
as j|R«ngo#
+ ^Boolean -
5.3.3 T ru y ề n d ữ liệu và hiển th ị báo cáo
- Trong Form in báo cáo ta đã tạo được phía trên, thêm vào m ột nút mới có tên là CrystalReport
- Khai báo và thêm điều khiển CrystalReport vào Form
Trang 14Controls I Designers I Iraertable Objects f
□ CDDBControl 1.0 Type Library
□ cdlg
□ d c 1 0 Type Library
CompatUI 1,0 Type Library
□ ComponentOne True DataControl Lite 8.0
□ ComponentOne True DBGrid Pro 8.0
□ ComponentOne True DBGrid Pro s o (OLED8)
□ Com Srap 1 0 T ype Library
□ Controls l.O T y p e Library
Ễ1 Crystal Report Control
Crystal R e port Viewer Control
□ Crystal Select Expert c u j Control module
□ ctv OLE Control module
3
Brow se
^ r* Selected Items Only
p Crystal Report Viewer C o n tro
l -! Location: C:\ \Vie \AdiveXView erVTviewer.dB
Trang 15Đặt tên cho điều khiển là: rptDanhSach
Lập trinh cho nút bấm cmdCrystalReport như sau:
Private Sub CmdCrystalReport_Click()
rptDanhSach.ReportFileName = App.Path & "\Report\DanhSach.rpt"
' Mo recordset chua noi dung du lieu se truyen vao bao cao
Set res = mdb.OpenRecordset(SQL)
' truyen d u lieu vao b a o c a o
rptDanhSach.SetĩablePrivateData 0, 3, res
' truyen chuoi ten lop vao truong cong thuc trong bao cao
rptDanhSach.Formulas(O) = "TenLop-" & DBCorobol.Text &
'goi hien thi bao cao
rptDanhSach.PrintReport
End Sub
Trang 16ứ n g dụng hoạt động
In danh sach sinh vien
Chọn tên lớp Kế toán tốnq hợp 4ÊA
CQ4<0:?Ĩ H oàng Trong Chung Oi 101985 XN46AH
N gưyín Thị Tuyết Dơơng
210
Trang 17CÂU HỎI ÔN TẬP CHƯƠNG 5
1 Nguyên tắc cơ bản trong thiết kế báo cáo đầu của m ột dự án phần mềm? Cho ví dụ?
2 Các bước để xây dựng một báo cáo truy vấn cơ sở dữ liệu trong VisualBasic?
3 Trình bày các bước để thiết kế và hiền thị báo cáo sử dụng D ataReport
4 Trình bày các bước để thiết kế và hiển thị báo cáo sử dụng CRYSTAL REPORT (sử dụng A ctive data Field definitions only)
5 Hãy thiết kế m ẫu cho các báo cáo sau:
1 Bảng kê hóa đơn bán hàng cho một trung tâm thương mại
2 Bàng tổng họp doanh thu bán hàng theo m ặt hàng
3 Bàng tổng hợp doanh thu bán hàng theo tháng
4 Bảng tổng hợp nhập xuất tồn kho hàng hóa vật tư
5 Bàng danh sách sinh viên phục vụ cho việc điểm danh
6 Bảng điểm kiểm tra, chuyên cần sinh viên
7 Bảng điểm học phần của sinh viên
8 Bảng điểm cá nhân của mỗi sinh viên khi kết thúc khóa học
9 Bảng kiểm kê sách trong kho của thư viện
10 Bàng thống kê về tình hình m ượn sách theo đầu sách
Trang 18w ww m icrosoft.com vn HTM L Help W orkshop có thể giúp bạn tạo một file trợ giúp liên kết với phần mềm , khi đó bạn có thể quy định cho file trợ giúp của m ình m ờ đúng phần trợ giúp tương ứng với phần cần trợ giúp trong phần mềm khi bạn nhấn phím F1.
- Máy bạn cũng cần phải cài m ột trong các phần mềm có thể tạo ra định dạng HTM L như D ream w are, MS Frontpage, vì file.chm được tạo từ các trang html và bạn cũng cần có m ột ít kiến thức cơ bàn về H TM L để tạo ra được những trang w eb đơn giản
- N goài ra bạn cũng cần phải cài m ột trong các phần m ềm xử lý ảnh và biết m ột vài thao tác cơ bản về xử lý ảnh như thay đổi kích cỡ hình ảnh, làm nền của ảnh trong suốt để chèn vào các trang tài liệu cùa bạn thêmphần sống động
C h u ẩ n bị nội d u n g
Trước tiên bạn phải tập trung tất cà các nội dung cần thiết cho tài liệu của m ình và đưa chúng vào một thư m ục riêng và chỉ dành cho việc tạo ebook chm m à bạn dự định làm N hững tập tin nội dung có thề đưa vào chm: trang htm l, hình ảnh, video ja v a s c rip t, flash
- Đối với các file htm l nên đặt tên tiếng V iệt không dấu liền nhau, ngắn gọn, gợi nhớ đối với bạn để khi tiến hành làm bạn dễ dàng tìm và chi đến đúng file cần tìm
Trang 19- Đối với các file hình ảnh bạn nên chuyển tất cả chúng về định dạng g if
để có kích thước tối ưu, sau đó đưa tất cả các file hình ảnh vào m ột thư mục
để dễ dàng quản lý, thư m ục chứa hình ảnh này là thư mục con của thư mục chính Tương tự đối với các dạng dữ liệu khác không phải htm l bạn nên đưa chúng vào m ột thư m ục riêng theo từng loại, khi đó bạn sẽ liên kết đến chúng dễ dàng hom trong quá trình tạo file chm
6.2 Tạo mới một Help Project
Bước 1: Khởi động HTM L Help W orkshop từ Start - Program s - HTML
Help W orkshop N hấn nút N ew trên thanh công cụ hoặc File - N ew, trên màn hình chọn Project Trong m àn hình tiếp xuất hiện sau đó, không đánh dấu vào ô chọn bên dưới và nhấn N ext để tiếp tục
£pec.fji
I ext HTML File
T able ol Contents Index
r i„ v w r
tãnST<|-Bước 2: X uất hiện m àn hình chọn nơi đặt tên Project, khi đó nhấn nút
Browse để chi vào thư m ục m à bạn đã tạo riêng cho file chm và đặt tên cho Project, tên project cũng sẽ là tên của file chm sau khi hoàn tất
Trang 205 író r 5 Lưu ý bước này có một thao tác quan trọng mà bạn không nên
bỏ qua, trên m àn hinh xuất hiện 3 mục chọn hỏi bạn đã có m ột trong các loại tập tin thành phần đề cấu thành nên file chm nào chưa:
có nên không đánh dấu chọn mục này
- HTM L help index - là tập tin chứa chi m ục, là danh sách từ khóa nàm trong cửa sổ bên trái của file trợ giúp mà khi bạn gõ vào ô chữ ở trên nếu trùng khớp với từ khóa có sẵn trong danh sách thì trong m àn hình bên phải
sẽ hiện lên nội dung trợ giúp tương ứng V à nếu m ột project m ới hoàn toàn thì file dạng này cũng không có sẵn, bạn không nên chọn m ục này
- HTM L files (.htm l) - lưu ý bạn phải đánh dấu vào m ục chọn này Nhấn N ext, kích nút ADD
Trang 21’ Ị E n g fc th (U n ite d S la te # ]
E ^ - ỉ v S Ị P ^
Nhấn Next, nhấn Finish
Bước 4: Tạo tiêu đề cho Project
Đề đảm bào thể hiện chù đề của nội dung bên trong ebook cũng như tính thẩm mỹ của ebook bạn nên đặt tiêu đề cho ebook của mình
Trong màn hình Project mới tạo, bạn nhấn nút Change project options Trong hộp thoại O ptions, chọn thẻ General Nhập tiêu đề cho ebook cùa bạn vào ô Tittle Lưu ý tiêu đề của ebook nên nhập bằng tiếng V iệt không dấu
Ị&ll
Trang 22M ục đích: M ục lục của ebook tương tự như m ục lục của sách thông thường, nhưng m ục lục của ebook có tính trực quan, khi bạn muốn tham khảo thông tin liên quan đến m ục nào đó chỉ cần kích vào mục lục sẽ hiện ra ngay trong phần bên phải của cừa sổ.
Mục lục của file chm thể hiện dưới dạng cây, bạn có thể thêm bớt, xóa, sửa, thay đổi vị trí, thứ tự, cấp bậc của chúng tùy theo ý thích của mình để đàm bảo tính hợp lý cho tài liệu của bạn
T h ự c hiện: Để tạo m ục lục cho tài liệu, bạn kích vào thẻ Contents,
trong hộp thoại xuất hiện tiếp đó chọn Create a new contents file nếu bạn
chưa có file chứa các mục lục, chọn O p en a n existing co n te n ts file để mờ file chứa m ục lục có sẵn Nhấn OK, nhập tên của file chứa mục lục Lưu ý: Tất cả các file để tạo chm nên đặt tên là tiếng Việt không dấu, ngan gọn, gợi nhớ với bạn để phòng khi bạn muốn tái sử dụng để nâng cấp, thay đổi nội dung tài liệu được dễ dàng
6.3 Tạo mục lục cho nội dung hướng dẫn
C ác chức năng của thẻ Contents: Trong thè contents có các nút chức năng
giúp bạn tạo mới, xóa, sửa các mục lục cùa mình
fâ Ỉ N ú t Properties dùng để thiết lập các lựa chọn riêng cùa bạn cho phần
mục lục của tài liệu N ếu bạn mới bắt đầu tạo chm thì chưa nên sử dụng chức năng này
I ^ N ủ t Insert a heading dùng để tạo m ới m ột chù đề chính, là những
chương, mục trong tài liệu của bạn
-Ẽ ỈN út Insert a page dùng để tạo mới m ột m ục lục cho trang tài liệu, khi
kích vào m ục lục sẽ hiện nội dung cùa trang tài liệu tuơ ng ứng ở cừa sổ bên phải trong ebook
Trang 23- ^ N ú t D e lete se le c tio n để x ó a m ộ t m ục lục đang chọn.
I * I * I * I — C ác n ú t m ũ i tên dù n g để th ay đ ổi vị tri, cấp bậc c ủ a các m ục lục đang chọn
IMỈNút V iew H T M L S o u rc e để x em m ã H T M L c ủ a tran g tài liệu đan g gắn với m ục lục C hứ c n ăn g này k h ô n g nên sứ dụng vì b ạn có th ể làm rối nội dung bên tro n g tài liệu k hi k ích n h ầ m vào nút lư u tài liệu từ m àn h ìn h này
B L , S av e để lư u lại n h ữ n g thay đổi khi bạn k ích vào n ú t V iew H T M L
trang tài liệu bạn có tiếng Việt thì tiếng Việt s ẽ không hiển th ị nữa vò
trang tài liệu của bạn hỏng hoàn toàn.
6.4 Hiển thị mục lục tiếng việt
Thực hiện các b ư ớ c sau để có th ể tạo đư ợ c m ộ t m ục lục tiến g V iệ t giúp người đọc e b o o k c ủ a b ạn d ễ dàng theo dõi, v à m ặc đ ịn h H T M L H elp
W orkshop k h ô n g h ỗ trợ c h ú n g ta n h ập trực tiếp tiến g V iệ t U n ico d e để tạo ra các m ục lục b ằn g tiế n g V iệt
các bước riên g để c ấ u h ìn h h ệ th ố n g hỗ trợ tiế n g V iệt cho p h ầ n m ụ c lục của file chm
Đối vói W indow s 2000:
Vào C ontrol P anel R e g io n a l O ptions C h ọ n thẻ G e n eral, đ án h dấu vào
V ietnam ese tro n g d a n h sách các ng ô n n g ữ v à đ ư a đ ĩa cài đ ặt W in d o w s 2000 vào Sau đ ó k h ở i đ ộ n g lại m áy để ho àn tất v iệc n ạp các file h ệ th ố n g hỗ trợ tiếng V iệt bản g m ã V ie tn a m ese locate C P 1258
Đối vói W indow s XP:
Vào C on tro l P an el, c h ạy R e g io n a l a n d L a n g u a g e O p tio n s C h ọ n thè Language, đ án h d ấ u v ào m ụ c Intall files for co m p le x scrip t and rig h t-to -left languages (in clu d in g T h a ilan d ) v à n h ớ p h ải đ ư a đ ĩa cài đ ặt W in d o w s X P và
ổ CD để H Đ H n ạp th êm p h ần hỗ trợ tiến g V iệt v ào H Đ H
Trang 24í" Sựppíe*r«níaỉ ianguagt BfportT
I Mo* language* «e indited hydafadl To instil addfonai Lsnguagot.
■: sdect th# Ifnopriats check box Wow " ■
ec*«itex tttipt and ricfr-toteft language* friciudinQ
p lost
r-I r-IrsWltntotEMtAjanlanjuijM
nút C hange p ro ject options T rong hộp thoại O ptions, ch ọ n thẻ G eneral trên hộp thoại, chọn V ietnam ese trong danh sách các ng ô n n g ữ tại m ục Language
General Ị Files I Compiler I Merge Files I
Chuấn bị bộ gõ: B ạn nên dù n g bộ gõ U n ik ey đ ể d ễ d àn g c h u y ển đ ồi q u a lại
g iữ a các b àn g m ã Đ ể gõ đư ợ c tiến g V iệ t ch o m ụ c lụ c, tro n g bàn g điều khiển củ a U n ik ey c h ọ n b ản g m ã là V ie tn a m e s e lo c a te C P 1258
N h ậ p m ụ c lụ c b à n g tiế n g V iệ t: T ro n g ô n h ập tê n m ụ c lục, b ạ n n h ậ p tên
m ục lục tiến g V iệ t có d ấu , n h ư n g có thề khi bạn n h ập sẽ k h ô n g ra d ấ u tiếng
V iệt n gay, v à k hi n h ập xo n g tro n g m àn hìn h th iế t kế c ù a P ro je ct c ũ n g không hiền thị đ ư ợ c tiến g V iệ t ờ các m ụ c lục, bạn đ ừ n g q u á lo lắn g v à chỉ việc
Trang 25I I
§Ị;
Xem k ế t q u ả : N h ấ n vào n ú t h ìn h ch iếc p h iễu .T^l^ylđể d ịch ra ebooks N ếu trong m àn h ìn h bên p h ải k h ô n g h iện th ông báo lỗi thì b ạn n h ấn n út V iew complite file (hình đ ôi m ắt kiến ) để xem file chm c ú a m ình N ế u sai ch ín h
tả ờ m ục lục thì lại n h ấ n n ú t E d it để ch ỉn h sửa
6.5 Biên tập nội dung
Tất cả các nội du n g củ a eb o o k s được b iên tập th àn h các tran g htm l, bạn có thể sừ dụng m ộ t tro n g các ph ần m ềm tạo đư ợ c htm l n h ư D ream vvare, Frontpage, N o tep ad , D ư ớ i đ â y là m ột số lời kh u y ên d àn h cho bạn:
thấy dùng font V e r d a n a với size 2 (1 0 p t) cho ph ần n ội d u n g thì tệp hư ớ n g dẫn sử d ụ n g cù a b ạn rấ t th ầm m ỹ, dễ đọc
v ề h ìn h n ề n : bạn n ên sừ dụ n g n h ữ n g m àu nền đ ơ n giản, sán g rõ, có kích thước gọn nhẹ v à d ù n g đ ịn h d ạn g .gif; k h ô n g dù n g h ìn h n ề n có q u á nhiều màu, nh iều chi tiế t v ì k hi m ở tran g đ ó ra m ộ t h ỉn h n ền n h ân th àn h nhiều hình m à các chi tiế t k h ô n g ghép n ối đ ư ợ c vớ i n h au gây p h à n cảm Ví dụ trang này s ử d ụ n g m ộ t h ìn h nền có k ích th ư ớ c chi 1KB, sư u tầm từ
w w w p cw o rld co m v n
M ucluc T ienqViet him
Trang 26tính thẩm m ỹ b ạ n nên d ù n g m ộ t h o ặc n h iều h ìn h ảnh làm b a n n e r giong như
m ộ t tran g w eb th ự c sự làm cho ngư ờ i đọc thấy sự k h ác b iệt, h o ặc chủ đề cùa ebooks cù a bạn C u ố i m ỗi tran g có thể tạo th êm ấn tư ợ n g b à n g cách ghi tên
m inh, địa chỉ e m a i l ,
B iên tậ p n ộ i d u n g : N h ữ n g nội du n g m u ố n thể h iện tro n g tran g tài liệu cùa bạn tốt n h ất nên đ ặt c h ú n g vào b ên tro n g các table, h ầ u h ết các trang web ngư ờ i ta sừ d ụ n g tab le để cố đ ịn h vị trí các nội dung Đ ố i với những nội dung bạn co p y từ các n g u ồ n khác k h ô n g phải tự gõ thì nên x ó a hết định dạng cù a c h ú n g v à địn h d ạn g lại theo cách củ a b ạn đ ể g iảm thiểu kích thước, đảm b ảo sự p h ù hợ p với các tran g tài liệu khác củ a b ạn tro n g ebooks
6.6 Tạo chỉ mục cho tài liệu hướng dẫn
T ừ thẻ Index, nh ấn n ú t Insert a k ey w o rd để th êm m ộ t từ k h ó a v ào danh sách các từ k h ó a của chỉ m ục
T rong h ộ p th o ại tạo m ớ i từ khóa, n h ập từ k h ó a v à nh ấn n ú t A dd để chọn tran g H T M L ch ứ a n ội d u n g cần liên kết đến
T rong h ộ p th o ại để ch ọ n tran g H T M L , n h ấn n út B ro w se v à chi đ ến trang
H T M L m à bạn m u ố n liên kết khi gõ từ k h ó a đó tro n g m ụ c In d ex c ủ a ebook
L ưu ý: tran g H T M L này phải đư ợ c lưu tro n g th ư m ục d à n h riên g cho ebook cùa bạn, n ếu k h ô n g khi b ạn ch ép file chm sau k hi d ịch x o n g đ ến m ột nơi khác nó sẽ k h ô n g có nội d u n g khi bạn gõ từ k h ó a trên Đ â y là đ iểm bạn cần phải lưu ý n h ất tro n g khi làm file chm
Trang 276.7 S ử dụng B ookm ark
Thông thư ờ ng, c h ú n g ta th ư ờ n g sử dụ n g m ộ t từ k h ó a để liên kết với m ột nội dung rất nhỏ v à v iệc liên k ết m ỗi từ k h ó a với m ộ t tran g htm l ch ứ a m ộ t nội dung nhỏ làm cho tài liệ u c ủ a b ạn có du n g lư ợ n g lớn, nội d u n g ph ân tán và không logic
ứ n g dụng b o o k m ark tro n g v iệc tạo m ộ t từ k h ó a tro n g d an h sách chi m ục để liên kết đến m ộ t n ội d u n g đ ư ợ c đán h dấu tro n g m ột tran g h tm l ch ứ a nhiều nội dung V à c h ú n g ta có th ể tập hợ p đ ư ợ c n h iều nội du n g liê n q u an nhỏ v à một trang htm l v à sừ d ụ n g chứ c n ăn g b o o k m ark rồi tạo các từ k h ó a liên kết đến từng n ội du n g tro n g tran g htm l đó
Đặt bookm ark trong trang html.
Chọn nội d u n g c ần đ á n h d ấ u tro n g tran g htm l, vào In se rt - B o o k m ark v à đặt tên cho vù n g b ạn chọn T ên phải ng ắn gọn, k h ô n g có dấu, dễ n h ớ vớ i bạn.Trong h ìn h bên là d an h sách các b o o k m ark để đán h d ấu c ác n ội d u n g cho ebook " T h u ậ t ngữ tin học" c ủ a tác già đ ã th ự c h iện g ồ m các n ộ i du n g có cùng v ần với n h a u v à o m ộ t tran g riên g rồi đ án h d ấ u chúng
Trang 28Đ iều k h ác b iệt duy n h ấ t là sau khi b ạ n ch ọ n tran g ch ứ a nội d u n g liên kết với
từ k h ó a đ ã n h ập thì n h ập th êm d ấ u # < b o o k m a r k > vào sau đ ư ờ n g dẫn cùa trang htm l đó
Ví d ụ h ìn h bên sử d ụ n g từ k h ó a A G P để liên k ế t đ ến m ộ t n ội dung được đánh dấu b ằn g tên A G P bên trong tran g htm l a h tm
' I E OoaOTrtiMMC FBOJECl VO.^J add
HTMLKI k
Trang 29ở phần chỉ m ục C ác bư ớ c tư ơ n g tự n h ư đ ã hư ớ ng dẫn ở trên.
6.8 Biên dịch help project thành tệp chm
Đây là khâu cuối cù n g để bạn biên d ịch P roject của m ìn h th àn h .chm , tuy nhiên trong q u á trìn h làm .chm bạn cũ n g nên th ư ờ n g x u y ê n sừ d ụ n g chức năng này để kiểm tra kết quả của m ình
Kích vào n út C o m p ile H T M L files trên th an h công cụ đề biên d ịch tất cả các thành phần củ a P ro ject th àn h m ộ t file chm duy nhất N g ay sau đó m ột hộp thoại xuất hiện y êu cầu b ạn chỉ đến tập tin P ro ject c ần dịch , m ặc định sẽ chỉ đến P roject đan g m ở
:%ỉ
Project file:
j f r o w s e - I
17 Save all files befote compSing
F7 Ềutomatically display compSed help file when done
V x f
-Compile I Cancel I
Trong hộp thoại n ày b ạ n n ê n đánh dấu ch ọ n m ục S a v e a ll files b e fo re
co m p ilin g - lưu tat cả các file liên quan đến P ro ject trư ớ c k hi tiế n h àn h biên dịch V à đ án h d ấu ch o m ụ c A u to m a tic a lly d is p la y c o m p lie d h e lp file
w hen d o n e - h iển thị kết q u ả là file chm sau k hi d ịch xong T ro n g m ộ t so trường hợp ch ứ c n ăn g tự độ n g h iển thị kết q u ả có thể sẽ k h ô n g có h iệu lực
và bạn k h ông nên q u á lo lang
Chọn xong bạn nh ấn n ú t C o m p ile v à tro n g m àn h ìn h b ên phải sẽ x u ấ t hiện nhật ký củ a quá trin h d ịc h .chm , nó cho b iết th ờ i g ian d ịch .chm , có bao nhiêu chù đề, bao n h iêu liê n k ết tro n g nội bộ các file, có b ao n h iêu liên kết đến Internet, có b ao n h iê u h ìn h ành đư ợ c sử d ụ n g tro n g file chm c ủ a bạn
N ếu sau khi n h ấn n ú t d ịch m à b ạn k h ô n g n h ận đ ư ợ c kết q u ả tư ơ n g tự nh ư bên dưới thì c h ắc c h ắ n rằ n g q u á trìn h tạo .chm củ a bạn đ ã bị lỗi
Administrator VM_v D oeumerứsSCH M\chrn hh
C r e a t e a c o m p ile d file M ỗ
Trang 30N ế u có quá trìn h d ịch th àn h cô n g - tứ c k h ô n g có th ô n g b áo lỗi nào xuất hiện
v à chm k h ô n g tự m ờ n h ư bạn ch ọ n thì b ạn n h ấn n ú t x e m kết q u ả hình đôi
m ắt k iến m àu đỏ ẾấẦ bên cạn h n ú t d ịc h đ ể x e m k ết quả N ế u x u ấ t hiện hộp thoại yêu cầu ch ọ n .chm thì chọn đú n g .chm tro n g th ư m ụ c c ủ a Project
6.9 Kết nối tệp Help với ứng dụng
T ạo m ộ t m o d u le m ớ i có tên là sh o w h elp với n ội d u n g n h ư sau:
P riv ate D eclare F u n c tio n H tm lH elp L ib "h h c trl.o c x ” A lias "H tm lH elp A "
(B y V al h w n d C a lle r A s L ong, B yV al p sz F ile A s S trin g , _
B yV al u C o m m a n d A s L ong, B yV al d w D ata A s L o n g ) A s L ong
P riv ate D eclare F u n c tio n H T M L H elp T o p ic L ib "h h ctrl.o cx " A lias
" H tm lH elp A " _
Trang 31B yV al u C o m m a n d A s L ong, B yV al dw D ata A s S tring) A s L ongPrivate D eclare F u n ctio n H tm lH elp S earch L ib "hhctrl.ocx" A lias
H tm lH elpA " _
(B yV al h w n d C a lle r A s L ong, B yV al p szF ile A s S tring, _
B yV al u C o m m an d A s L ong, d w D ata A s H H _ F T S _ Q U E R Y ) A sLong
Private D eclare F u n ctio n H tm lH elp In d ex L ib "h h ctrl.o cx " A lias
H tm lH elpA _
(B yV al h w n d C aller A s L ong, B yV al p szF ile A s S tring, _
B yV al u C o m m an d A s L ong, d w D ata A s H H A K L IN K ) A s L ongPrivate D eclare F u n ctio n Sen d M essag e L ib "user32" A lias
"SendM essageA " _
(B yV al h w n d A s L ong, B yV al w M sg A s L ong, _
B yV al w P ara m A s L ong, B yV al IParam A s A n y ) A s L o n g' HH A PI const
Public C onst H H D IS P L A Y T O P IC = & H 0
' select last o p en ed tab , [d isp lay a specified topic]
Public C onst H H D IS P L A Y T O C = &H1
1 select c o n ten ts tab, [disp lay a specified topic]
Public C onst H H D IS P L A Y IN D E X = & H 2
1 select ind ex tab and se arc h es fo r a k eyw ord
Trang 32' S earch es for o n e o r m o re k eyw ords
P riv ate C o n st H H _ D IS P L A Y _ T E X T _ P O P U P = & H E
' D isp lay string re so u rc e ID o r
P rivate C o n st H H _ H E L P _ C O N T E X T - & H F
' d isp lay m ap p ed n u m eric v alu e in dw D ata
P riv ate C o n st H H T P H E L P C O N T E X T M E N U = & H 10
' T ex t p o p -u p h elp , sim ila r to W in H elp 's H E L P C O N T E X T M E N U
P rivate C o n st H H T P _ H E L P _ W M _ H E L P = & H 1 1
' tex t p o p -u p h elp , sim ila r to W inH elp's H E L P W M H E L P
' H H D IS P L A Y S E A R C H C o m m a n d R elated S tru ctu res and C o nstants
P ublic C o n st H H FT S D E F A U L T P R O X IM IT Y = -1
E nd T y p e
' H H A L IN K C o m m a n d R e la ted S tru ctu res an d C o n sta n ts
P ublic T y p e H H A K L IN K
Trang 33Public Function H File(ByV al i_H File As Integer) As String
' Set the strin g v a ria b le to in clu d e the ap p licatio n p ath o f helpfileSelect C ase i H F ile
Case 1
'— A pp licatio n s m ain h elp file
HFile = A p p P a th & " \h e lp \T ê n F ile H e lp c ủ a b ạ n c h m "
Case 2
' - [optional] sp ecial h e lp w in d o w d efinition
H File = A p p P ath & "\h elp \ T ê n F ile H e lp c ủ a b ạ n c h m > w n d T o p ic" Case 3
1 - Place o th er H elp file p ath s in successive case sta te m en ts
H F ile = A p p P a th & "\h elp \C H M -o th er-lan g u ag e.ch m "
End Select
E n d F u n c tio n
Public Sub S h o w C o n te n ts (B y V a l in tH elp F ile A s In teg er)
H tm lH elp h w nd, H F ile (in tH elp F ile), H H D I S P L A Y T O C , 0
End Sub
Public S ub S h o w In d e x (B y V a l in tH elp F ile A s Integer)
Trang 34E nd Sub
P ublic S ub S h o w T o p ic (B y V a l in tH elp F ile A s In teg er, strT o p ic A s String)
H T M L H e lp T o p ic h w n d , H F ile(in tH elp F ile ), H H _ D IS P L A Y _ T O P IC , strT o p ic
E nd Sub
P ublic Sub S h o w T o p ic ID (B y V ãl in tH elpF ile A s In teg er, Id T o p ic A s Long)
H tm lH elp h w n d , H F ile(in tH elp F ile), H H H E L P C O N T E X T , IdT opic
E nd Sub
Để h iển thị nội d u n g trợ giúp, tại n h ữ n g nơi cần th iế t b ạn chi cấn đ ể câu lệnh gọi các th ủ tục tư ơ n g ứng V í dụ n h ư
S h o w C o n te n ts 1
Trang 35Chương 7
M ột công đo ạn k h ô n g thể th iế u tro n g q u y trìn h sản x u ấ t p h ần m ềm hoàn chỉnh đó ch ín h là v iệc tạ o b ộ cài đ ặt cho p h ần m ềm
Bộ cài đặt ph ần m ềm là m ột tập hợp bao gồm tệp th i hành của phần mềm cùng với các tệp thành phần khác có liên quan n h ư tệp cơ sở dữ liệu, tệp báo cáo, tệp th ư viện được bố tr í đ ể có th ể cài đặt vào những thư mục ph ù hợp trên m áy của người sử dụng sao cho ph ần m ềm ứng dụng có th ể hoạt động độc lập m à không cần đến m ô i trường p h á t triển của nó.
M ột p h ần m ềm ứ n g d ụng, đư ợ c tạo bờ i ng ô n n g ữ lập trìn h bậc cao, khi hoạt động th ư ờ n g sử d ụ n g , tru y x u ất đến rất n h iều tệp liên quan:
Trang 36ứ ng d ụ n g v iết b a n g v isu al basic sử dụ n g tiệ n ích có sẵn tro n g b ộ visual studio là P a c k a g e a n d D e p lo y m e n t v à m ộ t c ô n g cụ tạo b ộ cài đặt chuyên nghiệp khác là I n s ta llS h ie ld
7.1 Tạo bộ cài đặt với công cụ có sẵn Package and Deployment 7.1.1 G iói thiệu chung
Đ ây là c ô n g cụ có sẵn tro n g bộ visual stu d io , nó cho p h é p ngư ờ i dùng tạo ra bộ cài đặt cho ứ n g d ụ n g c ủ a m ìn h chi th ô n g q u a m ộ t số b ư ớ c trả lời câu hỏi
B ạn khởi đ ộ n g ứ n g d ụ n g tro n g m ụ c M icro so ft V isu al S tu d io 6 0 T ools =>
P ackage and D e p lo y m e n t W izard nam trong m ụ c M ic ro so ft V isual Studio 6.0 tro n g P ro g ra m s cùa m en u ST A R T
T rư ớc k hi tạo b ộ cài đ ặ t bạn cần biên d ịch ứ n g d ụ n g tạo ra tệp thi hành(*.exe)
P ack ag e and D e p lo y m e n t w izard cho p h ép 2 tùy ch ọ n đ ể tạo ra bộ cài
đ ặt ứ ng dụng
Bộ cài đặt tiêu c h u ẩ n đ ư ợ c th iế t kế đ ể c h ạy trự c tiế p trên m áy tính
củ a ngư ờ i d ù n g cuối th ô n g qua tệ p setu p ex e;
Bộ cài đặt th ô n g q u a m ạn g in tern et th iế t k ế đ ể đ ư ợ c tài về từ website dướ i dạn g m ộ t tệp thi h à n h duy nhất
- M ộ t tập h ợ p các tệp tin liên q u a n (D e p en d e n c y flie s) đ ể có thể thực hiện v iệc cài đặt th ủ cô n g trên m áy ng ư ờ i d ù n g (c h ủ đ ộ n g sao chép,
đ ăn g k ý c ác tệp th àn h p h ầ n vào các vị tri p h ù h ợ p trên h ệ thống)
C ác th àn h p h ần cù a bộ cài đặt h o àn th à n h đ ư ợ c đ ể tro n g m ộ t tệp nén (* cab), b ạn có th ể lự a c h ọ n tạo ra n h iều tệ p nén đ ể có th ể c h ứ a trong các p h ư ơ n g tiệ n lư u trữ d u n g lư ợ n g thấp
Trang 387.1.2.2 Biên dịch lạ i phần mềm
L ự a ch ọ n n ú t P a c k a g e sẽ đ ư a b ạn đ ến b ư ớ c đ ầ u tiê n tro n g quá trinh
đó n g gói p h ầ n m ềm cù a bạn K hi k ết th ú c q u á trin h đ ó n g gói b ạn có thể quay lại cử a sổ g iao tiếp này ch ọ n n út D ep lo y để triển k h ai v iệc ph ân phối
bộ cài đ ặt ph ần m ềm v ừ a đ ư ợ c tạo ra
N ú t D ep lo y có ch ứ c n ăn g p h ân phối bộ cài đ ặt p h ầ n m ềm v ừ a được tạo
ra B ạn có th ể lự a c h ọ n v iệc p h â n p h ố i bộ cài đ ặ t q u a đ ĩa m ềm , qua mạng cục bộ, q u a m ộ t th u m ụ c trên m áy h o ặc là q u a internet
N ú t M an ag er S crip t có ch ứ c n ăn g hiển th ị các S crip ts Q u ả n lý hộp thoại
m à bạn có thể đồi tên , n h ân bản, h o ặ c b iên d ịch lại các k ịc h b à n triể n khai
T ro n g v í d ụ n ày , c h ú n g ta sẽ ch ọ n n ú t P ack ag e đ ể b ắt đ ầ u đ i làm bộ cài đặt cho ph ần m ềm
|E:V*ly_Project5\Testmakei-\Testmalcer.vbp T ‘H I Browse— ]Ị
Choose a padcagkfiQ script from the k t beta*.
Trang 39bàn đóng gói p h ần m ềm (packaging script) đã đư ợ c lưu trữ lại trong những lần tạo bộ cài đặt trư ớ c đây hoặc nếu không thì bạn sẽ lự a ch ọ n k ịch bàn m ặc định được đề nghị (standard setup package 1) B ấm n út N e x t đ ể tiếp tục.
7.1.2.3 Lựa chọn th ể loại của bộ cài đặt sẽ được tạo
Package and Deployment W izard - Package Type
Choose the type o f package you w ant to create.
D ependency file đ ể chỉ tạo ra m ộ t tập hợ p các tệ p liên q u a n đ ến ứ n g d ụ n g
và việc cài đặt ứ n g d ụ n g sẽ đư ợ c thự c hiện chù độ n g th ô n g q u a v iệc sao chép các tệp liên q u an v à o các v ị trí th ích h ợ p trên h ệ thống
Trong cử a sổ n ày , b ạ n c h ọ n Stan d ard S etup P a ck ag e v à b ấm n ú t N e x t đề tiếp tục
Trang 407.1.2.4 Lựa chọn thư mục nơi sẽ chứa bộ cài đặt được tạo ra
Package an d D eploym ent W izard - Package Fold er
C hoose the folder where your package w i be assembled.
C ] F a s t 2 0 0 5 ayỉ; Neffl Folder
Help Cancel I < Back I C J e j t > )| Finish
B ấm nút N e x t để tiế p tục
7.1.2.5 Lựa chọn các gó i th ư viện có sẵn mà s ẽ bao gằ m trong bộ cài đặt
Vì p h ần m ềm ứ n g d ụ n g củ a c h ú n g ta có sử d ụ n g p h ư ơ n g th ứ c kết nối và khai thác c ơ sở d ữ liệu D A O (D a ta access o b je c t) ch o n ên h ệ th ố n g sẽ đề nghị lự a c h ọ n m ộ t h o ặc n h iều gói các tệp th ư v iện có sẵn sẽ đ ư ợ c thên vào
bộ cài đặt T ro n g tin h h u ố n g này, hệ th ố n g đ ã tự ch ọ n ch o c h ú n g ta gói thư
v iện Je t 2 x ; ta có th ể c h ọ n th êm 1 hay c ả 2 gói ở c ử a sổ b ên trá i, b ấm nút >
để th êm vào p h ần cử a sổ b ê n phải B ấm n ú t N e x t đ ể tiếp tục