LỜI NÓI ĐẦU
Thế giới ngày nay đã có nhiều tiến bộ mạnh mẽ về công nghệ thông tin
(CNTT) từ một tiềm năng thông tin đã trở thành một tài nguyên thực sự, trở thành
sản phẩm hàng hố trong xã hội tạo ra một sự thay đổi to lớn trong lực lượng sản
xuất, cơ sở hạ tầng, cấu trúc kinh tế, tính chất lao động và cả cách thức quản lý
trong các lĩnh vực của xã hội.
Trong những năm gần đây, nền CNTT nước ta cũng đã có phát triển trên mọi
lĩnh vực trong cuộc sống cũng như trong lĩnh vực quản lý xã hội khác. Một trong
những lĩnh vực mà máy tính được sử dụng nhiều nhất là các hệ thống thông tin quản
lý nói chung .Tuy các hệ thống này xét về mặt nào đó cũng đã đáp ứng được nhu
cầu của người sử dụng trong những phần mềm được lập trình chủ yếu trên môi
trường foxpro, các hệ thống đó có quy mô nhỏ, độc lập và tính thừa kế không cao.
Nhưng hiện nay, do quy mô, tính phức tạp của công việc ngày càng cao nên
việc xây dựng hệ thống thông tin quản lý không chỉ là việc lập trình đơn giản mà
phải xây dựng một cách có hệ thống. Các giai đoạn phân tích, thiết kế được tiến
hành một cách tỷ mỷ và chính xác.
Trong đồ án này tôi sẽ trình bày quá trình phân tích, thiết kế cho hệ thống quản
lý công chức - tiền lương của UBDS-GĐ&TE với hệ quản trị cơ sở dữ liệu MS
Access của hãng Microsoft. Và ngôn ngữ để xây dựng cho phần mềm này là Visual
basic
Nội dung của đồ án bao gồm:
- Chương I: Nhiệm vụ và vai trò của bài tốn
- Chương II: Cơ sở lý thuyết và công cụ phát triển
- Chương III: Phân tích hệ thống chương trình quản lý công chức - tiền
lương của UBDS –GĐ&TE Thành Phố
- Chương IV: Thiết kế hệ thống quản lý
- Chương V: An tồn dữ liệu
Do kiến thức và kinh nghiệm của bản thân còn hạn chế nên đồ án không tránh
khỏi những thiếu xót. Rất mong được sự đóng góp của quý thầy cô trong khoa công
nghệ thông tin trường Đại Học Bách Khoa Hà Nội, các quý thầy cô trong bộ môn
tin học trường Đại Học Thuỷ Sản và bạn bè đồng nghiệp.
phát từ thực tế khách quan của hoạt động quản lý, cần phảI đưa tin học vào trong
các lĩnh vực quản lý nói chung trong cơ quan, bên cạnh đó yếu tố con ngườI và tiền
lương do con ngườI làm ra càng không thể được xem nhẹ chính vì vậy cần có một
chính sách quản lý thật khoa học nên bài tốn quản lý công chức - tiền lương giúp
cho việc điều hành chung trong cơ quan ngày một hiệu quả hơn.
B. Đặc tả các yêu cầu của bài tốn
I. Khái quát chung về chức năng, nhiệm vụ quyền hạn và tổ chức bộ
máy của UBDSGĐ&TE Thành phố Nha trang tỉnh Khánh hồ
1. Chức năng
Uỷ ban Dân số, Gia đình và Trẻ em tỉnh, thành phố trực thuộc trung ương
( gọI tắt là Uỷ ban Dân số, Gia đình và Trẻ em ) là cơ quan chuyên môn thuộc Uỷ
ban nhân dân tỉnh, có chức năng giúp Uỷ ban nhân dân tỉnh quản lý nhà nước về
lĩnh vực dân số, gia đình, trẻ em trên địa bàn tỉnh, tổ chức phốI hợp giữa các cơ
quan nhà nước, tổ chức chính trị - xã hộI, tổ chức xã hộI của tỉnh nhằm thực hiện
luật, công ước quốc tế, các chính sách, chươnh trình, dự án, kế hoạch về dân số, gia
đình và trẻ em ở tỉnh.
Uỷ ban Dân số, Gia đình và Trẻ em tỉnh chịu sự lãnh đạo tồn diện của Uỷ ban
nhân dân tỉnh và chịu sự lãnh đạo, hướng dẫn về chuyên môn nghiệp vụ của Uỷ ban
Quốc gia Dân số và Kế hoạch hố gia đình và Uỷ ban Bảo vệ và chăm sóc trẻ em
Việt Nam.
Uỷ ban Dân số, Gia đình và Trẻ em có con dấu và tài khoản tạI Kho bạc Nhà
nước.
2. Nhiệm vụ, quyền hạn
Uỷ ban Dân số, Gia đình và Trẻ em tỉnh có nhiệm vụ và quyền hạn như sau
2.1.Trình Uỷ ban nhân dân tỉnh kế hoạch 10 năm, 5 năm, hàng năm, chương
trình mục tiêu, các dự án về dân số, gia đình và trẻ em theo chương trình mục tiêu
quốc gia; tổ chức việc thực hiện kế hoạch, chương trình đó sau khi được phê duyệt.
2.2. Trình Uỷ ban nhân dân tỉnh ban hành các văn bản qui phạm pháp luật để
cụ thể hố một số chủ trương, chính sách, chiến lược về dân số, gia đình và trẻ em,
phù hợp vớI tình hình đặc điểm của tỉnh.
UBND Thành Phố
Uỷ Ban Dân Số Gia Đình
& Trẻ Em Thành Phố
Ban Dân Số GĐ & TE
Xã Phường
Tư pháp
Tổ chức lđ
Văn hoá tt
Tài chính
HLHPN
Giáo dục
Y tế
Mặt trận
Cộng tác viên
Cán bộ chuyên trách
Các ban, ngành
đoàn thể, tổ
chức xã hội
Chỉ đạo
UBND
Xã Phường
UBDSGĐ & TE
THÀNH PHỐ
CHỦ NHIỆM
PHÓ CHỦ NHIỆM
( Thường trực )
PHÓ CHỦ NHIỆM
( Chuên môn )
Các
hoạt
đến.
- Kế tốn: Phụ trách về mặt tài chính của cơ quan cụ thể
♦ Kinh phí thực hiện các mục tiêu chương trình
♦ Kinh phí từng hoạt động cụ thể để báo cáo
♦ Kinh phí vận động ủng hộ quỹ bảo trợ trẻ em thành phố
♦ Kinh phí UBDSGĐ & TE tỉnh, quỹ bảo trợ TE tỉnh hỗ trợ trẻ em có
hồn cảnh đặc biệt khó khăn.
- Tổng hợp: Soạn thảo, tiếp nhận các thông tin tham mưu báo cáo cho các cấp
II. Đặc tả các vấn đề của bài tốn
Trong một cơ quan hành chính sự nghiệp việc quản lý công chức - tiền lương
của mỗI nhân viên trong cơ quan trên máy vi tính không phảI là dễ.Khâu quản lý
công chức do phòng tổ chức trong cơ quan nắm giữ, còn khâu quản lý tiền lương do
phòng tài vụ nắm giữ. Để hiểu rõ việc quản lý thì mỗI phân tích viên cần phảI khảo
sát và nắm được những thông tin sau:
Quản lý công chức:
Để quản lý một công chức trong cơ quan trước hết phảI nắm được lý lịch của
mỗI ngườI, ngồi ra cần phảI hiểu thêm các thông tin khác để quản lý.
Những thông tin cần quản lý bao gồm:
Trong lý lịch, quản lý các thông tin một cách cụ thể hơn:
- Điện thoạI: Quản lý tất cả các số điện thoạI của công chức
- Chính trị: Đồn viên, Đảng viên, Đồn viên chỉ quản lý có hay không. Nếu là
đảng viên thì quản lý: Ngày vảo đảng, ngày chính thức, nơi vào đảng
- Chuyên môn: Quản lý tất cả các chuyên môn mà công chức đã được đào tạo
bao gồm: Chuyên môn gì? Nơi đào tạo ( Trường nào )? Văn bằng hay chứng chỉ
được cấp, ThờI gian dào tạo.
- Ngoại ngữ: Quản lý trình độ tất cả các ngoạI ngữ mà công chức biết được.
- Qúa trình công tác ở nước ngồi: Để quản lý những chuyến đi nước ngồi của
công chức. Nếu công chức nào đi thì quản lý: Thời gian, lý do, nước đi
- Cựu chiến binh: Để quản lý những công chức nào đã đi bộ đội. Công chức
nào đã đi bộ độI thì quản lý: Ngày xuất ngũ, ngày nhập ngũ, binh chủng, cấp bậc
chết thì nghề nghiệp nghi chết.
- Khen thưởng, kỷ luật: Ngày, hình thức, cấp, lí do khen thưởng, kỷ luật. Ngày
xố kỷ luật
- Nghỉ phép: ThờI gian và nơi nghỉ phép của tất cả các lần nghỉ phép của công
chức. Nơi nghỉ phép chỉ quản lý cấp tỉnh
Quản lý tiền lương:
Để quản lý tốt khâu tiền lương của mỗi công chức trong cơ quan thì bộ phận
tài vụ dựa vào bảng chấm công của công chức. Bảng chấm công gồm: Số ngày làm
việc, số ngày nghỉ không phép, số tiền thưởng, phụ cấp chức vụ. Ngồi ra còn dựa
vào quá trình lương của một công chức gồm: Ngạch, bậc, ngày lên lương để đưa ra
danh sách lương của công chức trong cơ quan
Công việc Tin học hố hệ thống nhắm đáp ứng:
- Định kỳ tự động hố đưa ra danh sách công chức được tăng lương
- Bất kỳ lúc nào cũng có thể trả lời các thông tin chính xác về tình hình công
tác, lý lịch của một công chức.
CHƯƠNG II
CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ PHÁT TRIỂN
A. Cơ sở lý thuyết
I. Các khái niệm cơ bản
+ Thực thể: Là một đốI tượng cụ thể nào đó
+ Thuộc tính thực thể: Tính chất xác định thực thể
+ Lớp thực thể: Các thực thể cùng thuộc tính
+ Lược đồ quan hệ:
• Thuộc tính: Tên thuộc tính, miền xác định của thuộc tính
• Lược đồ một quan hệ gồm các thuộc tính của thực thể ( Tên miền xác
định ) cùng vớI các mệnh đề rang buộc.
Lược đồ quan hệ: R=<x, w>=(A1:D1,A2:D2,…An:Dn,M)
Ai: Tên thuộc tính
Di: Miền xác định của thuộc tính
M: Mệnh đề ràng buộc
IV. Mục tiêu và tính ưu việt của mô hình quan hệ
- Cho một lược đồ dữ liệu dễ sử dụng, mô hình đơn giản, ngườI dùng không
cần biết cấu trúc vật lý của dữ liệu. Tiện lợI cho ngườI dùng không chuyên tin học
- Tăng cường tính độc lập của dữ liệu, đặc biệt là vật lý.
- Cho một khả năng có một ngôn ngữ thao tác bậc cao.
- TốI ưu việc tìm kiếm dữ liệu trong CSDL, hệ quản trị tự tìm cách truy nhập.
- CảI thiện nâng cao tồn vẹn dữ liệu và bảo mật dữ liệu.
- Có thể phục vụ cho nhiều chương trình ứng dụng.
- Có cơ sở tốn học phong phú chắc chắn:
* Lý thuyết quan hệ
* Dạng chuẩn có độ bền vững và đầy đủ thông tin
B. Công cụ phát triển
I. Lựa chọn công cụ phát triển và các vấn đề kỹ thuật
1. Lựa chọn công cụ phát triển
Hiện nay các chương trình được ứng dụng phục vụ cho UBDS-GĐ&TE được
viết bằng ngôn ngữ FoxPro LAN 2.0, chạy trên mạng Novell Netware.
Ưu điểm:
♣ Rẻ tiền
♣ Tiện lợI cho các ứng dụng có tính chất cá nhân hoặc nhóm nhỏ. Dễ bảo trì,
bảo hành.
♣ Đồng bộ: Phát triển trên một thiết kế và định hướng thống nhất.
♣ Tức thờI: Dữ liệu được cập nhật tức thờI khi phát sinh, đảm bảo thông tin
kịp thời.
♣ Được kiểm tốn xác nhận về chương trình, qui trình, tính hợp pháp của các
thông tin do máy tính đưa ra.
Nhược điểm:
♣ Không đáp ứng được mô hình các bài tốn có tổ chức dữ liệu lớn. Tốc độ
đọc, ghi các bảng dữ liệu giảm rất nhanh khi kích thước các bảng dữ liệu tăng từ vài
trăm Kb tớI hàng ngàn Mb. Đồng thờI tốc độ xử lý cũng phụ thuộc vào số lượng
ngườI sử dụng.
Access là một hệ thống quản lý cơ sở dữ liệu ( CSDL ). Cũng giống như các
hệ CSDL khác, Access lưu trữ và tìm kiếm dữ liệu, biểu diễn thông tin và tự động
làm nhiều nhiệm vụ khác. Việc sử dụng Access, chúng ta có thể phát triển cho các
ứng dụng một cách nhanh chóng.
Access cũng là một ứng dụng mạnh trong môi trường Windows. Ngày từ đầu
Access cũng là một sản phẩm của CSDL trong Microsoft Windows. BởI vì cả
Window và Access đều xuất phát từ Microsoft nên cả hai sản phẩm này làm việc rất
tốt cùng nhau, Access chạy trên nền Windows cũng thể hiện được trong Access.
Bạn có thể cắt, dán dữ liệu từ bất cứ ứng dụng nào trong môi trường Windows nào
cho Access và ngược lại. Bạn có thể liên kết các đốI tượng nào đó ví dụ như: OLE
trong Excel, Paintbrush và Word for Windows vào môi trường Access.
Dù sao Access là một hệ quản trị dữ liệu rất tốt trong cơ sở dữ liệu, đồng thờI
nó có thể giúp chúng ta truy nhập tới tất cả các dạng dữ liệu. Nó có thể làm việc vớI
nhiều hơn một mảng (Table) tạI cùng một thờI điểm để giảm bớt sự rắc rốI của dữ
liệu và làm cho công việc dễ dàng thực hiện hơn. Chúng có thể liên kết một bảng
trong Paradox và một bảng trong dbase, có thể lấy kết quả của việc liên kết đó và
kết nốI dữ liệu này vớI những bảng làm việc trong Excel một cách nhanh chóng và
dễ dàng.
Access cung cấp những công cụ gì?
Access cung cấp những thông tin quản lý CSDL quan hệ thực sự, hồn thiện
vớI những định nghĩa khố (Primary key) và khố ngoạI (Foreign key), các loạI luật
quan hệ (một - một, một-nhiều), các mức kiểm tra mức tồn vẹn của dữ liệu cũng
như định dạng và những định nghĩa mặc định cho môi trường (Filed) trong một
bảng. Bằng việc thực hiện sự tồn vẹn dữ liệu ở mức database engine, Access ngăn
chặn được sự cập nhật và xố thông tin không phù hợp.
Access cung cấp tất cả các kiểu dữ liệu cần thiết cho trường, bao gồm văn bản
(text), kiểu số (number), kiểu tiền tệ (currency), kiểu ngày/tháng (data/time), kiểu
meno, kiểu có/không (yes/no) và các đốI tượng OLE.Nó cũng hỗ trợ cho các giá trị
rỗng ( Null) khi các giá trị này bị bỏ qua.
Việc xử lý quan hệ trong Access đáp ứng được những đòi hỏI vớI kiến trúc
thành mạnh nhất và trôi chảy nhất chưa từng thấy.
Mặt khác, lợI điểm khi dùng Visual Basic chính là ở chỗ tiết kiệm thờI gian và
công chức so vớI ngôn ngữ lập trình khác khi xây dựng cùng một ứng dụng.
Visual Basic gắn liền vớI khái niệm lập trình trực quan ( Visual ), nghĩa là khi
thiết kế một chương trình, ta nhìn thấy ngay kết quả qua từng thao tác và giao diện
khi chương trình thực hiện. Đây là thuận lợI lớn so vớI các ngôn ngữ lập trình khác,
Visual Basic cho phép ta chỉnh sửa đơn giản, nhanh chóng màu sắc, kích thước,
hình dáng của các đốI tượng trong ứng dụng.
Một khả năng khác của Visual Basic chính là khả năng kết hợp các thư viện
liên kết động DLL ( Dynamic Link Library ). DLL chính là phầm mở rộng cho
Visual Basic tức là khi xây dựng một ứng dụng nào đó đã có một số yêu cầu mà
Visual Basic chưa đáp ứng đủ, ta viết thêm DLL phụ trợ.
Khi viết chương trình bằng Visual Basic, chúng ta phảI qua hai bước:
Thiết kế giao diện ( Visual Programming )
Viết lệnh ( Cade Programming )
Nó cùng hỗ trợ các cấu trúc:
- Cấu trúc IF… THEN …ELSE
- Các cấu trúc lặp (Loops).
- Cấu trúc rẽ nhánh ( Select Case )
- Hàm ( Function ) và chương trình con ( Subroutines )
Visual Basic đưa ra phương pháp lập trình mớI, nâng cao tốc độ lập trình.
Cũng như các ngôn ngữ khác, mỗI phiên bản mớI của Visual Basic đều chứa
đựng những tính năng mớI chẳng hạn Visual Basic 2.0 bổ sung cách đơn giản để
điều khiển các cơ sở dữ liệu mạnh nhất có sẵn, Visual Basic 4.0 bổ sung thêm phần
hỗ trợ phát triển 32 bit và chuyển sang ngôn ngữ lập trình hướng đốI tượng đầy đủ,
hiện nay ngôn ngữ mớI nhất là Visual Basic 6.0 hỗ trợ nhiều tính năng mạnh hữu
hạn OLE DB để lập trình dữ liệu. Các lập trình viên đã có thể dùng Visua Basic 6.0
để tự mở rộng Visual Basic.
Visual Basic có sẵn các công cụ như: Các hộp văn bản, các nút lệnh, các nút
tuỳ chọn, các hộp kiểm tra, các hộp liệt kê, các thanh cuộn, các hộp thư mục và tập
số thuộc tính của các đốI tượng đó.
1. FORM
Form là biểu mẫu của mỗI ứng dụng trong Visual Basic. Ta dùng Form (như là
một biểu mẫu ) nhằm định vị và sắp xếp các bộ phận trên nó khi thiết kế các phần
giao tiếp vớI ngườI dùng.
Ta có thể xem Form như là bộ phận mà nó có thể chứa các bộ phận khác. Form
chính của chúng tạo nên giao tiếp cho ứng dụng. Form chính là giao diện chính của
ứng dụng, các Form khác có thể chứa các hộp thoạI, hiện thị cho nhập dữ liệu và
hơn thế nữa.
Trong nhiều ứng dụng Visual Basic, kích cỡ và vị trí của biểu mẫu vào lúc hồn
tất thiết kế ( thường mệnh danh là thờI gian thiết kế, hoặc lúc thiết kế ) là kích cỡ và
hình dáng mà ngườI ngườI dùng sẽ gặp vào thờI gian thực hiện, hoặc lúc chạy. Điều
này có nghĩa là Visual Basic cho phép ta thay đổI kích cỡ và di chuyển vị trí của
Form cho đến bất kỳ nơi nào trên màn hình khi chạy một đề án, bằng cách thay đổI
các thuộc tính của nó trong cửa sổ thuộc tính đốI tượng ( Properties Windows ).
Thực tế, một trong những tính năng thiết yếu của Visual Basic đó là khả năng tiến
hành các thay đổI để đáp ứng các sự kiện của ngườI dùng.
2. TOOLS BOX ( Hộp công cụ )
Bản thân hộp công cụ này chỉ chứa các biểu tượng biểu thị cho các điều khiển
mà ta có thể bổ sung vào biểu mẫu là bảng chứa các đốI tượng được định nghĩa sẵn
của Visual Basic. Các đốI tượng này được sử dụng trong Form để tạo thành giao
diện cho các chương trình ứng dụng của Visual Basic. Các đốI tượng trong thanh
công cụ sau đây là công dụng nhất:
a. Scroll Ba: (Thanh cuốn)
Các thanh cuốn được dùng để nhận nhập liệu hoặc hiện thị kết xuất khi ta
không quan tâm đến giá trị chính xác của đốI tượng nhưng lạI quan tâm sự thay đổI
đó nhỏ hay lớn. Nói cách khác, thanh cuốn là đốI tượng cho phép nhận từ ngườI
dùng một giá trị tuỳ theo vị trí con chạy (Thumb ) trên thanh cuốn thay cho cách gõ
giá trị số.
Thanh cuốn có các thuộc tính quan trọng nhất là:
ĐốI tượng List Box cho phép xuất các thông tin về chuỗi.
Trên đây là những đốI tượng được sử dụngthường xuyên nhất trong phần thiết
kế giao diện cho một chương trình ứng dụng của Visual Basic.
3. PROPERTIES WINDOWS (Cửa sổ thuộc tính)
Properties Windows là nơi chứa danh sách các thuộc tính của đốI tượng cụ thể.
Các thuộc tính này có thể thay đổI được để phù hợp vớI yêu cầu về giao diện của
các chương trình ứng dụng.
4. PROJECT EXPLORER
Do các ứng dụng của Visual Basic thường dùng chung mã hoặc Form đã tuỳ
biến trước đó, nên Visual Basic tổ chức các ứng dụng thành các Project. MỗI
Project có thể có nhiều Form sẽ được lưu trữ chung vớI Form đó trong các tập tin
riêng biệt. Mã lập trình chung mà tất cả các Form trong ứng dụng chia sẻ có thể
được phân thành các Module khác nhau và cũng được lưu trữ tách biệt, gọI là các
Module mã Project Explorer nếu tất cả các biểu mẫu tuỳ biến được và các Module
chung, tạo nên ứng dụng của ta.
B. VIẾT LỆNH CHO CÁC ĐỐI TƯỢNG
Điểm mẫu chốt cần phảI nhận thức rõ trongkhâu lập trình Visual Basic là:
Visual Basic xử lý mã chỉ để đáp ứng các sự kiện. Thực vậy, không như nhiều ngôn
ngữ lập trình khác, các dòng mã thi hành trong một chương trình Visual Basic phảI
nằm trong các thủ tục hoặc các hàm, các dòng mã bị cô lập sẽ không làm việc
I.CỬA SỔ CODE
Của sổ Code luôn là nơi để viết mã. Cửa sổ Code có một thanh tách (Split
bar ) nằm bên dướI thanh tiêu đề, tạI đầu thanh cuộn dọc. Thanh cuộn này có tác
dụng tách cửa sổ Code thành hai cửa sổ Code con để có thể xem cả hai phần cửa sổ
Code cùng một lúc.
Hộp liệt kê Object
Hộp liệt kê bên trái cửa sổ Code là hộp Object, nó liệt kê mọI đốI tượng trên
Form, cùng vớI một đốI tượng trên General lưu trữ mã chung mà tất cả mọI thủ tục
dính kèm vớI Form có thể sử dụng.
Hộp liệt kê Procedure
một máy cụ thể có thể lưu giữ ít hơn, do các hạn chế của bộ nhớ, các yêu cầu phần
việc chung của Windows, hoặc số lượng chuỗI dùng trong biểu mẫu.
2. Kiểu Integer
Các biến số nguyên Integer lưu trữ các trị số nguyên tương đốI nhỏ ( Giữa –
32768 và + 32767). Số học số nguyên tuy rất nhanh song bị hạn chế trong phạm vi
này. Dấu định danh được dùng dấu “ %”
3. Kiểu Long Integer
Các biến số nguyên dài Long Integer lưu trữ các số nguyên giữa
– 2,147,483,648 và +2,147,483,647. Dấu định danh được dùng là dấu “ &”
4. Kiểu Single Precision
Các biến kiểu này lưu giữ các con số ở các mức xấp xỉ. Chúng có thể là phân
bố nhưng chỉ có thể đảm bảo độ chính xác ở mức bảy chữ số. Dấu định danh được
dùng là dấu “!”
5. Kiểu Double Precsion
Kiểu dữ liệu chính đôi [double_precision] khi cần các con số có tớI 16 vị trí
độ chính xác và cho phép có hơn 300 chữ số. Các phép tính cũng là xấp xỉ cho kiểu
biến này, chỉ có thể căn cứ trên 16 chữ số đầu. Ngồi ra, vớI các con số chính đôi,
phép tính thực hiện tương đốI chậm, chủ yếu được dùng trong các phép tính khoa
học của Visual Basic. Dấu định danh dùng cho biến chính đôi là dấu pao
“# “. PhảI dùng số “ # “ tạI cuốI con số thực tế nhất là khi có tương đốI ít chữ số
bởI bằng không, Visual Basic sẽ mặc nhận ý ta muốn dùng độ chính xác của một số
chính đơn chính xác hơn nếu ta viết.
AduoblePrecision Variable # =12.45#.
6. Kiểu Currency
Các biến kiểu này được thiết kế để tránh một số vấn đề trong khi chuyển từ
các phân số nhị phân thành các phân số thập phân ( không thể tạo 1/10 từ số tổ hợp
1/4,1/8,1,16 …). Kiểu Currency có thể có bốn chữ số về bên phảI của vị trí thập
phân và lên tớI 14 chữ số về bên trái của dấu chấm thập phân. Dấu định danh được
dùng là “@”
7. Kiểu Date
Các lệnh thực hiện khi X=1
….
CASE n:
Các lệnh thực hiện khi X=n
END SELECT.
3. LỆNH DO WHILE … LOOP
Đây là cấu trúc lặp kiểm tra điều kiện trước, vòng lặp tiếp tục khi điều kiện lặp
còn đúng
DO WHILE Điều kiện
Các lệnh thực hiện khi điều kiện còn thỏa
LOOP
4. Lệnh DO ... LOOP WHILE
Đây là cấu trúc lặp kiểm tra điều kiện sau, vòng lặp tiếp tục khi điều khiển lặp
còn đúng
DO
Các lệnh
LOOP WHILE Điều kiện
Như vậy với cấu trúc này, vòng lặp thực hiện ít nhất 1 lần
5. Lệnh FOR .. NEXT
Đây là cấu trúc lặp hay dùng nhất trong Visual Basic
FOR .. TO STEP n
Các lệnh
NEXT
Trong đó Step là bước tăng. Mặc định Step là 1
6. Lệnh DO .. LOOP UN TIL
DO ..
Các lệnh
LOOP UNTIL Điều kiện
Tương tự như DO .. LOOP WHILE. Vòng lặp thực hiện ít nhất 1 lần.
7. Phát biểu EXIT .. FOR
dòng hộp thọai InputBox () trả về chuỗI ký tự trong hộp soạn thảo.
Hàm InputBox còn có thêm ba thông số khác. ĐốI thứ ba xác định chuỗI ban
đầu trong hộp soan thảo ngay khi hộp đốI thoạI xuất hiện.
Hai đốI số cuốI xác định toạ độ của hộp đốI thoạI
+ Hộp đốI thoạI của ngườI dùng:
Đây là loạI hộp đốI thoạI do ngườI ngườI lập trình định nghĩa để tương thích
yêu cầu nhập thông tincủa người sử dụng.
Dùng phương thức Show vớI đốI số 1 ( do hộp thoạI dạng Modal ) để hiện
thị hộp thoạI ngườI dùng
+ Hộp thoạI dùng chung:
Ta có thể thực hiện (run time) bằng cách thay đổI một số thuộc tính của nó
VI. Các hàm về chuỗi
CHUỖI
Do thông tin trong các hộp văn bản Visual Basic luôn được lưu trữ dướI dạng
văn bản, nên trong Visual Basic, các chuỗI tỏ ra quan trọng hơn nhiều so vớI Visual
Basic bình thường. Một chuỗI chẳng qua là một nhóm ký tự được bao trong các dấu
nháy kép.Khi có ngườI nhập thông tin vào hộp văn bản, Visual Basic luôn lưu trữ
chúng dướI dạng một chuỗi. Do đó, cho dù ta có một hộp văn bản chủ yếu là để lưu
trữ một khốI lượng, thì nộI dung đó vẫn được xem là một chuỗi.
Phép tốn phổ dụng nhất đốI vớI các chuỗI là gom hai chuỗI lạI vớI nhau
( thuật tốn gọI phép nốI [concatenate]). Để ghép nốI hai chuỗI, ta dùng dấu “&” day
dấu “+”.
Dấu và nốI các chuỗI theo thứ rtự mà ta nêu chúng. Do đó, giống như việc
cộng các con số, thứ tự quan trọng khi dùng dấu & để nghép hai chuỗI vớI nhau.
Cũng có thể dùng dấu & để nghép số lượng tuỳ ý trước khi Visual Basic thực hiện
điều lệnh gán .
Tuy trong Visual Basic vẫn có thể dùng dấu + để nghép các số vớI nhau, song
không nên làm thế. Nó có thể dẫn đến các mốI rất khó tìm vì Visual Basic có thói
quen là chuyển đỏI các chuỗI thành con số khi nó cho là đúng nghĩa.
CÁC HÀM CHUỖI
*Hàm Left và Right
Hàm Mid có hai hàm bà con (Left và Right) đôi lúc cũng rất hữu ích cũng như
mọI hàm chuỗI khác, chúng cũng có hai hiên bản: một bình thường và một có kèm
dấu $.
Như tên gọI gợI ý, Left (Left$) tạo một bản sao các ký tự từ đầu một từ và
Right (Right$) chọn từ cuốI trở lên. Right thường được dùng hơn. Nó tránh được
phép trừ bên trong hàm Mid và có thể làm việc nhanh hơn. Left cũng làm việc
tương tự nhưng chỉ giúp ta đỡ mất công đưa một 1vị trí thứ hai trong hàm Mid.
Hàm InStr
Cũng như hàm Mid, Hàm InStr cũng làm việc vớI ba (và đôi lúc là hai) mẩu
tin. Nghĩa là, nó là một hàm có ba ( và đôi lúc có hai) đốI số.
Gỉa sử, ta muốn tìm tất cả mọI chữ số đứng trước dấu chấm thập phân trong
một con số, tất nhiên, có thể dùng hàm Mid để dà qua biên bản chuỗI của con số đó,
theo từng ký tự một, cho đến khi tìm thấy dấu chấm thập phân. Tuy nhiên, làm như
vậy sẽ nhọc công và chạy chậm hơn nhiều so vớI hàm InStr.
Hàm InStr báo cho biết chuỗI có thuộc thành phần của một chuỗI khác hay
không ( chuyên ngữ gọI là “ chuỗI con của “). Nếu có, InStr sẽ báo cho biết vị trí
bắt đầu chuỗI con.
Hàm InStr cũng cho phép chỉ định bắt đầu tìm kiếm tạI một ký tự nhất định.
Ví dụ: InStr ([nowi bắt đầu]) chuỗI tìm kiếm, chuỗI tìm thấy ) định nơi bắt
đầu tìm kiếm. Nếu để trống mục này, cuộc tìm kiếm sẽ bắt đầu từ vị trí thứ nhất .
Do hàm InStr trả về giá trị zêzo ( nghĩa là False) khi Visual Basic không tìm
thấy một ký tự, hoặc một giá trị phi zêzo (True) khi tìm thấy, nên thông thường ta
phảI tự mình viết các vòng lặp If _ Then hoặc Do dùng hàm InStr để tiến hành kiểm
tra.
Nếu dùng giá trị mà hàm InStr đạt được trước đó, ta có thể tìm kiếm các lần
xuất hiện lặp lạI của một chuỗi.
Hàm Val
Visual Basic có một hàm tên Val. Đây là một dạng hàm chuyển đổI tất thảy, vì
thế trong Visual Basic ngườI ta vẫn thường dùng Val để chuyển đổI một chuỗI số
chỉ mục [index].
Tất nhiên, một khi bắt tay xây dựng các mảng lớn, ta cần có các phương cách
nhanh chóng, hiệu quả để tìm và sắp xếp nộI dung.
Để thực hiện ta dùng hàm Array vớI cú pháp là:
Array (arglist)
Ở đó, đốI số arglist bao gồm một danh sách các mục, được tách biệt bởI các
dấu phẩy, ví dụ
Dim A As Variant
A = Array (1, 2, 3, 4, 5)
2. Các danh sách mảng môt chiều
Chủ chương của mảng một chiều ( gọI là danh sách [list] đó là cung cấp một
phương thức có hệ thống để đặt tên các nhóm biến có liên quan, thuộc thành phần
của một mảng. VớI Visual Basic, mảng một chiều [ one_dimensional array] chẳng
qua là một tập hợp [collection] các biến, mà từng biến được định dang bởI hai nộI
dung:
- Tên mảng
- Vị trí của mục trên mảng.
Mảng Fonts mà Visual Basic dùng để lưu trữ tên các phông chữ và các phông
chữ được lưu chữ trong Fonts (0), Fonts(1), v . v…
Lưu ý: dấu đồn đo la “$” cho biết các biến trên mảng một chiều này sẽ lưu giữ
các chuỗi.
* Cách làm việc vớI mảng một chiều
Các giá rị bên trong mảng một chiều thường được gán bằng một vòng lặp
For_Next hoặc dùng một vòng lặp Do kèm vớI một đợt kiểm tra, bởI thông thường
ta muốn ngưng trước khi nhập tồn bộ dữ liệu. Có thể ta thấy an tâm khi luôn biết
chắc số lượng các mục trong một mảng một chiều. Nó giúp cho tiến trình gỡ rốI dễ
dàng hơn, cũng như hầu hết các lập trình viên, có thể thấy các vòng lặp For_Next dễ
dàng hơn so vớI vòng lặp Do.
Các hộp liệt kê cũng là một cách để lưu trữ thông tin ( kiểu mảng) trong vài
tình huống, việc dùng hộp liệt kê có thể là một phương cách lưu trữ dữ liệu tốt hơn
4.Mảng động và mảng cố định
Trong Visual Basic, các mảng không thể kết thúc mở. Mặc dù, các giới hạn
khá lớn, tuỳ thuộc khá nhiều vào lượng bộ nhớ đang có, ta phảI báo cho Visual
Basic biết phảI chừa riêng một lượng bộ nhớ là bao nhiêu cho mảng trước khi dùng
nó.
Có hai kiểu mảng trong Visual Basic: mảng cố định [fixed array], ở đó việc
phân bổ bộ nhớ không bao giờ thay đổI trong khi đang chạy chương trình, và mảng
động [dynamic arrays], ở đó có thể thay đổI kích cỡ ngay khi chạy chương trình.
Ưu điểm của mảng cố định là: do bộ nhớ được chừa riêng ngay tạI đầu
chương trình, ta hiếm khi gặp sự cố cạn kiệt bộ nhớ trong khi chương trình đang
chạy.
Ưu điểm của mảng động là: Khả năng linh hoạt của chúng; có thể thay đổI
kích cớ để đáp ứng những gì mà chương trình thường gặp.
Có thể cả mảng động và mảng cố định sẵn dùng cho tồn bộ ứng dụng, cho một
Form hay một module cụ thể, hoặc chỉ trong phạm vi của một thủ tục hay hàm. Khi
dùng mảng bao giờ cũng phảI khai báo sao cho số lượng cần phảI vừa đủ theo yêu
cầu ứng dụng cần xây dựng chương trình, không nên lãng phí bộ nhớ. Tuy nhiên có
nhiều trường hợp kích thước mảng phụ thuộc lúc chương trình thực hiện (run –
time), chúng ta không thể xác định trước được. Visual Basic cung cấp một khả năng
đáp ứng trường hợp này: khai báo mảng kích thước thay đổI - mảng động. Ví dụ sau
khi khai báo mảng động:
Sub cmdArray 1_Click()
Dim Counter
‘ khai báo mảng Array 1 là mảng động
Static Array 1() As Integer
‘ Thay đổI kích thước mảng Array 1
ReDim Array 1( 1 to 15) As Integer
For Counter = 1 to 15
Array 1( Counter) = Counter
Next.
- Cách1: Output
- Cách 2: Append
- Cách 3: Input.
6.Mở tập tin theo kiểu truy xuất tuần tự bằng Output
Dùng kiểu Output tạo tập tin truy cập tuần tự. Sau khi tạo tập tin, ta có thể
dùng các lệnh xuất để viết tên tập tin này. Ví dụ sau tạo tập tin TRY.TXT:
FileNum = FreeFile
Open “TRY.TXT” For Output As FileNum.
Nếu tập tin TRY.TXT đã tồn tạI, nộI dung cũ bị xóa đi! Tập tin TRY.TXT
không có đường dẫn nên có được tạo trong thư mục hiện hành. Muốn tạo ở thư mục
xác định nào đó ( ví dụ C:\ PROG), ta cần chỉ rõ như sau:
Open “ C:\PROG\TRY.TXT” For Output As FileNum.
Tập tin mở bằng kiểu Output chỉ cho phép ta viết lên mà thôi. Ta có thể viết
bằng phát biểu Print#.
FileNum = FreeFile
Open “ TRY.TXT” For Output As FileNum
‘ Viết nộI dung thuộc tính Text cuat MyText ra
‘ TRY.TXT
Print # FileNum, txtMyText.Text
‘Đóng tập tin TRY.TXT
Close FileNum.
Phát biểu Print cần hai tham số. Tham số thứ nhất là thẻ File cần nghi ra và
tham số thứ hai là chuỗI cần nghi.
7. Mở tập tin theo kiểu truy xuất tuần tự bằng Append:
Kiểu Append tương tự như Output nhưng điểm khác chính là khi tập tin được
mở đã tồn tạI, nộI dung cũ không bị xố. Gỉa sử tập tin TRY.TXT đang có sẵn hai
dòng:
THIS IS LINE NUMBER 1
THIS IS LINE NUMBER 2
Mở TRY.TXT theo kiểu Append: