1. Trang chủ
  2. » Trung học cơ sở - phổ thông

tai lieu lap trinh delphipascal

76 68 0

Đ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 đề Tài Liệu Cơ Bản Về Delphi XE8
Tác giả Lương Quốc Vinh
Trường học ĐHCT
Thể loại Tài Liệu
Định dạng
Số trang 76
Dung lượng 14,2 MB

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

Nội dung

Lệnh này thường dùng để thông báo một câu ngắn nào đó, hoặc thể hiện kết quả trung gian chẳng hạn như: kết quả tính toán của biểu thức, nội dung chứa trong biến,… mà ta cần xem, kết quả [r]

Trang 1

Lời nói đầu

Có khi nào bạn từng hỏi học Pascal sẽ làm được gì không?

Một chương trình Pascal có thể chạy được trên nhiều loại hệ điều hành(WIN, IOS, ANDROID,…) không?

Mình có thể tạo ra ứng dụng trên điện thoại cảm ứng bằng pascal không?

Và …

Tại sao lại không chứ!!! Pascal không chỉ để học cho biết đâu mà còngiúp các bạn có kiến thức cơ bản để tạo ra ứng dụng trên các thiết bị chạy hệđiều hành Windows, Android, IOS, OX S (Mac), thông qua ngôn ngữ lập trìnhDelphi (còn gọi là ngôn ngữ lập trình Pascal hướng đối tượng)

Tại sao mình không dùng kiến thức Pascal đã học để tạo ra ứng dụng cho điện thoại cảm ứng của mình!!!!!!!!!! Cố lên nghe bạn….

Chúng ta cùng nhau tìm hiểu về Delphi XE8 trong những phần dưới

đây

Trang 2

BIÊN SOẠN LƯƠNG QUỐC VINH

Trang 3

Mục lục

0 tài liệu tham khảo

1 Giới thiệu khái quát về Delphi XE8

1.1 Màn hình làm việc

1.2 Thao tác bắt đầu tạo chương trình cho máy vi tính (PC, laptop có HĐH windows) hoặc điện thoại cảm ứng (iOS, android)

2 cấu trúc chương trình

3.a các kiểu dữ liệu đơn giản

3.b các kiểu dữ liệu phức tạp hơn

4 các phép toán dùng cho các kiểu dữ liệu đơn giản

5 các hàm-thủ tục dùng cho các kiểu dữ liệu đơn giản

6 xuất-nhập dữ liệu thông quan bàn phím, chuột, màn hình

7 các loại đối tượng thường dùng

7.1 giới thiệu các thuộc tính và phương thức của từng loại

7.2 ví dụ áp dụng

7.2.1 áp dụng đơn lẻ hoặc kết hợp ít loại đối tượng

7.2.2 áp dụng kết hợp nhiều loại đối tượng

8 Một số loại hiệu ứng

8.1 giới thiệu vài loại hiệu ứng thường dùng

8.2 áp dụng hiệu ứng

9 Tạo đối tượng trong khi chương trình đang chạy (tạo đối tượng bằng câu lệnh)

10 Làm việc với máy in

Trang 4

0 TÀI LIỆU THAM KHẢO

1 Giáo trình lí thuyết và bài tập Borland Delphi-NXB GD 2000

2 Help offline của Delphi XE8 (chủ yếu là tài liệu này)

3 Sưu tầm một ít từ internet

4 Giáo trình lí thuyết và bài tập của ĐHCT

Trang 5

1 GIỚI THIỆU KHÁI QUÁT DELPHI XE8

1.1 Màn hình làm việc

1.1.1 Màn hình làm việc khi không trực tuyến:

H1

1.1.2 Màn hình làm việc khi trực tuyến:

Chỉ khác với màn hình làm việc không trực tuyến tại phần giữa sẽ có nội dungcác tệp đã làm việc gần đây, …

Trang 6

B2 Nháy chuột vào Blank Application -> ok

H4Sau đó sẽ có kết quả tương tự sau:

H5 Màn hình làm việc với ứng dụng

* với các bước làm trên ta sẽ bắt đầu tạo ứng dụng cho win.

* tạo ứng dụng cho ios làm tương tự như với android.

* nếu muốn tạo ứng dụng cho android thì làm thêm các thao tác sau: B3 Trên điện thoại thì ta làm các thao tác:

- gắn dây cáp usb giữa máy tính và điện thoại

- kết nối usb chọn loại MTP

- vào cài đặt -> thông tin thiết bị (máy điện thoại) -> chọn nhiều lần liên tiếpvào ‘số hiệu bản tạo’, nếu máy tiếng anh thì xem hàng dưới:

(settings -> about device -> build number, nháy liên tục nhiều lần vào buildnumber, có thể là chữ khác tùy vào nhà sản xuất)

- trở ra cài đặt -> cài đặt cho người phát triển -> bật ‘on’ cho cài đặt cho ngườiphát triển -> đánh dấu chọn cho chế độ usb debug, nếu máy tiếng anh thì xem hàngdưới:

Trang 7

(trở ra settings -> developer options -> developer options chọn ‘on’ -> đánhdấu vào usb debugging).

B4 Trên máy tính windows phải cài đặt driver hoặc chương trình hỗ trợ phù

hợp tùy theo điện thoại của hảng nào

Vd: MoboMarket For Android, MoboRobo, samsung kies, (bản thân cácchương trình này cũng có hướng dẫn kết nối đtdđ với máy tính)

Tải moboMarket http://taimienphi.vn/download-mobomarket-19511

Các tính năng chính của Moborobo: (theo

http://taimienphi.vn/download-moborobo-16068)

- Kết nối máy tính với điện thoại, máy tính bảng

- Quản lý dữ liệu trên Android, iPhone, iPad

- Chuyển danh bạ giữa các thiết bị

- Tải các tiện ích, nhạc, ảnh, video về điện thoại

- Gửi tin nhắn từ máy tính

- Sao lưu và phục hồi dữ liệu

B5 Mở delphi và chọn android theo hình dưới:

B6 Nếu kết nối thành công thì xuất hiện tên của điện thoại trong danh sách

(hai máy avd có dấu x đỏ nghĩa là không kết nối được, sm-j100h kết nối tốt)

Mời các bạn xem hình kết nối thành công ở dưới

Chúc các bạn kết nối thành công, cố gắn lên sẽ được mà…………

Lưu ý:

-Tốc độ chạy chương trình phụ thuộc vào từng loại máy tính và loại ĐTDĐ-Nếu kết nối chưa thành công thì ta làm lại b3 vài lần và nháy chuột vào

Trang 8

Kết nối bằng moboMarket for android, điện thoại phải cài thêm mobomarketcho android, hình minh họa sau khi đã kết nối với điện thoại:

Trang 9

Kết nối bằng samsung kies3

1.3 Màn hình làm việc với ứng dụng có các nội dung:

- Thanh tiêu đề (title)

- Thanh bảng chọn (menu)

- Các thanh công cụ (toolbar)

Một số thanh công cụ quan trọng:

nháy chuột vào view -> toolbars –> đánh dấu vào các tên:

chứa các đối tượng có sẵn của delphi

Lưu ý: ô search cho phép gõ tên đối tượng mà ta cần sử dụng, sẽ xuất hiệnliền ví dụ: cần tìm button (không cần gõ đủ chữ button)

Trang 10

Thanh platform device selection:

Chứa hai nút lệnh: thứ nhất là chọn loại hệ điều hành cho ứng dụng, thứ hai làchọn thiết bị đã kết nối thành công với delphi

- Cấu trúc của biểu mẫu (form)

Chế độ thiết kế Chế độ viết lệnh

-Cho biết các đối tượng có trong form

-muốn đi nhanh đến đối tượng nào

thì ta nháy đôi vào tên của đối tượng

đó

-cho biết: thông báo lỗi, các lớp, các biến, các hằng, các thư viện đã khai báo

-muốn đi nhanh đến nội dung nào thì

ta nháy đôi vào tên của nội dung đó

- Danh sách thuộc tính (properties), sự kiện (events) của từng đối tượng

thuộc tính (properties) sự kiện (events)

Trang 11

- Vùng thiết kế biểu mẫu, viết câu lệnh

(chuyển đổi bằng phím F12 hoặc nháy vào nút lệnh code, design ở phía dưới).Chế độ thiết kế <-> Chế độ viết câu lệnh

ở hàngcuốiLưu ý: có chữ modified nghĩa là bạn chưa lưu hoặc chưa lưu thêm nội dung mới

- Vùng cho biết các tệp (file) có trong dự án (project)

- Vùng để chọn các đối tượng (object) cho vào biểu mẫu.

Lưu ý: ô giúp ta tìm nhanh đối tượng cần dùng

Ví dụ: tìm label

Trang 12

2 CẤU TRÚC CHƯƠNG TRÌNH 2.1 Cấu trúc chung của một ứng dụng:

Minh họa:

1 dự án có:

1 tệp.dpr

1 tệp dprojMột hoặc nhiều tệp pas (1 pas <-> 1 thư viện)Nhiều tệp còn lại, và một hoặc vài thư mục (nếu có)

-Tệp.pas có thể có nhiều tệp này, chứa chi tiết các lệnh của từng unit, có hai

chế độ làm việc với tệp này đó là: chế độ viết lệnh và chế độ thiết kế (đã có hình minhhọa ở phần ‘vùng thiết kế, viết lệnh’)

-Các loại tệp còn lại ta bỏ qua nhe (. )

Trang 13

2.2 Cấu trúc unit

Phần Unit: cho biết tên của unit, tên này trùng với tên tập tin chứa unit Nếumột dự án có nhiều unit thì tên mỗi unit phải khác nhau, không thể trùng tên cho dùcác unit lưu ở các thư mục khác nhau

Gồm hai phần lớn phía dưới là: interface và implementation

2.2.1 Viết ghi chú/chú thích trong delphi có hai loại:

-Có vai trò quan trọng khi làm các chương trình có nhiều hàng lệnh

- Ghi chú chỉ có một hàng có dạng:

// nội dung ghi chú

- Ghi chú có nhiều hàng có dạng:

{nội dung hàng thứ nhấtnội dung hàng thứ 2

…nội dung hàng thứ n}

- Lưu ý: phần màu đỏ là bắt buộc có, không thay đổi, phần màu đen thay đổitùy theo nhu cầu

Lưu ý: muốn biết đối tượng thuộc thư viện nào thì ta đặt chuột ngay đối tương

đó trong Tool palette (ở chế độ thiết kế) và nhìn vào hàng unit trong cửa sổ tắt xuấthiện

Nội dung phần này viết theo dạng sau:

Uses tên-thư-viện-1, tên-thư-viện-2,…, tên-thư-viện-n ;

- Lưu ý: phần màu đỏ là bắt buộc có, không thay đổi, phần màu đen thay đổitùy theo nhu cầu

Trong khung trên:

Trang 14

Tên-thư-viện-1, tên-thư-viện-2,… là tên của các thư viện có sẵn trong delphihoặc của người viết chương trình đã tạo, tên mỗi thư viện có thể xuống hàng để dễnhìn.

Type

Khai báo các kiểu do người dùng định nghĩa hoặc do delphi tự sinh ra(vd:Tform1), có phạm vi sử dụng (mặc định/ngầm hiểu) là cả dự án, nghĩa là các unitkhác vẫn dùng được nó đó nghe

Nội dung phần này viết theo dạng:

Type

Tên-kiểu-dữ-liệu = kiểu-dữ-liệu ;

- Lưu ý: phần màu đỏ là bắt buộc có, không thay đổi, phần màu đen thay đổitùy theo nhu cầu

- Trong khung trên:

Tên-kiểu-dữ-liệu là do người viết chương trình tự đặt theo đúng qui địnhđặt tên của delphi (xem qui tắc đặt tên ở phần 2.3 bên dưới)

Kiểu-dữ-liệu là một trong những kiểu dữ liệu của delphi, hoặc của ngườidùng đã định nghĩa

Lúc này, ta viết như sau:

Type Tnguyên = byte;

Var

Khai báo các biến cần sử dụng, có phạm vi sử dụng (mặc định/ngầm hiểu) là cả

dự án (toàn cục), nghĩa là các unit khác vẫn có thể dùng các tên biến này mà khôngcần khai báo lại, thuận lợi cho việc truyền dữ liệu giữa các unit đó mà

Ví dụ: giả sử chương trình trắc nghiệm có 2 unit là: InNoiDung và PhongTo.Chúng cần truyền nội dung qua lại với nhau, nên ta khai báo biến toàn cục có tên làNoiDung trong unit InNoiDung thì qua unit PhongTo chỉ cần khai báo tên unit innoidungtrong phần uses, không cần khai báo biến này trong phần var (khó tưởng tượng quá

Trang 15

Tên biến: do người dùng tự đặt theo quy tắc đặt tên ở phần 2.3 (bên dưới).Tên kiểu dữ liệu: là tên kiểu dữ liệu có sẵn trong delphi, hoặc do người dùngđịnh nghĩa trong phần type.

Ví dụ:

Yêu cầu: khai báo các biến trong bài toán “hãy tính số tuổi của một ngườinào đó”

Phân tích: để tính số tuổi thì ta cần biết hai thông tin là “năm sinh” và

“năm hiện tại”, hai thông tin này đều là số nguyên và không có số âm Do đó, takhai báo hai biến số nguyên có tên là: NamSinh, NamHt; tên kiểu dữ liệu là word

Ta viết lệnh như sau:

Var NamSinh, NamHt : word;

Chổ trống còn lại trên phần implementation

Ta có thể khai báo hằng theo dạng:

Const TênHằng = GiáTrị ;

Vd: ta muốn khai báo hằng tên pi có giá trị là 3.14 thì ta viết như sau:

Const pi = 3.14 ;

Ta có thể khai báo tiêu đề của các chương trình con (thủ tục/hàm), còn gọi làphương thức (method) của người lập trình tự thêm hoặc của delphi thêm

Khi đó phạm vi sử dụng mặc định của các phương thức này là toàn cục

Ví dụ: các bạn xem hình, (các bạn thử sức làm theo hình dưới đi, cố lên cácbạn) để ý phần có chú thích màu xanh lá nhe

Chế độ thiết kế (design):

Chế độ viết lệnh (code):

Trang 16

2.2.3 Phần implementation

-Định nghĩa (viết nội dung chi tiết các lệnh) các chương trình con (thủtục/hàm), còn gọi là phương thức (method) của người lập trình tự thêm hoặc củadelphi thêm

-Thủ tục TForm1.create luôn được thực hiện đầu tiên, xong, sau đó tùy theo sựkiện (event) nào xảy ra mà chương trình con tương ứng sẽ được gọi

Ví dụ: các bạn chịu khó xem lại ví dụ kế trên ~~(...)~~

2.3 Qui tắc đặt tên sau áp dụng cho:

Biến, tên chương trình chính, chương trình con (hàm, thủ tục), hằng, tên kiểu

Tổng chiều dài của tên không quá 255 kí tự

Ví dụ: đặt tên cho nút lệnh có chức năng thoát

với tên là btnThoat

Giải thích btn là viết tắt của botton là nút lệnhthoat là từ gợi ý về chức năng của nó

Lưu ý: trong các dự án lớn, chương trình có nhiều người cùng viết thì cần cónhững quy tắc thống nhất khác nữa mà họ phải tuân theo

Chắc các bạn đã mệt rồi phải không!!!!!!!!!!!!!!!!!!!!! Cố lên

Trang 17

2.4 Qui tắc truy cập đến thuộc tính, phương thức của đối tượng, của lớp

Ta sử dụng dấu “.” để phân biệt các tên đó

Ví dụ 1: ta cần gán giá trị ‘chào bạn’ đến thuộc tính text của đối tượng nút lệnhtbtThoat, ta viết như sau: tbtThoat.text := ‘chào bạn’;

TênĐốiTượngCha TênĐốiTượngCon TênPhươngThức (hoặc thuộc tính)

Ví dụ: chương trình của form2 muốn gán xâu ‘tạm biệt’ vào thuộc tính text củađối tượng label lblTB trong form1 thì ta viết

Form1.lblTB.text:=’tạm biệt’;

2.5 Vài đối tượng cơ bản nhất (rất quan trọng-không thể bỏ):

Bạn hãy bắt đầu tạo ứng dụng chạy trên windows (xem thao tác ở phần 1.2)

để tìm hiểu các nội dung sau:

2.5.1 Form (biểu mẫu):

Chứa (lắp ráp, lắp ghép) các đốitượng khác (mọi đối tượng khác)lên nó, kể cả form khác

Có sẵn khi ta bắt đầu tạo một ứngdụng mới

2.5.1.1 Form properties-vài thuộc tính cơ bản:

Trang 19

2.5.1.2 Form method- phương thức cơ bản:

Close:

Cú pháp: tên_form.close;

Chức năng: đóng cửa sổ form

Các bạn xem thêm các phương thức khác như: hide, keyDown, keyUp, và

trong help offline

2.5.2 Label (nhãn):

-Dùng để thể hiện chữ trên form

-Cách gắn label vào form:

B1.Tìm đối tượng ở thanh tool paletes

B2.Nháy đôi vào Tlabel là xong

2.5.2.1 Label-properties:

Name:

Tên của đối tượng label, được delphi đặt sẵn là Label_số

Ta nên đổi tên mới theo dạng: lblTênMới

Trong đó: Với ‘tên mới’ là tên do người lập trình đặt, mang ý nghĩ là mụcđích mà ta muốn label làm; còn ‘lnl’ là viết tắt của từ label

Text:

Chứa chữ, sẽ được thể hiện trong khung label Khi chạy chương trìnhngười dùng (là người sử dụng chương trình, không phải là người viết chươngtrình) không sửa được nội dung của chữ này

Visible:

Nhận một trong hai giá trị: true, false Nếu là

True thì khung label sẽ xuất hiện trên form để con người nhìn thấy

False thì khung label sẽ ẩn (con người không nhìn thấy)

Vd:

Ta muốn có chữ chú thích với nội dung là ‘chào bạn’

Yêu cầu là có chữ với mục đích là chú thích gì đó, nên cần dùng đối tượnglabel, nên đặt tên label là lblChuThich

Nội dung chú thích là ‘chào bạn’, nên ta sẽ đặt thuộc tính text là ‘chàobạn’

2.5.2.2 Label-Methods

Ta chưa cần dùng đến các phương thức của label

Trang 20

2.5.3 Edit_quan trọng lắm

Dùng để người dùng đưa giá trị nào đó vào chương trình

Cách gắn edit lên form:

B1 Tìm edit trong tool paletes

B2 Nháy đôi vào tEdit

2.5.3.1 Edit-Properties

Name:

Tên của đối tượng do người viết chương trình tự đặt

Nên đăt theo dạng: edtTenMoi

Text:

Là giá trị (thuộc kiểu xâu_chữ) do người dùng nhập vào lúc chạy chươngtrình Sau đó ta dùng giá trị này để viết tiếp chương trình

Visible:

Nhận một trong hai giá trị: true, false Nếu là

True thì khung label sẽ xuất hiện trên form để con người nhìn thấy

False thì khung label sẽ ẩn (con người không nhìn thấy)

Ví dụ quan trọng :

Viết chương trình để người dùng nhập vào họ tên của mình

Yêu cầu: nhập chữ từ bàn phím Nên ta dùng đối tượng edit

Do đó đối tượng edit sẽ được đặt tên là: edtHoTen, và thuộc tínhedtHoten.text sẽ chứa họ tên mà người dùng sẽ gõ vào

Bài làm: (mời bạn làm theo hướng dẫn dưới đây Cố lên (~!~)’’’)

Thiết kế chương trình:

Viết lệnh cho chương trình:

Kết quả khi chạy chương trình:

Trang 21

Bạn sẽ hỏi Onchange và showmessage(…); là gì? !!!! mời bạn đọc tiếp.

Onchange là sự kiện thay đổi nội dung trong ô edit, thuộc một trong

nhiều sự kiện của đối tượng edit

Giải thích chi tiết:

Khi ta thay đổi nội dung trong ô edit thì chương trình lớn (còn gọi làchương trình chính) sẽ thực hiện; chương trình nhỏ (còn gọi là chương trình con)

có tên là procedure TForm1.edtHoTenChange(Sender: TObject); và các lệnh bêntrong chương trình nhỏ sẽ được thực hiện theo

Ví dụ 1

Yêu cầu xuất hiện câu thông báo có nội dung là: ‘làm quen với delphi’.Thiết kế giao diện (màn hình làm việc) của chương trình:

Thiết kế thuật toán (cách giải):

Do yêu cầu chỉ có thông báo ra màn hình một câu thông báo nên takhông cần thêm bất cứ đối tượng nào vào form cả, chỉ cần dùng thủ tụcshowmessage(); là được

Viết lệnh:

Trang 22

Ta nháy đôi vào form

Trang 23

Đề có nói biến x nên ta cần khai báo biến x kiểu integer Lưu ý: biến x này

có thể khai báo ở hai vị trí là:

Trước implementation (lúc này x là biến toàn cục, sử dụng được trongtất cả thủ tục/hàm của cả chương trình)

Sau procedure TForm1.FormCreate(Sender: TObject); và trước begin(lúc này x là biến cục bộ, chỉ sử dụng trong thủ tục TForm1.FormCreate thôi,muốn sử dụng ở thủ tục/ hàm khác thì phải khai báo lại

Do đề chỉ yêu cầu xuất giá trị biến x nêu ta chỉ cần dùng thủ tụcshowmessage(); là được

Không cần thêm bất kì đối tượng nào

Thiết kế giao diện:

Viết lệnh:

Ta nháy đôi vào form

Ta giả sử x là biến cục bộ, nên khai báo biến x ở sau procedureTForm1.FormCreate(Sender: TObject);

procedure TForm1.FormCreate(Sender: TObject);

Trang 24

Chạy chương trình:

Ta nhấn phím F9

Xem kết quả: giá trị biến x sẽ thay đổi, do delphi lấy ngẫu nhiên giá trịnào đó cho biến x Vì vậy khi viết các chương trình có tính toán các bạn cần gángiá trị ban đầu cho biến để tránh sai kết quả ngoài ý muốn

MessageDlg thông báo có lựa chọn của người dùng.

Đôi khi ta cần làm xuất hiện thông báo có lựa chọn yes/no để người dùng lựachọn yes/no Tùy vào lựa chọn đó mà chương trình sẽ làm công việc khác nhau thì đây

là lúc ta dùng đến MessageDlg

Cú pháp:

function MessageDlg(const AMessage: string; const ADialogType:

TMsgDlgType; const AButtons: TMsgDlgButtons; const AHelpContext: LongInt): Integer;

Trang 25

Hoạt động:

Hàm MessageDlg làm xuất hiện hộp thoại thông báo có nội dung chứatrong Amessage, thuộc loại thông báo chứa trong TMsgDlgType, có danh sách cácnút lệnh lựa chọn chứa trong AButton, số thứ tự của hộp thoại chứa trongAHelpContext, và trả về kết quả là nút lệnh lựa chọn mà người dùng đã chọn

Trong đó:

Tham số ADialogType thuộc kiểu TMsgDlgType Kiểu TMsgDlgType có các giátrị sau: TMsgDlgType = (mtWarning, mtError, mtInformation, mtConfirmation,mtCustom); muốn sử dụng giá trị nào thì ta viết theo dạng: TMsgDlgType.TênGiáTrị,nhớ khai báo tên thư viện System.UITypes

Tham số AButtons thuộc kiểu TMsgDlgButtons Kiểu TMsgDlgButtons có các giátrị sau: TMsgDlgBtn = (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore,mbAll, mbNoToAll, mbYesToAll, mbHelp, mbClose);

Tham số AHelpContext là số thứ tự của hộp thoại, do người dùng tự đặt

Giá trị trả về của hàm MessageDlg là một trong các giá trị sau:

Nút lệnh được chọn Giá trị trả về tương ứng

mbCancel mrCancel mbAbort mrAbort mbRetry mrRetry mbIgnore mrIgnore mbYes mrYes

mbClose mrClose mbHelp mrHelp mbTryAgain mrTryAgain mbContinue mrContinue mbNone mrNone mbAll mrAll mbNoToAll mrNoToAll mbYesToAll mrYesToAll

Ví dụ:

Yêu cầu:

-tạo ứng dụng mới, có một nút lệnh

-khi người dùng nháy vào nút lệnh thì:

Xuất hiện một hộp thoại thông báo ‘chào bạn, lựa chọn của bạn là gì?’,

có lựa chọn là yes, no

-nếu người dùng nháy nút yes thì thông báo ‘bạn đã chọn yes’

-nếu người dùng nháy nút no thì thông báo ‘bạn đã chọn no’

Trang 27

System.UITypes.tmsgdlgbtn.mbNo cùng thuộc thư viện

System.UITypes.TMsgDlgType nên ta có thể viết gọn lại như sau:

TMsgDlgType.mtWarning, TMsgDlgType.mbNo nếu chỉ viết mbYes, mnNo, mtWarning giống như trong help offline của delphi thì delphi báo lỗi

- Ta có thể thay đổi giá trị khác cho TMsgDlgType.mtWarning thành

TMsgDlgType.mtInformation để xem sự khác nhau

- 0,tmsgdlgbtn.mbNo) tham số cuối tmsgdlgbtn.mbno có ý nghĩa là lựa chọn ngầm định (được gán sẵn) là lựa chọn nút lệnh No

Chạy chương trình:

Nếu chọn yes thì có thông báo này:

Nếu chọn no thì có thông báo này:

Máy sẽ tính biểu thức, sau đó lấy kết quả điền vào TênBiến

(nhớ đơn giản là lấy giá trị bên phải gán cho biến bên trái)

Ví dụ:

Ta muốn lưu (đưa) kết quả của biểu thức (2*x-45)/3 vào biến kq Ta viết:

Kq := (2*x-45)/3;

Trang 28

Các từ ngữ if, then, else là các từ khóa của delphi (người lập trình không thểthay đổi).

Cặp dấu <> có ý nghĩa là phần bên trong bắt buộc phải có

Cặp dấu [] có ý nghĩa là phần bên trong không bắt buộc có

Điều kiện là một biểu thức có kết quả là true/false (đúng/sai)

Câu lệnh, câu lệnh 1, câu lệnh 2 là một lệnh/hàm/thủ tục nào đó của delphi

Cách xuất dữ liệu từ chương trình ra màn hình

Có thể dùng các cách sau:

Trang 29

Cách 1:

Lúc thiết kế chương trình ta thêm một lable riêng để dành xuất các thông báocủa chương trình Lable này ta nên đặt tên là lblTB, thuộc tính lblTB.text nhận cácthông báo

Vd: ta cần thông báo với nội dung: ‘làm quen với delphi xe8’

Thiết kế:

Thuộc tính name của lable ta đặt là lblTB

Thuộc tính text của lable ta xóa trống (không có kí tự nào cả)

Viết lệnh:

Ta nháy đôi vào form

Viết các lệnh cho thủ thục TForm1.FormCreate như sau:

procedure TForm1.FormCreate(Sender: TObject);

begin lblTB.Text := 'làm quen với delphi xe8';

end;

Trang 30

Cách nhập dữ liệu từ bàn phím vào chương trình

Ta dùng đối tượng Edit để chứa giá trị do người dùng gõ từ bàn phím vàochương trinh

Đối tượng Edit nên đặt tên theo dạng EdtMụcĐíchDùng

Thuộc tính EdtMụcĐíchDùng.text chứa giá trị do người dùng gõ vào

Lưu ý: giá trị trong EdtMụcĐíchDùng.text là kiểu text (chữ).

Sau đó ta dùng các hàm chuyển đổi kiểu để đổi kiểu cho EdtMụcĐíchDùng.textnếu cần thiết

Cần nhập hai số: năm sinh và năm hiện tại => số nguyên dương

Thông báo ra màn hình số tuổi

Thiết kế:

Thuật toán (cách giải):

Dùng 2 đối tượng lable để thông báo năm sinh và năm hiện tại

Dùng 2 đối tượng edit để nhập số năm sinh và năm hiện tại

Vì đây là số nên ta dùng hàm strToInt để đổi chữ thành số

Tính tuổi = năm hiện tại – năm sinh

Trang 31

Dùng hàm intToStr đổi số tuổi thành chữ.

Nút lệnh tính số tuổi có chức năng: Thông báo ra màn hình số tuổi bằng thủtục showmessage

Giao diện (màn hình làm việc) của chương trình

Viết lệnh:

Nháy đôi vào nút lệnh btnTinhTuoi và gõ các lệnh vào

Các bạn có thể tham khảo các lệnh sau:

procedure TForm1.btnTinhTuoiClick(Sender: TObject);

Trang 32

longWord 0 4294967295Tham khảo thêm nhe

Trang 33

Type Range Format Alias

ShortInt -128 127 Signed 8-bit Int8SmallInt -32768 32767 Signed 16-bit Int16FixedInt -2147483648 2147483647 Signed 32-bit Int32Int64 -2^63 2^63-1 Signed 64-bit

FixedUInt 0 4294967295 Unsigned 32-bit UInt32Cardinal 0 4294967295 Unsigned 32-bit UInt32UInt64 0 2^64-1 Unsigned 64-bit

Các phép toán cho kiểu nguyên:

Các hàm/thủ tục thường dùng cho kiểu nguyên

Thủ tục inc(biến); tăng giá trị của biến thêm 1 đơn vị, tương đương với

biến:=biến+1;

Thủ tục dec(biến); giảm giá trị của biến đi 1 đơn vị, tương đương với

biến:=biến-1;

Hàm succ(biến); tăng giá trị của biến thêm 1 đơn vị.

Hàm pred(biến); giảm giá trị của biến đi 1 đơn vị.

3.1.2 số thực

Tên kiểu Phạm vi giá trị Số lượng

chữ số

Số byte sử dụng

Real 5.0e-324 1.7e+308 15-16 8Double 5.0e-324 1.7e+308 15-16 8Single 1.5e-45 3.4e+38 7-8 4Tham khảo thêm các kiểu sau nha các bạn: (cố lên và cố lên nữa…)

Type Approximate Positive Range Significant digits Size in bytes

Extended

32-bit platforms 3.4e-4932 1.1e+4932

64-bit platforms 5.0e-324 1.7e+308

10-2015-16

10

8

Currency -922337203685477.5808 922337203685477.5807 10-20 8

Trang 34

Các phép toán dùng cho số thực

+ cộng hai số thực

- trừ hai số thực

* nhân hai số thực/ chia hai số thựcCác phép toán so sánh > < >= <= =

Tham khảo thêm các hàm toán học sau:

Constants used in math routines The following table lists all the constants used in mathematical routines found

in Delphi:

Routine Description

System.Math.Infinity Represents positive infinity

System.Math.MaxComp Defines the maximum absolute value for a Comp variable

System.Math.MaxDouble Defines the maximum absolute value for a Double variable

System.Math.MaxExtended Defines the maximum absolute value for an Extended variable

System.Math.MaxSingle Defines the maximum absolute value for a Single variable

System.Math.MinComp Defines the smallest absolute value for a Comp variable

System.Math.MinDouble Defines the smallest absolute value for a Double variable

System.Math.MinExtended Defines the smallest absolute value for an Extended variable

System.Math.MinSingle Defines the smallest absolute value for a Single variable

System.Math.NaN Represents a value that cannot be represented as a valid number

Math.NegativeValue (see Math Constants ) Defines a negative number that results from using Sign

System.Math.NegInfinity Represents negative infinity

Math.PositiveValue (see Math Constants ) Defines a positive number that results from using Sign

Math.ZeroValue (see Math Constants ) Defines a zero-value number that results from using Sign

Arithmetic routines The following table lists the arithmetic routines found in Delphi:

Routine Description

System.Abs Returns an absolute value

System.Math.Ceil Rounds variables up toward positive infinity

System.Math.DivMod Returns the result of an integer division, including the remainder

System.Exp Returns the exponential of X

System.Math.Floor Rounds variables toward negative infinity

System.Math.Frexp Separates the Mantissa and Exponent of X

System.Int Returns the integer part of a real number

Trang 35

System.Math.IntPower Calculates the integral power of a base value

System.Math.IsInfinite Indicates when a variable or expression represents an infinite value

System.Math.IsNan Indicates when a variable or expression does not evaluate to a numeric value

System.Math.IsZero Indicates when a floating-point variable or expression evaluates to zero, or very close to zero

System.Math.Ldexp Calculates X times (2 to the power of P)

System.Math.LnXP1 Returns the natural log of (X+1)

System.Math.Log10 Calculates log base 10

System.Math.Log2 Calculates log base 2

System.Math.LogN Calculates the log of X for a specified base

System.Math.Max Returns the greater of two numeric values (Delphi only)

System.Math.MaxIntValue Returns the largest signed value in an integer array

System.Math.MaxValue Returns the largest signed value in an array

System.Math.Mean Returns the average of all values in an array

System.Math.Min Returns the lesser of 2 numeric values (Delphi only)

System.Math.MinIntValue Returns the smallest signed value in an integer array

System.Math.MinValue Returns the smallest signed value in an array

System.Odd Returns true if the argument is an odd number

System.Math.Power Raises Base to any power

System.Round Returns the value of X rounded to the nearest whole number

System.Math.RoundTo Rounds a floating-point value to a specified digit or power of 10 using "Banker's rounding"

System.Math.Sign Indicates whether a numeric value is positive, negative, or zero

System.Math.SimpleRoundTo Rounds a floating-point value to a specified digit or power of 10 using asymmetric arithmetic rounding

System.Sqr Returns the square of a number

System.Sqrt Returns the square root of X

System.Math.Sum Returns the sum of the elements in an array

System.Math.SumInt Returns the sum of the elements in an integer array

System.Math.SumOfSquares Returns the sum of the squared values from a data array

System.Math.SumsAndSquares Returns the sum of the values and the sum of the squared values in an array

System.Trunc Truncates a real number to an integer

Trigonometric routines The following table lists the trigonometric routines found in Delphi:

Routine Description

System.Math.ArcCos Calculates the inverse cosine of a given number

System.Math.ArcCosh Calculates the inverse hyperbolic cosine of a given number

System.Math.ArcCot Calculates the inverse cotangent of a given number

System.Math.ArcCotH Calculates the inverse hyperbolic cotangent of a given number

System.Math.ArcCsc Calculates the inverse cosecant of a given number

System.Math.ArcCscH Calculates the inverse hyperbolic cosecant of a given number

System.Math.ArcSec Calculates the inverse secant of a given number

System.Math.ArcSecH Calculates the inverse hyperbolic secant of a given number

System.Math.ArcSin Calculates the inverse sine of a given number

System.Math.ArcSinh Calculates the inverse hyperbolic sine of a given number

System.ArcTan Calculates the arc tangent of a given number

System.Math.ArcTan2 Calculates the arc tangent angle and quadrant of a given number

System.Math.ArcTanh Calculates the inverse hyperbolic tangent of a given number

Trang 36

System.Math.Cosecant Returns the cosecant of an angle

System.Math.Cosh Calculates the hyperbolic cosine of an angle

System.Math.Cot Calculates the cotangent of an angle

System.Math.Cotan Calculates the cotangent of an angle

System.Math.CotH Calculates the hyperbolic cotangent of an angle

System.Math.Csc Returns the cosecant of an angle

System.Math.CscH Returns the hyperbolic cosecant of an angle

System.Math.CycleToDeg Converts an angle measurement from cycles to degrees

System.Math.CycleToGrad Converts an angle measurement from cycles to grads

System.Math.CycleToRad Converts an angle measurement from cycles to radians

System.Math.DegToCycle Returns the value of a degree measurement expressed in cycles

System.Math.DegToGrad Returns the value of a degree measurement expressed in grads

System.Math.DegToRad Returns the value of a degree measurement expressed in radians

System.Math.GradToCycle Converts grad measurements to cycles

System.Math.GradToDeg Converts grad measurements to degrees

System.Math.GradToRad Converts grad measurements to radians

System.Math.Hypot Calculates the length of the hypotenuse

System.Pi Returns 3.1415926535897932385

System.Math.RadToCycle Converts radians to cycles

System.Math.RadToDeg Converts radians to degrees

System.Math.RadToGrad Converts radians to grads

System.Math.Sec Calculates the secant of an angle

System.Math.Secant Calculates the secant of an angle

System.Math.SecH Calculates the hyperbolic secant of an angle

System.Sin Returns the sine of the angle in radians

System.Math.SinCos Returns the sine and cosine of an angle

System.Math.Sinh Returns the hyperbolic sine of an angle

System.Math.Tan Returns the tangent of X

System.Math.Tanh Returns the hyperbolic tangent of X

System.Trunc Truncates a real number to an integer

3.2 kiểu logic

Kiểm logic là kiểu nhận một trong hai hằng giá trị true, false.

Tên kiểu Phạm vi giá trị

Boolean True, false

Trang 37

Các kiểu dùng cho pc, điện thoại trong bảng dưới:

Các kiểu dùng cho ứng dụng máy pc Các kiểu dùng cho ứng dụng điện thoại

System.AnsiString , System.ShortString ,

System.RawByteString , System.UTF8String Không dùng Nên thay bởi 'array of byte'

System.AnsiChar System.Char , System.Byte , System.UInt8

System.PAnsiChar , System.PWideChar System.SysUtils.TStringBuilderSystem.MarshaledString , System.String, System.Openstring Nên thay bởi 'array of byte'

3.4 kiểu miền con, kiểu liệt kê

Kiểu miền con/kiểu liệt kê là một tập các giá trị đơn giản được người lập trìnhliệt kê

Vd: 0 9, 12,15 hoặc ‘a’ ’h’, ‘z’

Ưu điểm của kiểu dữ liệu này là giới hạn giá trị có thể nhận của biến, hạn chế

tối đa những giá trị không mong muốn do người dùng nhập vào

Cú pháp khai báo kiểu miền con (định nghĩa):

type typeName = (val1, ,valn);

ví dụ: khai báo kiểu tThu chứa các thứ 2, 3, 4, ,8 và biến thu có kiểu tthu,

xem lệnh được viết trong hình dưới

kiểu liệt kê:

type //nếu đặt trong phần type thì không cần viết lại (một) hàng này

Tthu=(thu2, thu3, thu4, thu5, thu6, thu7, thu8);

Và có thể khai bào thêm kiểu miền con khi đã khai báo kiểu tthu ở trên

Trang 38

Thứ tự của các giá trị trong kiểu tThu là 0,1,2,3,4,5,6,7 Bạn có thể dùng hàmord(giá trị) để biết như trong ví dụ trên.

Chú ý: tên của các giá trị phải khác với tên của các từ khóa trong Delphi Nếuđặt giống nhau rồi thì ta cần thêm tên của unit theo dạng: tênUnit.TênGiáTrị

Ta có thể thay đổi thứ tự (gán giá trị) ban đầu cho các tên trong kiểu liệt kêtheo ví dụ:

Type

Tthu=(thu2=2, thu3=3, thu4=4, thu5=5, thu6=6, thu7=7, cn=thu7+1);Khi sử dụng ord(thu2) kết quả là 2, ord(cn) kết quả là 8

3.5 các hàm chuyển đổi kiểu:

StrToInt(xâu) chuyển nội dung của biến xâu thành số nguyên

FloatToStr(BiếnSốThực) chuyển giá trị của BiếnSốThực thành xâu

DateToStr(const DateTime: TDateTime): string; chuyển nội dung ngày thànhxâu

function TimeToStr(const DateTime: TDateTime): string; chuyển nội dung thờigian thành xâu

Vài ví dụ:

Vd1:

Bạn hãy tạo một form mới chứa các đối tượng: 1 label, 1 button

Hoạt động: khi người dùng nháy chuột vào nút lệnh thì ngày hiện tại của máy

sẽ xuất hiện trong label, ngày được định dạng theo mẫu: m/d/yyyy

với date là một hàm trả về ngày hiện tại của máy, cú pháp như sau:

function Date: TDateTime;

ví dụ 2:

Ngày đăng: 03/11/2021, 15:25

HÌNH ẢNH LIÊN QUAN

1.1 Màn hình làm việc - tai lieu lap trinh delphipascal
1.1 Màn hình làm việc (Trang 5)
1.1.1 Màn hình làm việc khi không trực tuyến: - tai lieu lap trinh delphipascal
1.1.1 Màn hình làm việc khi không trực tuyến: (Trang 5)
H5. Màn hình làm việc với ứng dụng - tai lieu lap trinh delphipascal
5. Màn hình làm việc với ứng dụng (Trang 6)
-Kết nối máy tính với điện thoại, máy tính bảng - Quản lý dữ liệu trên Android, iPhone, iPad - Chuyển danh bạ giữa các thiết bị - tai lieu lap trinh delphipascal
t nối máy tính với điện thoại, máy tính bảng - Quản lý dữ liệu trên Android, iPhone, iPad - Chuyển danh bạ giữa các thiết bị (Trang 7)
1.3 Màn hình làm việc với ứng dụng có các nội dung: - Thanh tiêu đề (title) - tai lieu lap trinh delphipascal
1.3 Màn hình làm việc với ứng dụng có các nội dung: - Thanh tiêu đề (title) (Trang 9)
- Thanh bảng chọn (menu) - tai lieu lap trinh delphipascal
hanh bảng chọn (menu) (Trang 9)
Ví dụ: các bạn xem hình, (các bạn thử sức làm theo hình dưới đi, cố lên các bạn) để ý phần có chú thích màu xanh lá nhe. - tai lieu lap trinh delphipascal
d ụ: các bạn xem hình, (các bạn thử sức làm theo hình dưới đi, cố lên các bạn) để ý phần có chú thích màu xanh lá nhe (Trang 15)
True: cửa sổ to hết màn hình, - tai lieu lap trinh delphipascal
rue cửa sổ to hết màn hình, (Trang 18)
Do yêu cầu chỉ có thông báo ra màn hình một câu thông báo nên ta không   cần   thêm   bất   cứ   đối   tượng   nào   vào   form   cả,   chỉ   cần   dùng   thủ   tục showmessage(); là được. - tai lieu lap trinh delphipascal
o yêu cầu chỉ có thông báo ra màn hình một câu thông báo nên ta không cần thêm bất cứ đối tượng nào vào form cả, chỉ cần dùng thủ tục showmessage(); là được (Trang 21)
Câu lệnh rẽ nhánh - tai lieu lap trinh delphipascal
u lệnh rẽ nhánh (Trang 28)
Cách xuất dữ liệu từ chương trình ra màn hình - tai lieu lap trinh delphipascal
ch xuất dữ liệu từ chương trình ra màn hình (Trang 28)
Nút lệnh tính số tuổi có chức năng: Thông báo ra màn hình số tuổi bằng thủ tục showmessage. - tai lieu lap trinh delphipascal
t lệnh tính số tuổi có chức năng: Thông báo ra màn hình số tuổi bằng thủ tục showmessage (Trang 31)
Các kiểu dùng cho pc, điện thoại trong bảng dưới: - tai lieu lap trinh delphipascal
c kiểu dùng cho pc, điện thoại trong bảng dưới: (Trang 37)
Thiết kế màn hình giao tiếp (giao diện): - tai lieu lap trinh delphipascal
hi ết kế màn hình giao tiếp (giao diện): (Trang 57)
chương trình và kết quả như hình dưới: - tai lieu lap trinh delphipascal
ch ương trình và kết quả như hình dưới: (Trang 69)

TỪ KHÓA LIÊN QUAN

w