Điều khiển nâng cao

Một phần của tài liệu nghiên cứu lập trình tính toán nhanh một số bài toán trắc địa cơ bản phục vụ giải đáp bài tập trắc địa đại cương (Trang 54)

2.0.1. Hộp tho i

Hộp thoại Dialog Box là một trong những cách thức để ứng dụng của Windows giao tiếp với ngƣời sử dụng. Trong VB có 3 loại hộp thoại:

- Hộp thoại có sẵn Perdefined Dialog Box

- Hộp thoại của ngƣời dùng Custum Dialog Box - Hộp thoại thông dụng Common Dialog Box

Trong phần này ta xét các loại hộp thoại có sẵn và hộp thoại thông dụng.

Hộp thoại c sẵn

Hộp thoại thông báo (Message Box)

Hộp thoại thông báo để hiện thị thông báo và chờ sự trả lời của ngƣời sử dụng. Khi ngƣời sử dụng khích vào một nút lệnh thì một số nguyên biểu thị nút lệnh mà ngƣời sử dụng đã nhấn sẽ đƣợc trả về.

Để hiển thị hộp thoại thông báo chúng ta có thể sử dụng thủ tục MsgBox hoặc hàm MsgBox . Điểm khác biệt giữa chúng là hàm hiển thị thông báo và trả về giá trị cho phép tƣơng tác với ngƣời sử dụng. Còn thủ tục thì chỉ hiện thị thông báo.

Cú pháp của lệnh MsgBox:

MsgBox prompt[, buttons] [, tile] [,helpfile, context]

Cú pháp của hàm MsgBox:

MsgBox( prompt[, buttons] [, tile] [,helpfile, context]) Trong đó

Prompt: là thông điệp hiển thị trong hộp thoại. Độ dài tối đa của thông điệp là 1024 ký tự. Nếu thông điệp có nhiều dòng ta có thể ngăn cách các dòng bằng cách chèn thêm các ký tự xuống dòng Chr 10 và trở về đầu dòng Chr(13).

Tile: tùy chọn Tiêu đề của hộp thoại. Nếu bỏ qua thì tên của ứng dụng sẽ xuất hiện tại đây.

Helpfile: tùy chọn Xác định tên của tệp tin trợ giúp của chƣơng trình.

Context: tùy chọn Đƣợc sử dụng kết hộp với Helpfile. Nó là một biểu thức số gắn với một chủ đề trợ giúp nào đó.

Buttons: tùy chọn Hằng số nguyên xác định các kiểu nút lệnh và biểu tƣợng hiển thị trong hộp thoại.

35

Bảng 1.12: Một số h ng, giá trị và mô tả

Hằn G á rị Mô ả

vbOKOnly 0 Hiển thị nút OK

vbOKCancel 1 Hiển thị nút OK và Cancel

vbAbortRetryIgnore 2 Hiển thị nút Abort,Retry và Ignore

vbYesNoCancel 3 Hiển thị nút Yes,No và Cancel

vbYesNo 4 Hiển thị nút Yes và No

vbRetryCancel 5 Hiển thị nút Retry và Cancel

Khi hàm MsgBox đƣợc sử dụng nó cung cấp một giá trị cho một biến.

Ví dụ: X= MsgBox “Bạn có muốn tiếp tục không , vbYesNoCancel, “Thông báo Giá trị X đƣợc gọi là giá trị trả về của hàm MsgBox , nó xác định nút lệnh mà ngƣời sử dụng đã nhấn.

Các giá trị đƣợc tóm tắt trong bảng sau:

Bảng 1.13: Một số h ng và giá trị trong VB Hằn G á rị Nú đượ ọn vbOk 1 OK vbCancel 2 Cancel vbAbort 3 Abort vbRetry 4 Retry vbIgnore 5 Ignore vbYes 6 Yes vbNo 7 No (adsbygoogle = window.adsbygoogle || []).push({});

36

Điều khiển hộp thoại thông dụng cung cấp một tập các hộp thoại chuẩn cho các thao tác nhƣ mở và lƣu trữ tệp tin, thiết lập tùy chọn in, lựa chọn phông chữ, màu.

Điều khiển hộp thoại thông dụng cho phép ta hiển thị 5 loại hộp thoại thông dụng đó là Open, Save As, Color, Print.

Sử dụng điều khiển hộp thoại thông dụng:

Muốn sử dụng điều khiển này thì trên thanh công cụ phải có biểu tƣợng . Trƣờng hộp nó không xuất hiện ta thực hiện nhƣ sau: Từ thực đơn Project ta chọn Components, xuất hiện hộp thoại Components, trong tab Control của hộp thoại ta tích vào mục Microsoft Common Dialog Control 6.0 SP6 sau đó kích OK. Khi thi hành ta sử dụng các phƣơng thức thích hợp để hiện thị hộp thoại mong muốn.

Bảng 1.14: Các phƣơng thức của hộp thoại thông dụng

P ươn ứ H ển ị ộp oạ ShowOpen Open ShowSave Save As ShowColor Color ShowFont Font ShowPrinter Print

Các thuộc tính thông dụng của hộp điều khiển:

Trong visual basic hộp điều khiển có một số thuộc tính và đƣợc giải thích nhƣ sau:

Bảng 1.15: Thuộc tính thông dụng của hộp điều khiển

T uộ ín G ả í

CancelError Gán giá trị True để bắt lỗi khi ngƣời sử dụng nhấn nút Cancel

DefaultExt Gán phần mở rộng ngầm định DialogTitle Tiêu đề của hộp thoại

37

FileTitle Tên tệp tin đƣợc chọn, không chứa đƣờng dẫn. Filter Chỉ định kiểu tệp tin mà hộp thoại sẽ hiển thị FilterIndex Chỉ ra bộ lọc đƣợc sử dụng đầu tiên

InitDir Thƣ mục sẽ hiển thị khi hợp thoại xuất hiện

2.0.2. iều khiển Timer

Điều khiển Timer có biểu tƣợng trong hộp ToolBox là . Điều khiển Timer cho phép ta theo dõi thời gian. Điều khiển timer nhƣ một chiếc đồng hồ kích hoạt một sự kiện của chƣơng trình sau các khoảng thời gian điều đặn mà ta chỉ ra. Sự kiện khi Timer kích hoạt đƣợc gọi là sự kiện Timer, chúng ta có thể viết mã trong sự kiện này để thực hiện một công việc nào đó. Điều khiển Timer có hai thuộc tính quan trọng là đó là IntervalEnabled. Thuộc tính

Interval là khoảng thời gian đƣợc tính bằng mili giây giữa hai sự kiện Timer. Giá trị của Interval có thể từ 0 đến 64.767 ngh a là khoảng thời gian dài nhất giữa hai sự kiện Timer không lâu hơn 64.8 giây. Khi mới đƣợc đặt lên From thì thuộc tính Interval có giá trị bằng 0, ta có thể gán cho nó một giá trị phù hợp tại cửa sổ Properties hoặc trong thủ tục Form_Load của chƣơng trình.

2.0.3. iều khiển RichText ox

Điều khiển RichTextBox cho phép ngƣời sử dụng nhập và sửa văn bản đồng thời cũng tạo ra nhiều đặc tính định dạng hơn điều khiển TextBox thông thƣờng.

Điều khiển RichTextBox tạo ra một số thuộc tính mà bạn có thể sử dụng để thay đổi định dạng của bất cứ phần nào thuộc văn bản trong điều khiển. Sử dụng các thuộc tính này bạn có thể thay đổi màu chữ, chữ đậm hoặc chữ nghiêng, tạo chỉ số trên, chỉ số dƣới. Bạn cũng có thể điều chỉnh định dạng đoạn nhƣ lề trái lề phải của đoạn.

Muốn sử dụng điều khiển RichTextBox thì trên thanh công cụ phải có biểu tƣợng . Trƣờng hợp nó không xuất hiện ta thực hiện nhƣ sau: Từ thực đơn Project ta chọn Components, xuất hiện hộp thoại Components, trong tab Control của hộp thoại ta tích vào mục Microsoft Rich TextBox 6.0 sau đó kích OK.

2.1. Kiểu d liệu và phép toán

2.1.1. Một số ếu tố cơ bản của ngôn ngữ isual asic

Bộ ký tự

Ngôn ngữ Visual Basic đƣợc xây dựng dựa trên bộ ký tự sau: 26 chữ cái bao gồm cả chữ hoa và chữ thƣờng.

38 10 chữ số từ: 0 đến 9 Các ký tự toán học: +, -, *, /, =, (, ) Ký tự gạch nối: _ Các ký tự đặc biệt nhƣ: [ ] { } , . ; : & # % $ Dấu cách là một khoảng trống dùng để tách các từ.  Tên

Tên là một dãy ký tự chữ cái, chữ số, dấu gạch nối… , ký tự đầu tiên của tên phải là chữ cái. Quy ƣớc đặt tên cho hằng, biến, hàm, thủ tục … nhu sau:

Tên phải bắt đầu bằng chữ cái chữ thƣờng hoặc chữ hoa . (adsbygoogle = window.adsbygoogle || []).push({});

Tên không chứa các ký tự đặc biệt nhƣ dấu cách, dấu chấm, các ký hiệu toán học. Độ dài cực đại của tên là 255 ký tự.

Tên thuộc tính Name của các điều khiển, lớp và mô-đun có độ dài tối đa chỉ 40 ký tự. Không đƣợc đặt tên trùng với từ khóa.

2.1.2. ác kiểu dữ liệu Bảng 1.16: Các kiểu số trong VB K ểu dữ l u Kích ướ P ạm Byte 1 byte 0 đến 255 Integer 2 byte -32 768 đến 32 767 Long 4 byte -2 147 483 648 đến 2 147 483 647 Single 4 byte -3.402823 E38 đến -1.401298 E-45

1.401298 E-45 đến 3.402823 E38

Double 8 byte -1.79769313486231 E308 đến -4.94065645841247 E-324 4.94065645841247 E-324 đến 1.79769313486232 E308 Currency 8 byte -922 337 203 685 477.5808 đến 922 337 203 685 477.5807 Decimal 14 byte Có thể lƣu số nguyên hay số thực

39  Các phép toán số học Phép đổi dấu- Phép cộng + Phép trừ hai toán hạng – Phép nhân * Phép chia /

Phép chia lấy phần nguyên \

Phép lấy số dƣ của phép chia 2 số nguyên “Mod Phép tính lũy thừa ^

Thứ tự ƣu tiên các phép toán:

Phép tính lũy thừa Phép đổi dấu

Phép nhân và phép chia Phép chia lấy phần nguyên Phép lấy số dƣ Phép cộng và phép trừ. Bảng 1.17: Các phép toán quan hệ (phép so sánh) Ký u Ý n ĩ = So sánh bằng nhau < So sánh nhỏ hơn <= So sánh nhỏ hơn hoặc bằng <> So sánh khác nhau > So sánh lớn hơn >= So sánh lớn hơn hoặc bằng

Một số hàm thông dụng cho d liệu kiểu số

Abs(x): Hàm trả về giá trị tuyệt đối của x

40

Cos(x): Hàm tính giá trị cos x của góc x đo bằng Radian.

Tan(x): Hàm tính giá trị tag x của góc x đo bằng Radian.

Atn(x): Hàm tính giá trị arctg x của x

Int(x): Hàm trả về phần nguyên của x. Nếu x là số âm thì sẽ trả về phần nguyên có giá

trị nhỏ hơn phần nguyên 1 đơn vị.

Fix(x): Hàm trả về phần nguyên của x, không làm tròn

Sgn(x): Hàm trả về một số nguyên

Nếu x > 0 thì trả về giá trị là 1 Nếu x = 0 thì trả về giá trị là 0 Nếu x < 0 thì trả về giá trị là -1

Sqr(x): Hàm tính căn bậc hai của x

Exp(x): Hàm tính e mũ x

Log(x): Hàm tính Logarit tự nhiên của x

Round(x [, n]): Hàm làm tròn x với n chữ số sau dấu chấm thập phân

Rnd([x]): Hàm tạo số ngẫu nhiên

Kiểu lô-gic Boolean

Kiểu dữ liệu Boolean có 2 giá trị True đúng và False sai . Các phép toán trong kiểu lô-gic:

Bảng 1.18: Phép “phủ định” Not (adsbygoogle = window.adsbygoogle || []).push({});

A Not A

True False

False True

Bảng 1.19: Phép And, Or: (“và”, “hoặc”)

A B A and B A or B

True True True True

41

False True False True

False False False False

Kiểu xâu chuỗi – String

Khi chúng ta khai báo một biến kiểu String thì chiều dài của biến đó có thể thay đổi tùy thuộc vào giá trị dữ liệu mà nó đang chứa. Tuy nhiên, chúng ta có thể khai báo biến kiểu String có độ dài cố định, khi đó VB sẽ tự động thêm vào các ký tự trắng, hay xóa các ký tự thừa để độ dài của biến bằng độ dài cố định nhƣ khi khai báo.

Khai báo biến kiểu String có dạng nhƣ sau: Dim <biến> As String [ <độ dài>]

Một số hàm trên kiểu d liệu String:

Len(<chuỗi>): Hàm cho biết chiều dài của< chuỗi >

Ltrim(<chuỗi>): Hàm trả về một chuỗi sau khi xóa bỏ các khoảng trống bên trái của <chuỗi>

Rtrim(<chuỗi>): Hàm trả về một chuỗi sau khi xóa bỏ các khoảng trống bên phải của

<chuỗi>

Trim(<chuỗi>): Hàm trả về một chuỗi sau khi xóa bỏ các khoảng trống bên trái và bên phải của <chuỗi>

Left(<chuỗi>, n): Hàm trả về một chuỗi con gồm n ký tự kể cả ký tự trắng bên trái của <chuỗi>

Right(<chuỗi>, n): Hàm trả về một chuỗi con gồm n ký tự kể cả ký tự trắng bên phải của <chuỗi>

Mid(<chuỗi>, p [, n]): Hàm trả về một chuỗi con đƣợc lấy từ <chuỗi> bắt đầu từ vị trí p và gồm n ký tự.

Chú ý: Mid <chuỗi>, p tƣơng đƣơng với Right <chuỗi>, Len <chuỗi> -p+1)

Space(n): Hàm trả về một chuỗi gồm n khoảng trắng.

String(n, <ký tự>): Hàm trả về một chuỗi gồm n <ký tự> giống nhau.

InStr(<bắt đầu>, <chuỗi 1>, <chuỗi 2>, <tùy chọn>): Hàm tìm xem chuỗi con <chuỗi 2> có nằm trong chuỗi mẹ <chuỗi 1> hay không? Hàm InStr trả về không nếu không tìm thấy; Nếu tìm thấy hàm InStr sẽ trả về vị trí đầu tiên của chuỗi con <chuỗi 2> trong chuỗi mẹ <chuỗi 1>.

42 Các tham số trong hàm:

<bắt đầu>: vị trí bắt đầu tìm,nếu không ghi thì bắt đầu tìm ở vị trí đầu. <chuỗi 1>: chuỗi mẹ

<chuỗi 2>: chuỗi con

<tùy chọn>: có hằng và giá trị nhƣ sau:

Bảng 1.20: H ng, giá trị và diễn giải h ng trong VB (adsbygoogle = window.adsbygoogle || []).push({});

Hằn G á rị D ễn ả

vbBinaryCompare 0 So sánh nhị phân so sánh chính xác từng ký tự vbTextCompare 1 So sánh chuỗi

vbDataBaseCompare 2 So sánh cơ sở dữ liệu dùng cho CSDL Access) Nếu không ghi tham số <tùy chọn> thì ngầm hiểu là so sánh nhị phân.

Nếu có ghi tham số <tùy chon> thì phải ghi tham số <bắt đầu>. Một số hàm:

Ucase(<chuỗi>): hàm trả về <chuỗi> thành chữ hoa

Lcase(<chuỗi>): hàm trả về <chuỗi> thành chữ thƣờng

Asc(<chuỗi>): hàm trả về mã ASCII của ký tự đầu tiên trong <chuỗi>

Chr(<mã ASCII>): hàm trả về ký tự tƣơng ứng với<mã ASCII>

Str(<số>):hàm trả về chuỗi ký tự từ <số>, chuỗi này luôn có một ký tự đầu ghi dấu trong trƣờng hợp số âm, hoặc một khoảng trống trong trƣờng hợp số dƣơng.

Val(<chuỗi>): hàm trả về một số thực tƣơng ứng với <chuỗi>

Replace(<chuỗi>, <chuỗi cần tìm>, <chuỗi cần thay thế>, <vị trí thay thế>, <số lần thay thế>).

Kiểu d liệu do ngƣời lập trình tự định nghĩa

Đây là kiểu dữ liệu cho phép chúng ta có thể khai báo nhiều loại thông tin với các kiểu dữ liệu khác nhau trong một biến. Cú pháp:

Type <tên kiểu dữ liệu>

<thành phần 1> As <kiểu dữ liệu 1> <thành phần 2> As <kiểu dữ liệu 2>

43 …

<thành phần n> As <kiểu dữ liệu n>

End Type

Một số hàm chuyển đổi kiểu d liệu

CBool(x): hàm trả về giá trị kiểu Boolean của x

CByte(x): hàm trả về giá trị kiểu Byte của x

CCur(x): hàm trả về giá trị kiểu Currency của x

CDate(x): hàm trả về giá trị kiểu Date của x

CDbl(x): hàm trả về giá trị kiểu Double của x

CDec(x): hàm trả về giá trị kiểu Decimal của x

CInt(x): hàm trả về giá trị kiểu Integer của x

CLng(x): hàm trả về giá trị kiểu Long của x

CSng(x): hàm trả về giá trị kiểu Single của x.

Cstr(x): hàm trả về giá trị kiểu String của x

CVar(x): hàm trả về giá trị kiểu Variant của x (adsbygoogle = window.adsbygoogle || []).push({});

Val(<chuỗi>): hàm trả về số tƣơng ứng của <chuỗi>.

Visual Basic còn có 4 hàm chuyển đổi số ở hệ thập phân thành hệ bát phân hệ 8 và hệ thập lục phân hệ 16 :

Oct(x) hoặc Oct$(x): hàm trả về giá trị số hệ bát phân Variant hoặc chuỗi tƣơng ứng

của x

Hex(x) hoặc Hex$(x): hàm trả về giá trị số hệ thập lục phân Variant hoặc chuỗi tƣơng

44

CHƢƠNG 2. PHƢƠNG TIỆN VÀ PHƢƠNG PHÁP 2.1. Phạm vi nghiên cứu

Phân chia thời gian, công việc hợp lý cho quá trình làm luận văn. Lên kế hoạch và báo cáo tiến độ làm việc, từ đó xem xét diều chỉnh tiến độ cho phù hợp, đƣợc tóm tắt nhƣ bảng 2.1 dƣới đây. Đăc biệt, trong quá trình làm bài tranh thủ sự quan tâm, giúp đỡ của giáo viên hƣớng dẫn cũng nhƣ sự hƣớng dẫn từ các hƣớng khác. Và trong hệ thống cần phải có:

Thời gian thực hiện: từ tháng 8 – 11/2014.

Địa điểm: Đề tài đƣợc thực hiện tại Bộ môn Tài Nguyên Đất Đai, Khoa Môi Trƣờng và Tài Nguyên Thiên Nhiên, Trƣờng Đại Học Cần Thơ

Bảng 2.1: Thời gian biểu

T ờ n Nộ

dun ôn

Tháng 8 Tháng 9 Tháng 10 Tháng 11

Viết đề cƣơng X

Nghiên cứu tài liệu X

Lập trình các form- report X

Viết báo cáo X

2.2. Phƣơng tiện

Tài liệu, số liệu.

Các thiết bị phục vụ đề tài: máy vi tính, bộ nhớ ngoài và một số thiết bị khác liên quan. Đề tài sử dụng phần mềm: Visual basic 6.0

2.3. Phƣơng pháp

Đƣợc thực hiện gồm các bƣớc:

45

Thu thập dữ liệu, tài liệu thông qua các trang website trên internet, thông qua sách, báo, giáo trình và các tài liệu có liên quan đến phần mềm. Đặc biệt, phải xem xét, chọn lọc các dữ liệu nào cần thiết cho quá trình nghiên cứu.

Bƣớc 2: Nghiên cứu phầm mềm

Đọc, tham khảo từ đó phân tích các tài liệu, số liệu liên quan đến đề tài. Bƣớc 3: Lập trình, thiết kế các Form – Report trong trắc địa.

Nhƣ: Mối quan hệ giữa góc định hƣớng và góc bằng. Mối quan hệ giữa góc bằng với GĐH

Mối quan hệ giữa góc hai phƣơng với góc định hƣớng.

(adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu nghiên cứu lập trình tính toán nhanh một số bài toán trắc địa cơ bản phục vụ giải đáp bài tập trắc địa đại cương (Trang 54)