Làm việc với file

Một phần của tài liệu Tài liệu hướng dẫn thực tập tốt nghiệp Tin học xây dựng - Chương 1 pptx (Trang 41 - 43)

Để lưu dữ liệu ra file, có 2 ph ương pháp: l ưu kiểu văn bản (text) và l ưu kiểu nhị phân (binary). Do đặc thù của các phần mềm xây dựng thường làm vi ệc với các file v ăn bản, trong tài liệu này chúng tôi chỉ giới thiệu các phương thức làm việc với file văn bản.

I.2.8.1. M file

Khi mở file text, có 3 chế độ mở file sau: - Đọc các ký tự từ file (Input) - Ghi các ký tự ra file (Output)

- Ghi thêm các ký tự vào cuối file đã có (Append) Cú pháp lệnh mở file

Khi mở file ở chế độ Input, file <pathname> phải tồn tại, nếu không, chương trình sẽ phát sinh lỗi. Khi đó phải sử dụng các lệnh bắt lỗi (xem phần gỡ rối). Các chế độ Output và Append sẽ tự tạo file mới nếu như file này chưa có trên ổ đĩa.

Các file sau khi mở phải được đóng lại bằng lệnh Close, nhất là đối với các chế độ Output và Append (nếu bạn không đóng lại thì các thông tin ghi ra file sẽ bị mất).

I.2.8.2. Đọc file

Để đọc thông tin từ file text, mở file ở chế độ Input, sau đó sử dụng các lệnh Line Input #, Input( ), hoặc Input # để đọc thông tin từ file vào các biến trong chương trình.

Đoạn code dưới đây đọc từng dòng vào từ file, nối chúng lại thành một xâu ký tự chứa toàn bộ nội dung của file.

Dim FileNum As Integer

Dim LinesFromFile, NextLine As String FileNum = FreeFile

Open "<Tên file>" For Input As FileNum Do Until EOF(FileNum)

Line Input #FileNum, NextLine

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

Loop

Close FileNum

Bạn có thể sử dụng lệnh Input # đọc một loạt các biến (số, xâu ký tự...) Input #FileNum, name, street, city, state, zip

Bạn có thể sử dụng hàm Input để đọc n ký tự liên tiếp từ file LinesFromFile = Input(n, FileNum)

I.2.8.3. Ghi file

Để ghi giá trị các biến ra file, mở file ở chế độ Output (hoặc Append), sau đó sử dụng các lệnh Print # để in các giá trị ra file. Chú ý rằng cách lệnh này sẽ in mỗi giá trị (xâu ký tự, số) trên 1 dòng. Như vậy, muốn in nhiều giá trị trên 1 dòng với lệnh Print # thì bạn chuyển tất cả thành xâu ký tự, nối chúng lại với nhau rồi in xâu ký tự kết quả đó ra.

Print #FileNum, TheBox.Text AnyString = "AnyCharacters" AnyNumber = 23445

Lines = AnyString & " " & AnyNumber

Print #FileNum, Lines

Như đã đề cập ở trên, có thể sử dụng lệnh Input # để đọc liên tiếp các giá trị từ file text. Tuy nhiên, chỉ có những file text được tạo bởi lệnh Write # mới đọc được bằng lệnh Input #.

AnyString = "AnyCharacters" AnyNumber = 23445

Write #FileNum, AnyString, AnyNumber

Với đoạn lệnh ví dụ ở trên, file kết quả sẽ có nội dung như sau "AnyCharacters",23445

Có nghĩa là các giá trị sẽ được ghi cách nhau bởi dấu phẩy, các giá trị xâu ký tự sẽ được đặt trong cặp ngoặc kép. Các c ấu trúc file text trong các ph ần mềm phân tích k ết cấu thông dụng thường không theo cấu trúc này. Vì vậy, để làm việc với các file text này chúng ta s ẽ sử dụng các lệnh Line Input (đọc) và Print (ghi).

Một phần của tài liệu Tài liệu hướng dẫn thực tập tốt nghiệp Tin học xây dựng - Chương 1 pptx (Trang 41 - 43)