TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA SƯ PHẠM
BỘ MÔN VẬT LÝ
LUẬN VĂN TỐT NGHIỆP
CHƯƠNG TRÌNH VẬT LÝ LỚP 12 NÂNG CAO
VIẾT BẰNG NGƠN NGỮ LẬP TRÌNH DELPHI
GV hướng dẫn: VƯƠNG TẤN SĨ
SV thực hiện: NGÔ MINH HẢI
GV phản biện:
MSSV: 1050122
HỒ HỮU HẬU
DƯƠNG BÍCH THẢO
Lớp: SP Vật lý khóa 31
CẦN THƠ, 04-2009
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngôn ngữ Delphi
PHẦN MỞ DẦU
I. LÝ DO CHỌN ĐỀ TÀI
1. Hoàn cảnh thực tế
1.1. Hoàn cảnh thực tế trong đời sống xã hội
Sự phát triển cực kỳ nhanh chóng và mạnh mẽ cả công nghệ phần cứng và
phần mềm của máy tính điện tử, từ lâu đã ảnh hưởng sâu sắc đến mọi hoạt động
của con người như: Nghiên cứu khoa học, phát triển sản xuất, điều khiển tự động,
điều tra cơ bản, thông tin liên lạc; lưu truyền phổ biến thông tin, dữ liệu, kiến
thức cũng là mục tiêu quan trọng… Đặc biệt là trong công tác quản lí như: Quản
lí sản xuất, quản lí con người, quản lí giáo dục, quản lí tài ngun… bên cạnh đó
việc áp dụng tin học để phục vụ cho giảng dạy cũng khơng kém phần quan trọng,
đó là một trong những phương pháp giảng dạy tiến bộ nhất hiện nay.
Ngày nay, tin học được coi là một trong những phương tiện đa dụng, phục
vụ cho các chính sách kinh tế, chính sách giáo dục, chính sách khoa học và cơng
nghệ ở hầu hết các nước trên thế giới.
Nhiệm vụ của giáo dục là phải đáp ứng mọi đòi hỏi của xã hội, đó là một
địi hỏi có tính ngun tắc. Xã hội muốn phát triển thì khoa học phải vươn lên
phía trước, luôn luôn được kế thừa để không ngừng nhảy vọt.
Đây là thời đại mà máy tính được sử dụng rộng rãi, sự hiểu biết về máy
tính khơng cịn là vấn đề phức tạp nữa.
1.2.
Hoàn cảnh thực tế trong ngành giáo dục ở các trường
phổ thông
Ngày nay, trong giảng dạy một số mơn khoa học tự nhiên (Lý, Hố,
Sinh…) là các mơn có thí nghiệm cần độ chính xác cao, việc thu thập tín hiệu, xử
lý số liệu, việc tạo ra một điều kiện, môi trường lý tưởng cho việc tiến hành thí
nghiệm thành cơng, thu thập số liệu chính xác là vấn đề hết sức khó khăn, trong
khi có một số thí nghiệm khơng thể tiến hành được do thiếu dụng cụ thí nghiệm
hoặc dụng cụ thí nghiệm quá đắc tiền. Mặt khác do các ngành khoa học và cơng
nghệ ở nước ta cịn kém phát triển, đa số dụng cụ thí nghiệm với độ chính xác
cao phải nhập từ nước ngồi, một số trường phổ thơng chưa thể trang bị đầy đủ.
Với sự phát triển của công nghệ máy tính điện tử và một số phần mềm chuyên
dùng thiết kế các hình ảnh mơ phỏng, minh họa cho thí nghiệm thì việc thực hiện
vấn đề trên phần nào có thể đáp ứng và giải quyết được những vấn đề khó khăn
như đã đề cập. Mặc dầu vậy, nhưng việc trang bị một phịng máy tính, màn hình
đủ lớn cỡ 400 (inch) để cả lớp quan sát được, hoặc một bộ máy chiếu và máy vi
tính phục vụ cho giảng dạy là vấn đề hết sức khó khăn bởi vì một số trường phổ
thơng cịn hạn chế nhiều mặt.
GVHD: VƯƠNG TẤN SĨ
Trang 1
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngơn ngữ Delphi
2. Mục đích của đề tài
Với những hạn chế trong ngành giáo dục như đã đề cập ở trên, trong điều kiện
công nghệ thông tin đã và đang phát triển rầm rộ như hiện nay thì việc áp dụng
các ngơn ngữ lập trình để hỗ trợ phổ biến kiến thức phục vụ cho học tập và
nghiên cứu phần nào hồn thiện hơn chương trình giảng dạy trên lớp là rất cần
thiết phải được tiến hành phổ biến, thường xuyên. Một mặt nhằm đáp ứng nhu
cầu thời đại công nghệ thông tin là kết hợp giáo dục với tin học, giáo dục với
công nghệ hiện đại, giảng dạy theo phương pháp chủ động, mặt khác nhằm đảm
bảo kiến thức cho giảng dạy và nghiên cứu.
Trong đó kiến thức vật lý là một bộ phận rất quan trọng trong các mơn khoa
học tự nhiên, nó là nền tảng cho mọi ngành công nghiệp hiện đại. Cho nên việc
phổ biến kiến thức vật lý một cách sâu rộng là điều rất cần thiết.
Để giải quyết bớt những khó khăn trong ngành giáo dục, đáp ứng được những
đòi hỏi tiến bộ của xã hội và bắt kịp nhịp độ phát triển của thời đại cơng nghệ
thơng tin, thì việc soạn thảo kiến thức trọng tâm của chương trình kiến thức phổ
thơng, thiết kế chương trình kiểm tra trắc nghiệm tự động tính điểm để học sinh
có thể trắc nghiệm kiểm tra kiến thức, trình độ của bản thân, sử dụng những phần
mềm chuyên dụng để minh họa các hiện tượng, thiết kế các ảnh động mô phỏng
cho hiện tượng vật lý.... nhằm phổ biến cho người học là việc nên làm. Phần nào
đáp ứng nhu cầu trên, đồng thời đặt nền móng cho hoạt động kết hợp giáo dục
với cơng nghệ mới, tơi đã mạnh dạng xây dựng “Chương trình vật lý lớp 12
nâng cao” viết bằng ngơn ngữ lập trình Delphi. Một mặt nhằm thực hiện mục
tiêu chính của đề tài luận văn, mặt khác sinh viên thực hiện đề tài cũng tích lũy
được một kỹ năng rất quan trọng và hữu ích ngồi kiến thức chun ngành, đó là
hiểu biết về ngơn ngữ lập trình và kỹ năng thiết kế-thực hiện một dự án, thiết kế
bài trắc nghiệm, đồng thời cũng bổ sung thêm tầm hiểu biết, nắm vững hơn về
kiến thức chun ngành thơng qua việc tìm hiểu rất kỷ nội dung xây dựng, soạn
thảo câu hỏi trắc nghiệm và khảo sát một số hình ảnh minh họa các hiện tượng
vật lý mà từ trước tới nay chưa có điều kiện quan sát trên thí nghiệm thực tế,
thơng qua các phần mềm chuyên dùng cho mô phỏng và thực hành vật lý.
3. Giới hạn của đề tài
Delphi là một ngơn ngữ lập trình rất mạnh có tính ứng dụng cao, tuy nhiên
trong thời đại phần mềm tin học rất phát triển như hiện nay thì việc lựa chọn
ngơn ngữ lập trình nào cho phù hợp lại là một vấn đề đặt ra đối với một sinh viên
không chuyên về tin học như tôi. Với mong muốn khám phá bản thân trong việc
vận dụng cái mới vào một mục đích cụ thể là xây dựng một chương trình Vật lý
12 nâng cao, nhờ sự tư vấn của giáo viên hướng dẫn (GVHD) tôi đã mạnh dạng
chọn ngôn ngữ lập trình Delphi phục vụ cho mục đích của mình.
Như một điều tất yếu, tơi phải gặp rất nhiều khó khăn trong lúc thực hiện đề
tài bởi trước đây chưa quen sử dụng ngơn ngữ lập trình nói chung và Delphi nói
riêng.
Bên cạnh đó thời gian thực hiện đề tài rất giới hạn nên chương trình chưa
được phong phú lắm về nội dung và số câu hỏi trắc nghiệm, tuy nhiên việc cập
GVHD: VƯƠNG TẤN SĨ
Trang 2
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngôn ngữ Delphi
nhật và phát triển nội dung chương trình là rất dễ dàng trong trường hợp chúng ta
muốn nâng cấp chương trình.
II. CÁC GIẢ THUYẾT CỦA ĐỀ TÀI
Tìm hiểu ngơn ngữ lập trình Delphi.
Sưu tập câu hỏi trắc nghiệm theo từng bài.
Tìm hiểu các phần mềm chuyên dụng khác phục vụ cho việc xây dựng
chương trình như: Windows Movie Maker, SnagIt, các chương trình xử lý
ảnh,…
Scan nội dung sách giáo khoa Vật lý 12 nâng cao.
Các bước để thực hiện một dự án trong Delphi.
III. PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN THỰC HIỆN ĐỀ
TÀI
1. Phương pháp
Nghiên cứu lý thuyết
Cách thức làm việc và quản lý dự án của Delphi trong môi trường
WINDOWS.
Thực hành và điều chỉnh: Đối với mỗi mục tiêu trong quá trình xây dựng
chương trình, sau khi đọc tài liệu phải bắt tay vào thực hiện mục tiêu
ngay, ban đầu chương trình chưa thỏa mãn được yêu cầu, thậm chí là sai
so với yêu cầu của mục tiêu, do đó bắt buộc tơi phải điều chỉnh liên tục
cho đến khi đạt mục tiêu đã đề ra.
2. Phương tiện
Máy vi tính.
Phần mềm cài đặt ngơn ngữ lập trình Delphi.
Máy Scan.
Và các phần mềm hỗ trợ khác.
IV. CÁC BƯỚC THỰC HIỆN ĐỀ TÀI
Đề tài được chia làm 3 giai đoạn:
Giai đoạn 1: Tham khảo tài liệu và thu thập dữ liệu.
Giai đoạn 2: Xây dựng một sản phẩm cụ thể.
Giai đoạn 3: Viết luận văn.
GVHD: VƯƠNG TẤN SĨ
Trang 3
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngôn ngữ Delphi
PHẦN NỘI DUNG
I. THỰC TRẠNG XUNG QUANH NỘI DUNG NGHIÊN CỨU
CỦA ĐỀ TÀI
1. Thực trạng xung việc sử dụng sách giáo khoa Vật lý
lớp 12 trong học sinh
Phần lớn học sinh chưa thích thú lắm trong việc đọc sách, nhìn vào việc giới
trẻ đang ngày càng xem máy vi tính là người bạn khơng thể thiếu của họ, nên tôi
đã cố gắng làm cho quyển sách giáo khoa trở nên dễ dàng tiếp cận hơn đối với
học sinh bằng cách xây dựng phần mềm học tập, giúp cho học sinh nghiên cứu
sách giáo khoa trực tiếp trên máy vi tính, đây cũng là một cách rèn luyện kỹ năng
tự học đối với học sinh.
2. Thực trạng xung quanh nội dung ngơn ngữ lập trình
Delphi
Dephi là một ngơn ngữ lập trình cấp cao, có trình biên dịch hồn hảo, hỗ trợ
mạnh về các kiểu dữ liệu có cấu trúc và thiết kế hướng đối tượng dựa trên nền
tảng ngơn ngữ lập trình hướng tới đối tượng (OOP: Object-Oriented
Programming) của Borland Pascal. Ngày nay, Delphi đã được phát triển thành
môi trường xây dựng ứng dụng nhanh RAD (Rapid Application Development).
Từ những cơng cụ của RAD, bạn có thể giải quyết những vấn đề phức tạp trong
quá trình phát triển phần mềm như: lập trình ứng dụng về cơ sở dữ liệu
(Database), lập trình mạng và Internet (Internet/Networking), lập trình
Multimedia (Animation, Sound) lập trình trị chơi (Game) cũng như đồ họa
(Graphic) hoặc lập trình hệ thống, v.v.. khơng những trên nền Windows mà còn
cho cả Linux và .NET.
Với khả năng mạnh như vậy của Dephi, tơi hồn tồn an tâm khi dùng nó để
triển khai các ứng dụng của. Điều cần quan tâm ở Dephi là một ngôn ngữ rất thân
thiện với người dùng, phù hợp cho những người bắt đầu làm quen với Delphi
cũng như những nhà lập trình chun nghiệp.
II. TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH DELPHI
1. Giới thiệu về ngơn ngữ lập trình Delphi
Tiền thân của Delphi chính là ngơn ngữ đối tượng Borland Pascal, và đến
ngày nay Delphi đã có một q trình phát triển vững mạnh từ phiên bản 1
(Delphi1) vào năm 1995, đến phiên bản 8 (Delphi for .NET) năm 2005. Tuy
nhiên đến thời điểm này thì Delphi 7 là phiên bản phù hợp nhất và dễ dùng nhất,
do đó tơi đã quyết định sử dụng Delphi 7 phục vụ cho công việc của mình.
GVHD: VƯƠNG TẤN SĨ
Trang 4
SVTH: NGƠ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngơn ngữ Delphi
2. Mơi trường phát triển thích hợp (IDE) của Delphi
Môi trường soạn thảo và thiết kế ứng dụng của Delphi 7 chia ra làm 5phần:
Cửa sổ chính của chương trình Delphi, cửa sổ thiết kế mẫu (Form Designer), cửa
sổ liệt kê các thành phần, đối tượng dạng cây (Object TreeView), cửa sổ thiết lập
thuộc tính đối tượng (Object Inspector), và cửa sổ soạn thảo mã lệnh (Code
Editor). Với mơi trường, bạn sẽ có một giao diện (Interface) để thiết kế (Design),
biên dịch (Compile) và sữa lỗi (Debug) dự án mà bạn đang phát triển.
1
3
2
4
5
Hình 1: Giao diện của dự án mới tạo trong Delphi 7
1: Cửa sổ chính của Delphi 7
2: Cửa sổ thiết kế biểu mẫu
3: Cửa sổ liệt kê các thành phần, đối tượng dạng cây.
4: Cửa sổ thiết lập thuộc tính thành phần, đối tượng.
5: Của sổ soạn thảo mã lệnh.
3. Cửa sổ chính của Delphi:
Cửa sổ chính của Delphi chính là cửa sổ có thanh tiêu đề chứa tên dự án
(Projeect name) mà bạn đang phát triển, nó bao gồm thực đơn chính (Main
menu), thanh công cụ (Toolbar) và bảng thành phần (Component palette).
GVHD: VƯƠNG TẤN SĨ
Trang 5
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngơn ngữ Delphi
4. Thanh thực đơn chính và thanh cơng cụ:
4.1. Thanh thực đơn chính:
Bao gồm các thực đơn thả xuống (drop-down-menu) như: File, Edit, Search,
View có nhiều chức năng khác nhau như: mở một dự án mới, lưu dự án, biên
dịch, sữa lỗi, chạy chương trình,…
Hình 2: Thanh thực đơn chính
4.2. Thanh cơng cụ (Toolbars):
Trong Delphi có nhiều thanh công cụ như: thanh công cụ chuẩn (Standard),
thanh sữa lỗi (Debug), thanh hiển thị (View)… Mỗi nút (Button) trên thanh công
cụ thường là một thao tác hay một mệnh lệnh mà khi ta Click vào nó sẽ thi hành,
ví dụ như: Biên dịch (Compile), chạy (Run) hoặc kết thúc chạy chương trình
(Program Reset),…
Hình 3: Các thanh cơng cụ
GVHD: VƯƠNG TẤN SĨ
Trang 6
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngôn ngữ Delphi
5. Bảng chứa các thành phần của Delphi (Component
Palette)
Thành phần (Component), hay được gọi là điều khiển, chính là đối tượng
có sẵn trong Delphi mà bạn có thể thao tác trên nó trong thời điểm thiết kế Form.
Có 2 loại thành phần, đó là phần trực quan (visual component): nhìn thấy khi
chạy chương trình, và thành phần khơng trực quan (nonvisual component), khơng
nhìn thấy khi chạy chương trình. Mỗi thành phần có một số tính chất riêng, và
được quản lý thơng qua các thuộc tính (Properties), sự kiện (Events) và các
phương thức (Methods). Các thuộc tính này giúp bạn có thể quản lý và điều
khiển chương trình của bạn. Khi bạn đặt một thành phần lên Form, thì nó sẽ xuất
hiện trong cửa sổ Object TreeView và Object Inspector (sẽ được trình bày ở
phần sau).
Trong bảng chứa thành phần có nhiều thẻ (tab) khác nhau, như thẻ
Standard, Addition, Win32, System, Data Access, ADO, Internet, Rave,
Server,… Trên mỗi thẻ chứa các biểu tượng (icon) đại diện cho các thành phần.
Hình 4: Bảng chứa các thành phần của thẻ Standard
GVHD: VƯƠNG TẤN SĨ
Trang 7
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngôn ngữ Delphi
6. Cửa sổ thiết kế biểu mẫu (Form Designer) và Cửa sổ
soạn thảo mã lệnh (Code Editor)
6.1. Cửa sổ thiết kế mẫu:
Khi bạn tạo một dự án mới, mơi trường phat triển thích hợp IDE của Dephi sẽ
tự tạo ra một biểu mẫu mới (Form) để bạn tùy nghi thiết lập các giá trị thuộc tính
dựa trên Properties, và các thủ tục dựa vào Events, được xác định trong Ojbect
Inspector, cho việc thiết kế chương trình. Trong hầu hết các trường hợp, một dự
án thường có ít nhất một Form. Cùng với các thành phần trên bảng thành phần,
bạn sẽ thiết kế được một giao diện cho chương trình mà bạn đang xây dựng là
thân thiện nhất cho người sử dụng.
Hình 5: Các Components trên Form (Label, Edit, Button, Memo)
Các giá trị của From và các giá trị của Component đặt trên Form được lưu
trong tập tin Form (Form file) và có phần mở rộng .dfm với phần tên được xác
định giống như phần tên của đơn vị chương trình Form. Tập tin Form này chứa
đựng các giá trị của Form cũng như các giá trị của các Component mà ta đặt trên
Form trong quá trình thiết kế.
Các Component: Frames, MainMemu, PopupMenu, Label, Edit,
Memo, Button,… trong thẻ Standard
GVHD: VƯƠNG TẤN SĨ
Trang 8
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngôn ngữ Delphi
6.2. Cửa sổ soạn thảo mã lệnh:
Mỗi một Form trong dự án được quản lý trong một tập tin đơn vị chương
trình (Unit file/Form unit), tên tập tin của Form Unit này đặt tên trong quá trình
lưu (save) và có phần mở rộng là .pas, nội dung của tập tin Form Unit này chứa
đựng các khai báo thông thường của Unit (sẽ đề cập chi tiết phần sau) cũng như
các hàm sự kiện tương ứng cho Form và các Component trên nó.
Hình 6: Cửa sổ soạn thảo mã lệnh cho Form unit có tên Unit1.Pas
Để chuyển đổi giữa cửa sổ soạn thảo mã lệnh với cửa sổ thiết kế biểu mẫu,
ta sử dụng chức năng View/Toggle Form/Unit từ main menu hoặc gõ phím chức
năng F12.
GVHD: VƯƠNG TẤN SĨ
Trang 9
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngơn ngữ Delphi
7. Cửa sổ thuộc tính và sự kiện của đối tượng (Object
Inspector)
Cửa sổ thuộc tính và sự kiện của đối tượng (Object Inspector)
Hình 7: Thẻ Properties và thẻ Events của cửa sổ Object Inspector.
Cửa sổ Object Inspector của Form hay Component đều có 2 thẻ:
Properties và Events. Thẻ Properties dùng để xác định các tính chất của đối
tượng nói chung (Form, Component) hiện hành một cách trực quan, chẳng hạn
như Caption, Name, Position, Visible,… thẻ Events dùng để lập trình sự kiện:
xác định những đáp ứng của đối tượng khi nhận các tác động từ chuột (Mouse)
hoặc bàn phím (Keyboard) như: nhắp chuột (OnClick), đóng cửa sổ (OnClose),
gõ phím Enter (OnEnter),… thơng qua các thủ tục sự kiện.
Khi thay đổi các giá trị trong thẻ Properties trong quá trình thiết kế, thì mã
lệnh tương ứng của đối tượng sẽ được thay đổi theo trong của sổ soạn thảo mã
lệnh.
GVHD: VƯƠNG TẤN SĨ
Trang 10
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngôn ngữ Delphi
8. Cửa sổ liệt kê các thành phần, đối tượng dạng cây
(Object TreeView)
Hình 8: Cửa sổ liệt kê các thành phần, đối tượng dạng cây trên Form.
Object TreeView liệt kê các thành phần trực quan và không trực quan mà
bạn đặt chúng trên Form hiện hành. Mỗi thời điểm chỉ có một Form duy nhất
được liệt kê.
GVHD: VƯƠNG TẤN SĨ
Trang 11
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngôn ngữ Delphi
9. Cấu trúc một dự án Delphi
9.1.
Tập tin dự án: (Dephi project file)
Hình 9: Tập tin dự án Project1.dpr
Khi bạn bắt đầu mở mới một chương trình ứng dụng bằng thao tác
File/New/Application, Dephi 7 sẽ tự động tạo ra một tập tin dự án có tên mặc
nhiên ban đầu là Project1. Khi bạn lưu dự án, Dephi sẽ lần lượt nhắc bạn đặc tên
cho các Form Unit và tên dự án. Ở ví dụ trên, Form Unit có tên là Unit1.pas và
tên dự án là Project1.dpr. Phần tên của tập tin dự án cũng chính là tên của
chương trình, được khai báo sau từ khóa Program.
Để hiển thị tập tin dự án, ta vào chức năng Project/View Source.
Mã lệnh nguồn (Source code) được Dephi tự động sinh ra trong tập tin dự
án bao gồm :
Tên chương trình, được khai báo bởi từ khóa Program, đây cũng
chính là tên chương trình ứng dụng (Application file).
Các câu lệnh chỉ dẫn tới các Form và các Unit được sử dụng trong
dự án được khai báo sau từ khóa uses.
GVHD: VƯƠNG TẤN SĨ
Trang 12
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngôn ngữ Delphi
Chỉ thị biên dịch {$*.res}: sử dụng các tập tin tài nguyên
(Resources).
Khối lệnh thân chương trình chính, băt đầu bởi từ khóa begin và kết thúc
là end.
Initialize: Khởi động chương trình ứng dụng.
CreateForm: Tạo form chính (Main form).
Run: Chạy chương trình ứng dụng.
Tập tin dự án là tập tin trung tâm của một dự án được triển khai bởi
Dephi. Tập tin này chứa đựng các tham khảo (Reference) tới tất cả các file khác
trong dự án và liên kết với các Form cũng như tập tin đơn vị (Unit file) kèm theo
của các Form. Khi chương trình được thi hành (Run, Execute), nó được bắt đầu
từ tập tin dự án này.
Tập tin này được tự động sinh ra, và như vậy, bạn không nên thay đổi nội
dung của nó ngoại trừ trong những trường hợp cần thiết.
Tập tin dự án được lưu với phần mở rộng .dpr.
9.2. Các tập tin chứa mã lệnh (Unit file)
Trong mỗi ứng dụng được viết bởi Dephi thường gồm có một tập tin dự án
(Project file) và nhiều tập tin đơn vị chương trình (Unit file). Cửa sổ soạn thảo
mã lệnh ở phần trên. Mỗi khi ta thêm vào mới Form (hoặc Data Module,
Frame,…) thì một tập tin Unit sẽ được tạo ra. Thông thường một dự án được
triển khai trong thực tế sẽ có nhiều tập tin unit này. Nội dung tập tin này chứa
đựng mã lệnh của chương trình và của các sự kiện điều khiển (Event handles)
trên Form cũng như trên các thành phần (Component) mà chúng được đặt trên
nó.
9.3. Các tập tin đặc tả biểu mẫu (Form file)
Nội dung của tập tin này xác định một cách chi tiết các tính chất hay thuộc
tính (Properties) của Form và tất cả các đối tượng (nói chung) lập trình viên đã
thiết kế. Tập tin này ln đi kèm với một tập tin unit file.
Form file được lưu với phần mở rộng là .dfm
Để hiển thị nội dung tập tin này, bạn RClick (click chuột phải) trên Form
rồi chọn View as Text.
Để chuyển đổi từ cách hiển thị dạng Text sang dạng Form, ta sử dụng
chức năng RClick chọn chức năng View as Form hay tổ hợp phím Alt+F12.
9.4. Các tập tin tài nguyên (Windows Resource File)
Tập tin này cũng được tự động sinh ra. Nội dung của nó chứa đựng các
thơng tin về phiên bản (Version) cũng như biểu tượng ứng dụng (application
icon) ở dạng mã nhị phân.
Tập tin này có phần mở rộng .res.
Ta có thể mở tập tin tài nguyên này ở chế độ thiết kế (Design) bằng
chương trình Image Editor được kèm theo bộ Dephi.
GVHD: VƯƠNG TẤN SĨ
Trang 13
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngôn ngữ Delphi
III. BẮT ĐẦU VỚI DELPHI 7
1. Bắt đầu dự án Chương trình Vật lý 12 nâng cao với
Delphi
o Khởi động Delphi ta vào Start| All Programs| Borland Delphi 7.
o Khi đó người dùng sẽ vào mơi trường làm việc của Delphi như hình sau:
2. Lưu dự án
Trước khi bắt đầu triển khai dự án, bạn nên lưu dự án vào một thư mục cụ
thể, khi cần lưu dự án thì ta có thể chọn các thao tác sau:
Chọn menu File| Save hoặc Click vào biểu tượng
hoặc dùng tổ hợp
phím Ctrl-S để lưu tập tin viết mã lệnh (*.pas).
Chọn menu File| Save As để lưu và đổi tên tập tin viết mã lệnh.
Chọn menu File| Save Project As để lưu và đặt tên cho tập tin dự án
(*.dpr).
Chọn menu File| Save All hoặc Click vào biểu tượng
hoặc dùng tổ hợp
phím Shift-Ctrl-S để lưu cả hai tập tin viết mã lệnh và tập tin dự án. Nếu
cả hai tập tin này chưa được đặt tên thì Delphi sẽ u cầu người dùng đặt
tên cho nó.
GVHD: VƯƠNG TẤN SĨ
Trang 14
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngơn ngữ Delphi
Thơng thường một dự án có nhiều tập tin, do đó ta phải tạo một thư mục
(Folder) để chứa dự án đó: dùng Windows Explorer, hoặc trong hộp “Save As”
Click vào nút “Create New Folder” để tạo thư mục. Trong quá trình thiết kế biểu
mẫu và viết mã lệnh thì chúng ta nhớ thường xuyên nhấn tổ hợp phím Shift-CtrlS để lưu tồn bộ chương trình.
3. Biên dịch và thực thi một dự án
3.1. Biên dịch chương trình
Khi đang thiết kế và viết mã lệnh người dùng có thể ra lệnh biên dịch
chương trình dùng để kiểm tra các lỗi phát sinh trong quá trình thực hiện bằng
cách chọn menu Project| Compile hoặc dùng tổ hợp phím Ctrl-F9. Nếu chương
trình có phát sinh lỗi thì trong cửa sổ viết mã lệnh xuất hiện một vệt sáng ngay
dòng có lỗi và bên dưới sẽ có thơng báo là lỗi gì. Nếu chương trình khơng có lỗi
xuất hiện thì trình biên dịch sẽ biên dịch chương trình chúng ta thiết kế thành một
tập tin thực thi (*.exe).
3.2. Thực thi một dự án
Khi chương trình đã hồn thành, chúng ta đã kiểm tra khơng cịn lỗi thì có
thể thực thi chương trình bằng cách chọn menu Run| Run hoặc Click vào biểu
tượng
hoặc dùng phím F9 để thực thi chương trình. Ngồi ra chúng ta cũng
có thể thi hành tập tin thực thi (*.exe) được tạo ra từ trình biên dịch.
3.3. Tạo một dự án mới
Để tạo một dự án mới, ta chọn File| New| Application thì một cửa sổ thiết
kế biểu mẫu và một cửa sổ viết mã lệnh mới sẽ xuất hiện để ta bắt đầu một
chương trình mới. Với thao tác này thì Delphi chưa lưu (Save) chương trình của
chúng ta chưa thực hiện.
Khi thiết kế biểu mẫu và viết mã lệnh nếu có nhu cầu chuyển qua lại giữ
phần thiết kế và phần viết mã lệnh thì người dùng nhấn phím F12 hoặc Click
chuột lên phần chúng ta muốn chọn.
GVHD: VƯƠNG TẤN SĨ
Trang 15
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngơn ngữ Delphi
Trong dự án người dùng có thể có nhiều Form, để thêm Form vào dự án,
người dùng sử dụng chức năng File| New| Form, lúc này người dùng sẽ có thêm 1
Form mới trong dự án, đi kèm với nó là một tập tin (*.pas). Để chọn 1 Form nào
đó trong số các Form làm Form chính, người dùng sử dụng chức năng Project|
Options| Forms như hình sau:
4. Bắt đầu dự án “Chương trình Vật lý lớp 12 nâng
cao” với Delphi
4.1. Xây dựng mơ hình cho chương trình
Chương trình gồm 148 Form:
1 Form chính.
10 Form chương: tương ứng với 10 chương trong sách giáo khoa.
61 Form bài: tương ứng với 61 bài trong sách giáo khoa.
61 Form trắc nghiệm: trương ứng với 61 bài học.
1 Form ghi chú: dùng để ghi lại những lưu ý trong quá trình học.
1 Form đồng hồ: dùng để đếm ngược thời gian khi làm trắc nghiệm.
13 Form tiểu sử: dùng để giới thiệu các nhà khoa học.
GVHD: VƯƠNG TẤN SĨ
Trang 16
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngơn ngữ Delphi
Mơ hình được thể hiện trên sơ đồ cấu trúc sau:
Form chính
Form chương 1
Form chương 2
Form bài 1
Form trắc nghiệm bài 2
Form bài 3
Form chương 10
Form trắc nghiệm bài 1
Form bài 2
…
Form trắc nghiệm bài 3
Form đồng hồ
Form ghi chú
Form bài 4
Form trắc nghiệm bài 4
13 Form tiểu sử
Form bài 5
Form trắc nghiệm bài 5
GVHD: VƯƠNG TẤN SĨ
Trang 17
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
4.2.
Chương trình Vật lý 12 NC viết bằng ngôn ngữ Delphi
Tiến hành xây dựng Form
Chọn File| New Form từ trình đơn. Lưu tập tin chứa Form với tên *.pas.
Đặt lên Form các thành phần đối tượng VCL với các thuộc tính và phương
thức xử lý tình huống như sau:
Đối tượng
TFORM
TPANEL
TIMAGE
TSAVEDIALOG
TSPEEDBUTTON
TPOPUPMENU
TMENUITEM
…
GVHD: VƯƠNG TẤN SĨ
Thuộc tính
Name
Caption
BroderStyle
PopupMenu
Position
OnCreate
Name
BorderStyle
Color
Name
Stretch
Picture
OnMouseDown
OnMouseMove
OnMouseUp
Name
Name
Caption
Cursor
Font.Color
Font.Size
Style
Glyph
Layout
Transparent
OnClick
Name
Name
OnClick
…
Trang 18
Giá trị
Formbai1
Formbai1
bsDialog
PopupMenuchonmau
poDesktopCenter
FormCreate
Panel1
bsSingle
clNone
Imagehienthi
True
(Tbitmap)
ImagehienthiMouseDown
ImagehienthiMouseMove
ImagehienthiMouseUps
Savedialog
SpeedbuttonSave
Save
csHandPoint
Green
9
fsBold
(Tbitmap)
blGraphTop
True
SpeedbuttonSaveClick
PopupMenuchonmau
Blue
BlueClick
…
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngôn ngữ Delphi
Sau khi đã đặt lên Form các thành phần VCL chúng ta sẽ sắp xếp chúng
vào các vị trí trên Form như hình sau:
TSaveDialog
TPopupMenu
TLabel
TImage
TPanel
TTimer
TSpeedButton
Hình ảnh Form lúc thiết kế
GVHD: VƯƠNG TẤN SĨ
Trang 19
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngôn ngữ Delphi
Sau khi thiết kế Form và viết mã lệnh (Code) cho Form chúng ta sẽ được
giao diện lúc thực thi chương trình là:
Khi khởi tạo màu nền mặc định của Form là màu xám (clMenuBar), để
thay đổi màu nền cho Form chúng ta có thể sử dụng đối tượng TpopupMenu
trên thẻ Standard, sau khi nhúng vào Form và đặt tên (Name) cho đối tượng
TpopupMenu chúng ta vào Opject InSpector| Properties| Items để đặt các Items
ứng với các màu nền khác nhau
InSpector| Properties|
Các Items trong TPopupMenu
Items
Hình ảnh Form lúc thực thi (Run) chương trình
Để thực hiện đổi màu người dùng kích chuột phải lên Form (Rclick) sau
đó chọn một trong các màu nền đã được lập trình sẵn như hình:
RClick chọn màu nền cho Form
Ví dụ người dùng chọn màu xanh (Blue) thì nền của Form sẽ đổi thành
màu xanh ngay sau khi người dùng kích chuột vào Items Blue như trên hình. Để
thực hiện điều đó, chúng ta có thể viết Code tình huống (Events) OnClick của
Items Blue như sau:
procedure TFormbai1.BlueClick(Sender: TObject);
begin
GVHD: VƯƠNG TẤN SĨ
Trang 20
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngôn ngữ Delphi
formbai1.Color:=clblue;
end;
Khi khởi tạo nếu chưa muốn vào bài học ngay thì người dùng có thể thư
giãn bằng các hình ảnh được lập trình sẵn sẽ thay đổi sau mỗi 5 giây như hình:
Các hình ảnh sẽ thay đổi sau mỗi 5 giây
Để thực hiện điều này chúng ta có thể sử dụng kết hợp các đối tượng
Timage và đối tượng Ttimer:
Để định thời gian cho đối tượng Ttimer chúng ta sử dụng thuộc tính
Interval như hình:
Thuộc tính của đối tượng TTimer
GVHD: VƯƠNG TẤN SĨ
Trang 21
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngơn ngữ Delphi
Để tải (Load) hình từ đĩa vào đối tượng Timage ta kích chọn đối tượng này sau
đó vào Object Inspector| Properties| Picture và thực hiện theo đường dẫn của
Delphi, q trình đó được mơ tả như hình theo các bước sau:
Click vào đây
Click vào nút “Load”
Chọn ảnh cần Load, sau đó Click “Open”
GVHD: VƯƠNG TẤN SĨ
Trang 22
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngôn ngữ Delphi
Click vào “Load”
Làm tương tự chúng ta Load ảnh cho 10 Timage
Ta cũng làm tương tự để Load nội dung các trang sách lên chương trình.
GVHD: VƯƠNG TẤN SĨ
Trang 23
SVTH: NGÔ MINH HẢI
Luận văn tốt nghiệp
Chương trình Vật lý 12 NC viết bằng ngôn ngữ Delphi
Sau khi Load ảnh và đặt các thuộc tính cho các TTimer xong chúng ta sẽ
viết Code cho chúng như sau:
{Xử lý tình huống sau 5 giây}
procedure TFormbai1.Timerl1Timer(Sender: TObject);
begin
Imageslideshow.Picture:=Imagel1.Picture; //thay đổi hình ảnh sau 5
giây
Timerl1.Enabled:=False; //Tắt đối tượng Timerl1
Timerl2.Enabled:=True; //Kích hoạt đối tượng Timerl2
end;
Làm tương tự cho các đối tượng còn lại.
Khi rê chuột vào đối tượng Tlabel có Caption là “Xem hình đúng cỡ” thì người
dùng sẽ xem được Size gốc của ảnh:
Ảnh hiển thị đúng Size ở trang bên
Để thực hiện điều đó chúng ta viết Code cho sự kiện OnMouseMove của đối
tượng Tlabel như sau:
{Xử lý tình huống khi người dùng muốn xem ảnh đúng Size gốc}
procedure TFormbai1.Labelphongto1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
Imagehienthi.Visible:=False; //Giấu hình ảnh hiện tại
Labelphongto2.Visible:=True; //Làm nổi chử báo hiệu đang ở chế độ
xem ảnh đúng size
Imagephongto.Picture:=Imageslideshow.Picture; //Gáng ảnh gốc
cho đối tượng Imageslideshow
Imagephongto.Visible:=True; //Hiện ảnh gốc
end;
GVHD: VƯƠNG TẤN SĨ
Trang 24
SVTH: NGÔ MINH HẢI