Khi Form chứa txtEdit thay đổi kích thước (resize) xảy ra sự kiện Form_Resize Đặt lạ

Một phần của tài liệu Giáo án - Bài giảng: Lập trình Visual (Trang 67 - 72)

, : Dấu ngăn c|ch phần nghìn

Khi Form chứa txtEdit thay đổi kích thước (resize) xảy ra sự kiện Form_Resize Đặt lạ

(resize) xảy ra sự kiện Form_Resize. Đặt lại kích thước điều khiển txtEdit bằng kích thước form txtEdit.Width = ScaleWidth txtEdit.Height = ScaleHeight PNH-HUT 265 Chương 9 Xử lý tập tin PNH-HUT 266 Nội dung

9.1. C|c kiểu truy cập tập tin

9.2. Tập tin tuần tự

9.3. Tập tin truy xuất ngẫu nhiên

9.1. C|c kiểu truy cập tập tin

Tập tin: một d~y c|c byte trên đĩa. (ký tự, bản ghi, số, chuỗi …) số, chuỗi …)

Có 3 kiểu truy cập tập tin: tuần tự, ngẫu nhiên, nhị phân. phân.

Tuần tự (Sequential): Đọc/ghi c|c tập tin văn bản theo c|c chuỗi liên tục. theo c|c chuỗi liên tục.

Ngẫu nhiên (Random): Đọc/ghi tập tin văn bản, nhị ph}n có cấu trúc theo c|c mẩu tin có độ d{i cố nhị ph}n có cấu trúc theo c|c mẩu tin có độ d{i cố định.

9.2. Tập tin tuần tự - Open

Mở tập tin:

 Cú pháp:

Openpathname For [Input | Output | Append] As

filenumber[Len = buffersize]

Tham số:

- Input: Mở tập tin để đọc, tập tin phải tồn tại sẵn, nếu không sẽ b|o lỗi.

- Mở tập tin chưa có sẵn với Output, Append sẽ tạo mới tập tin v{ mở nó.

- Len: số ký tự trong vùng đệm khi sao chép dữ liệu giữa tập tin v{ chương trình.

- Filenumber: số hiệu tập tin được mở (nguyên, từ 1 .. 511).

PNH-HUT

269

9.2. Tập tin tuần tự - Open (tt)

Mở tập tin – Ví dụ:

Open“C:\TESTFILE" ForOutput As#1 ' Mở tập tin để ghi. tin để ghi.

PNH-HUT

270

9.2. Tập tin tuần tự - Input

Đọc nội dung tập tin:

Hàm Input

Cú pháp: Input (number, filenumber) As String

Trả về number ký tự của tập tin có số hiệu được chỉ định bởi filenumber (adsbygoogle = window.adsbygoogle || []).push({});

Lệnh Input

Cú pháp: Input # filenumber, varlist

Đọc nội dung của tập tin v{o c|c biến được chỉ bởi varlist. Chỉ sử dụng với c|c tập tin được ghi bởi lệnh Write #

Lệnh: Line Input # filenumber, varname

Đọc nội dung của một dòng trong tập tin tuần tự v{o biến chuỗi (varname).

9.2. Tập tin tuần tự - Input (tt)

Đọc nội dung tập tin – Ví dụ:

 Dùng Line Input để đọc từng dòng: Dim LinesFromFile, NextLine As String Do Until EOF(1)

Line Input #1, NextLine

LinesFromFile = LinesFromFile + NextLine + Chr(13) + Chr(10)

Loop

 Dùng Input để đọc một danh s|ch c|c th{nh phần: Input #1, name, street, city, state, zip

 Dùng hàm Inputđể đọc về n ký tự: LinesFromFile = Input(n, #1)

9.2. Tập tin tuần tự - Write

Ghi dữ liệu lên tập tin:  Có 2 c}u lệnh Write # v{ Print #  Có 2 c}u lệnh Write # v{ Print # C}u lệnh Write #

 Cú pháp: Write #filenumber, [outputlist]

 Ghi dữ liệu v{o tập tin tuần tự. Nội dung ghi chứa trong danh s|ch biến outputlist, c|c phần tử danh s|ch c|ch nhau bởi dấu phẩy. Nếu không có outputlist thì ghi một dòng trắng.

PNH-HUT

273

9.2. Tập tin tuần tự - Write (tt)

C}u lệnh Print #

 Cú pháp:Print # filenumber, [outputlist]

 Tương tự như lệnh Write nhưng dữ liệu có thể định dạng khi ghi lên tập tin.

 Đối số outputlist có thể l{:

[{Spc(n) | Tab[(n)]}] [expression] [charpos]

Trong đó:

- Spc(n): xen n khoảng trắng v{o tập tin.

- Tab(n): dùng để x|c định cột bắt đầu ghi dữ liệu trong vùng ghi với n l{ số thứ tự cột. Dùng Tab không đối số để chỉ vị trí bắt đầu của vùng ghi tiếp theo.

- Expression: biểu thức chuỗi hoặc biểu thức số

- Charpos: chỉ định vị trí của ký tự kế tiếp. (adsbygoogle = window.adsbygoogle || []).push({});

PNH-HUT

274

9.2. Tập tin tuần tự - Write (tt)

Ghi tập tin – ví dụ:

 Ghi nội dung hộp văn bản (một chuỗi) v{o tập tin: Print #1, Thebox.text

Print #1, "This is a test" ' Ghi chuỗi v{o tập tin. Print #1, ' Ghi một dòng trắng v{o tập tin.

Print #1, "Zone 1"; Tab ; "Zone 2" ' Tạo hai vùng ghi

 Ghi danh s|ch chuỗi, số:

Dim strString as String, intNumber as Integer strString = “AnyCharacters”

intNumber = 23456

9.2. Tập tin tuần tự - Close

Đóng tập tin:

 Cú pháp: Close filenumberlist

Đóng lại c|c tập tin được mở với c|c số hiệu được mô tả trong filenumberlist, filenumberlist có dạng sau: [[#]filenumber] [, [#]filenumber] . . .

 Ví dụ: Đóng tập tin đ~ mở cho c|c thao t|c trước

9.2. Tập tin tuần tự - Thực h{nh

Ví dụ: Thiết kế ứng dụng duyệt v{ đọc nội dung tập tin văn bản trên đĩa cứng (B{i thực h{nh) tập tin văn bản trên đĩa cứng (B{i thực h{nh)

PNH-HUT

277

9.3. Tập tin truy xuất ngẫu nhiên

Dữ liệu trong tập tin truy xuất ngẫu nhiên có dạng c|c bản ghi đồng nhất. (Tương đương kiểu dữ liệu mẩu tin). Ví ụ: Kiểu worker tạo mẫu tin 19 bytes gồm 3 trường:

Type worker

LastName As String *10 Tilte As String * 7 Rank As String *2 End Type

Sau khi định nghĩa kiểu mẩu tin, khai b|o c|c biến m{ ứng dụng cần để xử lý 1 tập tin mở để truy cập ngẫu nhiên:

Public Employee as worker

PNH-HUT

278

9.3. Tập tin truy xuất ngẫu nhiên - Open

Mở tập tin:

Cú pháp: (adsbygoogle = window.adsbygoogle || []).push({});

Open pathname [For Random] As filenumber [Len = RecLength]

 Tham số:

- For Random: Mặc định nên có thể không viết.

- Filenumber: Số hiệu tập tin được mở

- Kích thước cho một mẩu tin. Nếu nhỏ hơn sẽ g}y lỗi. Nếu lớn hơn thì l~ng phí.

9.3. Tập tin truy xuất ngẫu nhiên - Get

Đọc nội dung tập tin – C}u lệnh Get:

Cú pháp:

Get [#] filenumber, [recnumber], varname

 Đọc nội dung mẩu tin thứ recnumberv{o biến

varname.

9.3. Tập tin truy xuất ngẫu nhiên - Put

Ghi dữ liệu lên tập tin – C}u lệnh Put:

Cú pháp:

Put [#] filenumber, [recnumber], varname

 Ghi mẩu tin thay thế hoặc thêm mới.

 Thay thế: Nếu recnumber <= số mẩu tin hiện tại

 Thêm mới: recnumber = số mẩu tin hiện tại + 1

PNH-HUT

281

9.3. Tập tin truy xuất ngẫu nhiên - Close

Đóng tập tin:

 Như với tập tin tuần tự

 Lệnh: Close filenumberlist

 Đóng lại c|c tập tin được mở với c|c số hiệu được mô tả trong filenumberlist, filenumberlist có dạng sau: [[#]filenumber] [, [#]filenumber]...

PNH-HUT

282

9.3. Tập tin truy xuất ngẫu nhiên – Ví dụ

Giả sử ta có khai b|o 1 mẩu tin như sau:

Type Hanghoa MaHang As String * 10 TenHang As String * 40 DVTinh As String * 15 Gia As Double End Type (adsbygoogle = window.adsbygoogle || []).push({});

Ghi dữ liệu lên tập tin có cấu trúc là các mẩu tin như trên Dim h As Hanghoa h.MaHang = "AM01" h.TenHang = "Dau goi Clear" h.DVTinh = "Chai"

h.Gia = 14000#

Open "E:\Test.dat" For Random As #1 Len = LenB(h)

9.3. Tập tin truy xuất ngẫu nhiên – Ví dụ

Đọc dữ liệu từ tập tin có cấu trúc như trên:

Dim h As Hanghoa

Open "E:\Test.dat" For Random As #1 Len = LenB(h) Get #1, 1, h

Close #1

MsgBox h.MaHang & ": " & h.TenHang & ": " & h.DVTinh & ": " & Str(h.Gia), , “Thong tin Hang Hoa”

Chương 10

Một phần của tài liệu Giáo án - Bài giảng: Lập trình Visual (Trang 67 - 72)