1. Trang chủ
  2. » Luận Văn - Báo Cáo

CHƯƠNG TRÌNH VẬT LÝ LỚP 12 NÂNG CAO NGÔN NGỮ LẬP TRÌNH DELPHI

62 935 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề 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
Tác giả Ngô Minh Hải, Hồ Hữu Hậu, Dương Bích Thảo
Người hướng dẫn GV Hướng Dẫn: Vương Tấn Sĩ
Trường học Trường Đại Học Cần Thơ
Chuyên ngành Vật Lý
Thể loại Luận Văn Tốt Nghiệp
Năm xuất bản 2009
Thành phố Cần Thơ
Định dạng
Số trang 62
Dung lượng 1,74 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

CHƯƠNG TRÌNH VẬT LÝ LỚP 12 NÂNG CAO NGÔN NGỮ LẬP TRÌNH DELPHI

Trang 1

BỘ MÔN VẬT LÝ



LUẬN VĂN TỐT NGHIỆP

GV hướng dẫn: VƯƠNG TẤN SĨ SV thực hiện: NGÔ MINH HẢI

DƯƠNG BÍCH THẢO

CẦN THƠ, 04-2009

Trang 2

GVHD: VƯƠNG TẤN SĨ Trang 1 SVTH: NGÔ MINH HẢI

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 nguyên… 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 nguyên 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ý, Hoá, 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 ngoà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

Trang 3

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ệncô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 hoà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 ngoài kiến thức chuyên 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 chuyên 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

Trang 4

GVHD: VƯƠNG TẤN SĨ Trang 3 SVTH: NGÔ MINH HẢI

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

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

Trang 5

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 hoà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òncho cả Linux và NET

Với khả năng mạnh như vậy của Dephi, tôi hoàn toà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 Delphicũng như những nhà lập trình chuyên 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 quá 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

Trang 6

GVHD: VƯƠNG TẤN SĨ Trang 5 SVTH: NGÔ MINH HẢI

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

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 72: Cửa sổ thiết kế biểu mẫu3: 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)

1

2

4

53

Trang 7

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ụ

Trang 8

GVHD: VƯƠNG TẤN SĨ Trang 7 SVTH: NGÔ MINH HẢI

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

Trang 9

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

Trang 10

GVHD: VƯƠNG TẤN SĨ Trang 9 SVTH: NGÔ MINH HẢI

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.

Trang 11

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

Trang 12

GVHD: VƯƠNG TẤN SĨ Trang 11 SVTH: NGÔ MINH HẢI

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ê

Trang 13

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.

Trang 14

GVHD: VƯƠNG TẤN SĨ Trang 13 SVTH: NGÔ MINH HẢI

 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 luôn đ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

Trang 15

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

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:

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)

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ẽ yêu cầu người dùng đặt tên cho nó

Trang 16

GVHD: VƯƠNG TẤN SĨ Trang 15 SVTH: NGÔ MINH HẢI

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-Ctrl-

S để lưu toà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 đã hoà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

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

Trang 17

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

Trang 18

GVHD: VƯƠNG TẤN SĨ Trang 17 SVTH: NGÔ MINH HẢI

Mô hình được thể hiện trên sơ đồ cấu trúc sau:

Form chính

Form trắc nghiệm bài 1Form trắc nghiệm bài 2

Form trắc nghiệm bài 3

Form trắc nghiệm bài 4

Form trắc nghiệm bài 5

Trang 19

4.2 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:

CaptionBroderStylePopupMenuPosition

OnCreate

Formbai1Formbai1bsDialogPopupMenuchonmaupoDesktopCenter

FormCreate

BorderStyleColor

Panel1bsSingleclNone

StretchPicture

OnMouseDown OnMouseMove OnMouseUp

ImagehienthiTrue

(Tbitmap)

ImagehienthiMouseDown ImagehienthiMouseMove ImagehienthiMouseUps

CaptionCursorFont.ColorFont.SizeStyleGlyphLayoutTransparent

OnClick

SpeedbuttonSaveSave

csHandPointGreen9fsBold(Tbitmap)blGraphTopTrue

Trang 20

GVHD: VƯƠNG TẤN SĨ Trang 19 SVTH: NGÔ MINH HẢI

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:

TLabel

TImage

TPanel

TSpeedButtonTTimer

TPopupMenuTSaveDialog

Hình ảnh Form lúc thiết kế

Trang 21

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), để

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

Để 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:

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

RClick chọn màu nền cho Form

InSpector| Properties|

Hình ảnh Form lúc thực thi (Run) chương trình

Trang 22

GVHD: VƯƠNG TẤN SĨ Trang 21 SVTH: NGÔ MINH HẢI

Các hình ảnh sẽ thay đổi sau mỗi 5 giây

Thuộc tính của đối tượng TTimer

Trang 23

Để 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, quá trình đó được mô tả như hình theo các bước sau:

Click vào đây

Chọn ảnh cần Load, sau đó Click “Open”

Click vào nút “Load”

Trang 24

GVHD: VƯƠNG TẤN SĨ Trang 23 SVTH: NGÔ MINH HẢI

Ta cũng làm tương tự để Load nội dung các trang sách lên chương trình

Làm tương tự chúng ta Load ảnh cho 10 Timage

Click vào “Load”

Trang 25

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:

Để 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ế độ

Trang 26

GVHD: VƯƠNG TẤN SĨ Trang 25 SVTH: NGƠ MINH HẢI

Để cập nhật thời gian của hệ thống (System) và cho hiển thị lên màn hình

cho tình huống OnCreate của Form như sau:

procedure TFormbai1.TimerthoigianTimer(Sender: TObject);

begin

Labelthoigian.Caption:='Bây giờ là: '+TimeToStr(Now()); //Cập

nhật thời gian của hệ thống và cho hiển thị trên Form

end;

Để hiển thị các Form bằng các TspeedButton chúng ta cĩ thể viết Code như sau:

{Xử lý tình huống khi người dùng kích chuột vào nút trắc nghiệm}

procedure TFormbai1.SpeedButtontracnghiemClick(Sender: TObject); begin

Form1.Hide;//Ẩn Form chính

Formbai1.Hide; //Ẩn Form bài

Formtnbai1.show;//Hiện Form trắc nghiệm

end;

Đoạn Code trên viết cho TspeedButton cĩ Properties| Name là

SpeedButtontracnghiem và cĩ sự kiện (Events) là OnClick, chúng ta làm tương

tự cho các TspeedButton cịn lại

Bắt đầu vào nội dung bài học:

Để mở các trang sách người dùng kích chuột vào SpeedButton “Mở” thì các trang sách hiện ra ở dạng thu nhỏ

Trang 27

Chúng ta cĩ thể sử dụng đoạn Code sau cho tình huống trên:

{Xử lý tình huống khi người dùng kích chuột vào nút mở sách}

procedure TFormbai1.SpeedButtonmoClick(Sender: TObject);

begin

//Kiểm tra sách cĩ đang ở trạng thái mở hay khơng

If speedbuttonmo.Down then //Nếu sách mở

Speedbuttonmo.Caption:='Mở'; //Dổi Caption

Imagesachmo.Visible:=False; //Giấu hình ảnh sách mở (hiện ảnh sách

đĩng)

Paneltrangsach.Visible:=False; //Giấu các trang sách đi

Panelshow.Visible:=False; //Vơ hiệu hĩa khả năng View của trang sách

end;

end;

Để đọc lướt qua các trang người dùng chỉ cần rê chuột đến trang muốn xem, hình ảnh phĩng to của trang đĩ sẽ hiện ở bên cạnh:

Trang 28

GVHD: VƯƠNG TẤN SĨ Trang 27 SVTH: NGÔ MINH HẢI

Để thực hiện điều đó chúng ta có thể viết Code như sau:

{Xử lý tình huống khi người dùng rê chuột vào các trang sách khi sách đang ở trạng thái mở}

procedure TFormbai1.trang1MouseMove(Sender: TObject; Shift:

TShiftState; X,

Y: Integer);

begin

Imagehienthi.Visible:=False; //Giấu trang đang hiển thị

Imageshow.Picture:=trang1.Picture; //Gán trang đang được rê chuột cho

{Xử lý tình huống khi người dùng rê chuột ngoài các trang sách}

procedure TFormbai1.PaneltrangsachMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin

Imagehienthi.Visible:=True; //Xuất hiện lại trang hiển thị

Panelshow.Visible:=False; //Giấu trang View

end;

Nếu người dùng muốn nghiên cứu, đánh dấu (Highlight), ghi chú (Take Note) đối với trang nào thì Click vào trang đó, người dùng sẽ có được trang được chọn ở trên Form như hình:

Trang 2 đã được chọn

Trang 29

Ngay lập tức “Trang 2” bị đổi màu, đồng thời vị trí trang 2 trống, thông báo với người dùng rằng trang 2 đã được chọn, khi Click chọn trang khác thì trang 2 sẽ được trả về vị trí cũ, chúng ta có thể viết Code cho tình huống trên như sau:

{Khi người dùng kích chuột vào các Imagetrang}

procedure TFormbai1.trang1Click(Sender: TObject);

//Kiểm tra xem trước đó trang nào đang được mở để thu về

If trang2.Visible = false then

Trang 30

GVHD: VƯƠNG TẤN SĨ Trang 29 SVTH: NGÔ MINH HẢI

Đoạn Code trên được viết cho Timage có Properties| Name là trang1 với Events là OnClick chúng ta làm tương tự cho các đối tượng còn lại

Sau khi chọn trang, nếu muốn chúng ta có thể đóng sách lại bằng thao tác Click vào SpeddButton “Đóng” và bắt đầu làm việc trên trang đã được chọn với các tiện ích đã được lập trình sẵn như sau:

Phóng to, thu nhỏ trang sách bằng cách Click vào hai SpeedButton

Chúng ta có thể viết code cho hai đối tượng này như sau;

{Xử lý tình huống khi người dùng kích chuột vào nút phóng to}

procedure TFormbai1.SpeedButtonZoomOutClick(Sender: TObject); begin

Imagehienthi.ClientHeight:=Imagehienthi.Height+20; //Chiều cao

khung hình tăng thêm 20 pixel

Trang 31

Trong trường hợp người dùng cần Highlight lên trang sách, người dùng có thể thao tác như sau:

chương trình sẽ hiển thị 1 hộp thoại nhắc nhở người dùng chọn màu cần Highlight như hình:

Chúng ta có thể viết Code cho tình huống trên như sau:

{Xử lý tình huống khi chế độ Highlight được bật}

procedure TFormbai1.SpeedButtonPenClick(Sender: TObject);

begin //Kiểm tra điều kiện chế độ Highlight đang bật hay tắt

If SpeedButtonPen.Down then

//Nếu bật

begin

Panelmangche.Hide; //Hiện bảng màu RGB

Imagehienthi.Cursor:=crCross; //Đổi trạng thái chuột sang “Cross” Imagehienthi.Enabled:=True; //Cho can thiệp vào vùng Higlight

Imagehienthi.AutoSize:=True; //Trả hình ảnh hiển thị về đúng SIZE gốc

(bắt buộc để cho việc Highlight chính xác)

Speedbuttonzoomout.Enabled:=False; //Vô hiệu hóa nút phóng to và thu

Ngày đăng: 05/11/2013, 13:02

HÌNH ẢNH LIÊN QUAN

Hình 1: Giao diện của dự án mới tạo trong Delphi 7 - CHƯƠNG TRÌNH VẬT LÝ LỚP 12 NÂNG CAO NGÔN NGỮ LẬP TRÌNH DELPHI
Hình 1 Giao diện của dự án mới tạo trong Delphi 7 (Trang 6)
Hình 2: Thanh thực đơn chính - CHƯƠNG TRÌNH VẬT LÝ LỚP 12 NÂNG CAO NGÔN NGỮ LẬP TRÌNH DELPHI
Hình 2 Thanh thực đơn chính (Trang 7)
5. Bảng chứa các thành phần của Delphi (Component  Palette) - CHƯƠNG TRÌNH VẬT LÝ LỚP 12 NÂNG CAO NGÔN NGỮ LẬP TRÌNH DELPHI
5. Bảng chứa các thành phần của Delphi (Component Palette) (Trang 8)
Hình 5: Các Components trên Form (Label, Edit, Button, Memo) - CHƯƠNG TRÌNH VẬT LÝ LỚP 12 NÂNG CAO NGÔN NGỮ LẬP TRÌNH DELPHI
Hình 5 Các Components trên Form (Label, Edit, Button, Memo) (Trang 9)
Hình 6: Cửa sổ soạn thảo mã lệnh cho Form unit có tên Unit1.Pas - CHƯƠNG TRÌNH VẬT LÝ LỚP 12 NÂNG CAO NGÔN NGỮ LẬP TRÌNH DELPHI
Hình 6 Cửa sổ soạn thảo mã lệnh cho Form unit có tên Unit1.Pas (Trang 10)
Hình 7: Thẻ Properties và thẻ Events của cửa sổ Object Inspector. - CHƯƠNG TRÌNH VẬT LÝ LỚP 12 NÂNG CAO NGÔN NGỮ LẬP TRÌNH DELPHI
Hình 7 Thẻ Properties và thẻ Events của cửa sổ Object Inspector (Trang 11)
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. - CHƯƠNG TRÌNH VẬT LÝ LỚP 12 NÂNG CAO NGÔN NGỮ LẬP TRÌNH DELPHI
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 (Trang 12)
Hình 9: Tập tin dự án Project1.dpr - CHƯƠNG TRÌNH VẬT LÝ LỚP 12 NÂNG CAO NGÔN NGỮ LẬP TRÌNH DELPHI
Hình 9 Tập tin dự án Project1.dpr (Trang 13)
Hình ảnh Form lúc thiết kế - CHƯƠNG TRÌNH VẬT LÝ LỚP 12 NÂNG CAO NGÔN NGỮ LẬP TRÌNH DELPHI
nh ảnh Form lúc thiết kế (Trang 20)
Hình ảnh Form lúc thực thi (Run) chương trình - CHƯƠNG TRÌNH VẬT LÝ LỚP 12 NÂNG CAO NGÔN NGỮ LẬP TRÌNH DELPHI
nh ảnh Form lúc thực thi (Run) chương trình (Trang 21)
Hình  xuất phát từ đặc điểm màu chữ là màu đen do - CHƯƠNG TRÌNH VẬT LÝ LỚP 12 NÂNG CAO NGÔN NGỮ LẬP TRÌNH DELPHI
nh xuất phát từ đặc điểm màu chữ là màu đen do (Trang 32)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w