2.3.1.1. Tổng quan về ngụn ngữ lập trỡnh Delphi
Ngụn ngữ lập trỡnh Delphi cú tiền thõn là ngụn ngữ Pascal, bản chất về ngụn ngũ này chớnh là Pascal hướng đối tượng (Object Pascal). Pascal là ngụn ngữ lập trỡnh cấp cao, thường được dựng trong cụng việc nghiờn cứu giảng dạy hơn là dựng để viết cỏc ứng dụng chuyờn nghiệp như hệ điều hành hay cỏc chương trỡnh thương mại cao cấp (chức năng này thuộc về ngụn ngữ C/C++). Nhưng với Delphi thỡ hoàn toàn mới, Delphi đó đưa ngụn ngữ Pascal trưởng thành lờn rất nhiều.
Người sỏng lập ra ngụn ngữ lập trỡnh Delphi là Anders Hejlsberg – kiến trỳc sư trưởng của hóng Borland. ễng đó phỏt triển ngụn ngữ Pascal thành một ngụn ngữ hướng đối tượng, với mụi trường làm việc trực quan và cú tớnh năng truy xuất cơ sở dữ liệu mạnh – đú chớnh là Delphi.
Năm 1995, phiờn bản Delphi đầu tiờn ra đời (Delphi 1), đõy là cụng cụ mạnh để phỏt triển cỏc ứng dụng trờn Windows. Phỏt triển lờn từ Borland Pascal, Delphi 1 đó mở rộng thờm ngụn ngữ hướng đối tượng, cỏch tiếp cận dữ liệu trờn form cơ sở, tốc độ biờn dịch chương trỡnh được cải thiện, cỏc cụng cụ và hỗ trợ kết nối cơ sở dữ liệu được thiết kế một cỏch trực quan, tương thớch với Windows và cỏc thành phần của nú.
Delphi và Delphi Client/Server là cỏc cụng cụ phỏt triển ứng dụng nhanh (RAD – Rapid Application Development) hay cũn được gọi là lập trỡnh trực quan với cỏc cụng cụ thiết kế trực quan, cỏc tớnh năng ưu việt của trỡnh biờn dịch, cũng như đưa ra giải phỏp thớch hợp cho mụ hỡnh client/server.
Năm 1996, phiờn bản thứ 2 của Delphi đó được ra mắt. Delphi 2 là cụng cụ phỏt triển ứng dụng nhanh kết hợp khả năng biờn dịch chương trỡnh nhanh nhất của Windows 32 bits lỳc bấy giờ, cỏc cụng cụ được thiết kế trực quan, tớnh linh hoạt trong kết nối cơ sở dũ liệu với mụi trường hướng đối tượng mạnh.
Bờn cạnh việc phỏt triển trờn nền Windows 32 bits (hỗ trợ và hoàn toàn tương thớch với Windows 95), cung cấp cỏc điều khiển (control) : database grid, OLE Automation; hỗ trợ nhiều kiểu dữ liệu khỏc nhau, hỗ trợ kiểu dữ liệu chuỗi với số ký tự lớn (long string) và cỏc biểu mẫu (form) trực quan kiểu kế thừa (Visual Form Inheritance). Delphi 2 được xem là “Ngụn ngữ trực quan giống ngụn ngũ Visual Basic nhưng lại cú sức mạnh của ngụn ngữ C++”
với tốc độ thực thi chương trỡnh nhanh hơn, cỏc cụng cụ dựng để kết nối với mụ hỡnh cơ sở dữ liệu phõn tỏn ngày càng mạnh, đồng thời đó cú cụng cụ để xõy dựng cho cỏc ứng dụng Web. Delphi 3 cũng đó cải thiện thờm cỏc tớnh năng mới như: cụng nghệ “code insight”, DLL debugging, component templates, DecisionCube và TeeChart components (cụng cụ dựng để vẽ biểu đồ), cụng nghệ WebBroker, ActiveForms và tớch hợp với cổng COM thụng qua cỏc cụng cụ cú sẵn.
Delphi 4 (ra mắt năm 1998) được biết đến như một cụng cụ chuyờn nghiệp để giải quyết cỏc bài toỏn liờn quan đến cỏc ứng dụng sử dụng mụ hỡnh client/server. Đồng thời, Delphi 4 cũng cú 1 số tớnh năng mới như: hỗ trợ tỡm kiếm (AppBrowser), sử dụng mảng động (dynamic arrays), phương thức quỏ tải toỏn tử (method overloading), hỗ trợ Windows 98, thờm cỏc đối tượng OLE, mở rộng cỏc thành phần kết nối với cổng COM.
Năm 1999, Delphi cú một bước tiến mới trong cụng nghệ, khi đó hỗ trợ kết nối internet rất hoàn hảo. Delphi 5 cú nhiều cải tiến và tớnh năng mới, một trong số đú như: cỏc cỏch sắp đặt vị trớ màn hỡnh khỏc nhau, đưa vào cỏc khung nhỡn, sử dụng kỹ thuật xử lý song song, đưa ra khả năng kết nối với internet (XML), tăng sức mạnh kết nối với cơ sở dữ liệu nhờ phương thức ADO…
Delphi 6 (ra mắt năm 2000) được xem là cụng cụ phỏt triển ứng dụng nhanh trờn Windows trong việc hỗ trợ phỏt triển cỏc dịch vụ Web. Với Delphi 6 cỏc tổ chức, cỏ nhõn đều cú thể tạo ra cỏc ứng dụng để trao đổi buụn bỏn qua mạng (thương mại điện tử) một cỏch dễ dàng và nhanh chúng.
Delphi 6 cũng đưa ra một số cải thiện như: mụi trường làm việc (IDE), kết nối Internet, XML, trỡnh biờn dịch, hỗ trợ cơ sở dữ liệu…
Phiờn bản thứ 7 của Delphi ra mắt năm 2001, là phiờn bản mở ra hướng đi mới cho sự phỏt triển của Microsoft.NET. Delphi 7 đưa ra một số cụng
nghệ mới, điển hỡnh như: hỗ trợ giao diện Windows XP, tớch hợp cỏc cụng cụ của đối tỏc thứ 3 (thirth-party), hỗ trợ xuất bỏo cỏo (Rave reports), hỗ trợ phỏt triển cỏc ứng dụng mạng IntraWeb, mụi trường thiết kế hiện đại (ModelMaker).
Từ năm 2002 cho đến nay, cũng đó cú rất nhiều phiờn bản Delphi được ra mắt như: Delphi 8, Delphi 2005, Delphi 2006, Delphi 2007 và Delphi 2009. Cỏc phiờn bản sau ngày càng cú tớnh năng hoàn thiện hơn cỏc phiờn bản trước nú.
Với mụi trường phỏt triển Delphi, người lập trỡnh cú thể kiến tạo bất kỳ chương trỡnh ứng dụng Windows nào từ những tập tin thực thi EXE, thư viện liờn kết động DLL, ứng dụng OLE, thành phần ActiveX đến cỏc ứng dụng Web trờn mạng Internet, cỏc ứng dụng giao diện đồ họa, cỏc ứng dụng về truy xuất cơ sở dữ liệu client/server, tớch hợp những cụng nghệ hiện đại như Java, COBBA, MIDAS… Nhỡn chung với cỏc ứng dụng chuyờn nghiệp đũi hỏi thời gian phỏt triển nhanh và cú tớnh chuyờn mụn cao (RAD Application) thỡ Delphi là một lựa chọn tốt cho người lập trỡnh. Kết hợp khả năng truy xuất cấp thấp của ngụn ngữ C cộng với tận dụng được những chức năng cao cấp của hệ điều hành, Delphi xứng đỏng để cỏc lập trỡnh viờn đầu tư vào nú.
2.3.1.2. Giới thiệu về ngụn ngữ lập trỡnh Delphi 7
Delphi 7 ra đời năm 2001 đó mở ra hướng đi mới cho sự phỏt triển của Microsoft.Net, hơn nữa phiờn bản này cũng đó đưa ra nhiều giải phỏp cụng nghệ mới nhằm tạo ra mụi trường phỏt triển thõn thiện với người dựng đồng thời hỗ trợ rất tốt cho việc phỏt triển cỏc ứng dụng Web.
- Cỏc phiờn bản của Delphi 7
+ Phiờn bản “Personal” dành cho những người mới sử dụng Delphi, hoặc những người lập trỡnh khụng chuyờn. Phiờn bản này chỉ cung cấp cỏc tớnh năng chớnh cho người sử dụng thao tỏc cỏc tập lệnh và xõy dựng cỏc ứng dụng nhỏ, khụng hỗ trợ đầy đủ cỏc tớnh năng cũng như lập trỡnh cơ sở dữ liệu của cỏc phiờn bản cao hơn.
+ Phiờn bản “Professional Studio” là phiờn bản dành cho những nhà phỏt triển chuyờn nghiệp. Phiờn bản này bao gồm tất cả cỏc tớnh năng cơ bản, cộng với những hỗ trợ về lập trỡnh cơ sở dữ liệu (sử dụng phương thức kết nối ADO), hỗ trợ cỏc ứng dụng về mạng (WebBroker), bổ xung cỏc cụng cụ như ModelMaker, IntraWeb.
+ Phiờn bản “Enterprise Studio” là phiờn bản dành cho những nhà phỏt triển ứng dụng cho cỏc doanh nghiệp. Phiờn bản này tớch hợp cả ngụn ngữ XML, và cỏc cụng nghệ tiờn tiến về mạng, hỗ trợ cụng nghệ CORBA, sử dụng kiểu kiến trỳc 3 tầng và nhiều cụng cụ khỏc.
+ Phiờn bản “Architect Studio” là phiờn bản được lấy nền tảng từ phiờn “Enterprise Studio” và được hỗ trợ thờm cụng cụ Bold. Bold là một bộ cụng cụ cho phộp tạo ra cỏc chương trỡnh trực tiếp từ cỏc thiết kế bằng cỏch sử dụng mụ hỡnh UML, mụ hỡnh này cú khả năng ghi nhớ lại (mapping) những đối tượng cơ sở dữ liệu và cả giao diện người dựng.
- Giới thiệu về Delphi IDE
Delphi IDE (Integrated Development Environment) là mụi trường phỏt triển tớch hợp của Delphi. Tựy thuộc vào từng phiờn bản cụ thể của Delphi mà cỏc thành phần của Delphi IDE cũng cú những thay đổi nhất định. Chẳng hạn trong Delphi 7, IDE gồm cú 5 thành phần chớnh đú là:
+ Cửa sổ chớnh của Delphi: tờn mó của cửa sổ này là TAppBuilder. Cửa sổ này bao gồm trỡnh đơn, cỏc thanh cụng cụ và một bảng gồm cỏc cụng cụ phỏt triển (Component Palette).
+ Cửa sổ thiết kế Form: đõy chớnh là cửa sổ thực tế dành cho chương trỡnh ứng dụng của người dựng. Khởi đầu cửa sổ là một form trống mỗi khi người dựng khởi động Delphi.
+ Cửa sổ Object Inspector: tờn mó của cửa sổ là TPropertyInspector. Đõy là cửa sổ cho phộp người dựng thay đổi cỏc thuộc tớnh cho thành phần trờn form như tiờu đề, tờn... một cỏch trực quan.
+ Cửa sổ soạn thảo mó lệnh Code Editor: tờn mó của cửa sổ là
TEditWindow. Đõy là nơi thực sự thể hiện nội dung của chương trỡnh, là nơi người dựng gừ lệnh, thiết kế nội dung cho cỏc hàm, thủ tục và cài đặt cỏc phương thức cho lớp.
+ Cửa sổ Object TreeView: tờn mó của cửa sổ là TObjectTreeView. Cửa sổ sẽ thể hiện cho người dựng một cỏch trực quan thứ tự cha, con của cỏc thành phần cú mặt trờn form…
Bản thõn Delphi IDE là một mụi trường lắp ghộp. Delphi mở ra cho người dựng rất nhiều cỏch tiếp cận để thay đổi và chỉnh sửa sao cho phự hợp và thuận tiện với từng cỏ nhõn. Chẳng hạn, thanh Component Palette của Delphi IDE thực tế là một đối tượng TtabControl. Người dựng cú thể lập trỡnh một số dũng lệnh để thay đổi kiểu thể hiện cỏc cụng cụ trờn thanh này.
- Mụi trường hướng đối tượng trong Delphi 7
Đa số cỏc ngụn ngữ lập trỡnh hiện đại đều hỗ trợ lập trỡnh hướng đối tượng (OOP). Những ngụn ngữ OOP được dựa vào ba khỏi niệm nền tảng là: sự đúng gúi (thụng thường được thực hiện với cỏc lớp), sự kế thừa, và tớnh đa hỡnh.
dựng trong mụi trường hướng đối tượng.
+ Cỏc lớp và cỏc đối tượng: ngụn ngữ Delphi dựa trờn cỏc khỏi niệm
cơ sở về hướng đối tượng để định nghĩa cho cỏc đối tượng mới theo kiểu lớp (class type). Khi người dựng tạo ra một form mới (lỳc thết kế), Delphi tự động định nghĩa một lớp mới cho form đú. Ngoài ra cỏc thành phần trực quan nằm trờn form đều được coi là 1 đối tượng của một kiểu lớp sẵn cú trong thư viện hệ thống.
Với cỏc ngụn ngữ lập trỡnh hướng đối tượng hiện đại như: Java, C#... hay kể cả Delphi thỡ một biến kiểu lớp khụng được cung cấp ụ nhớ cho đối tượng mà chỉ là một con trỏ hoặc tham chiếu tới đối tượng trong bộ nhớ. Khi muốn sử dụng đối tượng người dựng phải cấp phỏt bộ nhớ cho nú. Lỳc này cỏc đối tượng sẽ được khởi tạo và được gỏn giỏ trị.
+ Sự đúng gúi: một lớp cú thể chứa đựng bất kỳ loại dữ liệu nào cũng
như bất kỳ số lượng phương thức nào mà nú cần cú. Tuy nhiờn, lợi ớch của cỏch tiếp cận hướng đối tượng đem lại đú là cỏc dữ liệu sẽ được che giấu hoặc đúng gúi bờn trong cỏc lớp đang sử dụng nú.
Khỏi niệm đụng gúi thường được vớ như một chiếc “hộp đen”. Người dựng khụng thể biết được trong đú chứa những gỡ. Người dựng chỉ biết phương thức để giao tiếp với nú hoặc sử dụng nú mà khụng cần biết cấu trỳc bờn trong của nú.
Delphi thực hiện đúng gúi trờn cỏc lớp cơ sở, nhưng Delphi vẫn hỗ trợ đúng gúi trờn cỏc module cơ sở kiểu cổ điển sử dụng cấu trỳc của cỏc units. Mọi định danh mà người dựng khai bỏo trờn giao diện unit này cú thể truy cập được trờn cỏc unit khỏc trong cựng một ứng dụng.
+ Sự kế thừa: để kế thừa một lớp đó cú sẵn trong Delphi, người dựng
chỉ việc khai bỏo lớp cần kế thừa lỳc định nghĩa một lớp mới. Chẳng hạn khi một form mới được tạo ra nú tự động khai bỏo như sau:
Type
TForm1=class(TForm) ….
end;
Định nghĩa này khai bỏo lớp TForm1 kế thừa mọi phương thức, cỏc trường, thuộc tớnh, cỏc sự kiện của lớp TForm cú sẵn trong thư viện hệ thống của Delphi. Lỳc này, người dựng cú thể gọi tất cả phương thức trong khai bỏo public của lớp TForm cho cỏc đối tượng trong lớp TForm1. Trong lớp TForm1 người dựng cũng cú thể định nghĩa thờm cỏc đối tượng và cỏc phương thức khỏc nữa.
2.3.2. Hệ quản trị cơ sở dữ liệu Microsoft Access2.3.2.1. Giới thiệu về Microsoft Access 2.3.2.1. Giới thiệu về Microsoft Access
Microsoft Access là hệ quản trị CSDL trờn mụi trường Windows, trong đú cú sẵn cỏc cụng cụ hữu hiệu và tiện lợi để tự động sản sinh chương trỡnh cho hầu hết cỏc bài toỏn thường gặp trong quản lý, thống kờ, kế toỏn. Với Microsoft Access, người dựng khụng phải viết từng cõu lệnh cụ thể mà chỉ cần tổ chức dữ liệu và thiết kế cỏc yờu cầu, cụng việc cần giải quyết.
Phiờn bản được sử dụng nhiều nhất hiện nay vẫn là Access 2000 và Access 2003.
Sỏu đối tượng cụng cụ mà Access cung cấp là: bảng (Table), truy vấn (Query), mẫu biểu (Form), bỏo biểu (Report), Macro và Module.
Truy vấn là cụng cụ mạnh của Access dựng để tổng hợp, sắp xếp, tỡm kiếm dữ liệu trờn bảng. Khi thực hiện truy vấn sẽ nhận được một tập hợp kết quả thể hiện trờn màn hỡnh dưới dạng bảng, gọi là Dynaset. Dynaset chỉ là bảng kết quả trung gian, khụng được lưu trữ và sẽ bị xúa khi kết thỳc truy vấn. Tuy vậy cú thể sử dụng Dynaset như một bảng để xõy dựng cỏc truy vấn khỏc.
Mẫu biểu thường dựng để tổ chức cập nhật dữ liệu cho cỏc bẩng và thiết kế giao diện chương trỡnh. Tuy cú thể nhập liệu vào cỏc bảng nhưng việc sử dụng mẫu biểu sẽ đem lại nhiều khả năng nhập liệu tiện lợi hơn, Mẫu biểu cũn cho phộp nhập cỏc giỏ trị riờng lẻ (khụng liờn quan đến bảng) từ bàn phớm.
Bỏo biểu là cụng cụ tuyệt vời để phục vụ cụng việc in ấn, xuất bỏo cỏo. Nú cung cấp cỏc khả năng:
- In dữ liệu dưới dạng bảng - Sắp xếp dữ liệu trước khi in
- Sắp xếp và phõn nhúm dữ liệu tới nhiều cấp
- In dữ liệu của nhiều bảng cú quan hệ trờn một bỏo cỏo
Macro bao gồm một dóy cỏc hành động (Action) dựng để tự động húa một loạt cỏc thao tỏc. Macro thường dựng với mẫu biểu để tự động tổ chức giao diện chương trỡnh.
Module là nơi chứa cỏc hàm và thủ tục viết bằng ngụn ngữ Access Basic. Mặc dự cỏc cụng cụ mà Access cung cấp khỏ đầy đủ nhưng lẽ dĩ nhiờn khụng thể bao quỏt được mọi vấn đề đa dạng của thực tế. Cỏc hàm và thủ tục của Access Basic sẽ trợ giỳp giải quyết những phần việc khú mà cụng cụ khụng làm nổi.
3.2.2.2. Lý do lựa chọn Microsoft Access 2003
Hệ quản trị cơ sở dữ liệu Access 2003 là phiờn bản tương đối mới và cho đến nay phiờn bản này vẫn được coi là phiờn bản được nhiều người dựng nhất. Hệ quản trị này cú nhiều tớnh năng mới, khả năng xử lý nhanh, được tớch hợp sẵn trong bộ phần mềm Microsoft Offices 2003 - bộ phần mềm được hầu hết cỏc cơ quan, đơn vị trong lĩnh vực hành chớnh, sự nghiệp sử dụng.
Về tớnh khả thi: việc triển khai hệ thống với hệ quản trị cơ sở
Microsoft Access là dễ dàng hơn nhiều so với hệ quản trị cơ sở dữ liệu khỏc như Oracle hay SQL Server. Bởi lẽ khi sử dụng hệ quản trị Oracle hoặc SQL Server đũi hỏi cấu hỡnh hệ thống của mỏy tớnh của cỏc đơn vị phải thực sự mạnh. Cũn với Access thỡ hầu như mỏy tớnh cú cấu hỡnh bỡnh thường nào cũng cú thể cài đặt và sử dụng được.
Về quy mụ của bài toỏn: dữ liệu để quản lý lương cỏn bộ cho cỏc đơn
vị hành chớnh sự nghiệp khụng quỏ lớn, bởi vậy dựng Access để quản lý dữ liệu là hợp lý. Cũn cỏc hệ quản trị CSDL như Oracle hay SQL Server thường được sử dụng để giải quyết cỏc bài toỏn phức tạp cú dữ liệu lớn.
Do đú, việc sử dụng hệ quản trị Microsoft Access trong việc xõy dựng hệ thống thụng tin mới tại cỏc đơn vị hành chớnh sự nghiệp sẽ giảm bớt được thay đổi đối với hệ thống cũ.
3.2.2.3. Lựa chọn phương thức kết nối CSDL
Ngụn ngữ lập trỡnh Delphi 7 hỗ trợ rất mạnh phương thức kết nối ADO (ActiveX Data Objects) với cỏc hệ quản trị cơ sở dữ liệu núi chung và Access núi riờng, nhờ đú mà cỏc thao với dữ liệu trong CSDL rất nhanh chúng và thuận tiện. Vỡ vậy, trong phạm vi nghiờn cứu của đề tài này, em đó lựa chọn