Input# Statement

Đọc dữ liệu từ một tập tin dãy còn mở.

Cú pháp:

Input #FileNumber As Integer; var1[, var2[, var3[,...]]]

Tham số :

FileNumber: số thứ tự của tập tin mà chứa dữ liệu bạn muốn đọc. Tập tin phải được mở bằng câu lệnh « Open », dùng từ khoá INPUT (nhập liệu).

var: một biến kiểu số hoặc chuỗi cho đó bạn gán các giá trị được đọc từ tập tin còn mở.

Câu lệnh Input# đọc các giá trị thuộc số hoặc các chuỗi từ một tập tin còn mở, và gán dữ liệu cho một hai nhiều biến. Một biến thuộc số được đọc đến khi gặp đầu tiên một ký tự xuống dòng (CR, Asc=13; LF, Asc=10), dấu cách hoặc dấu phẩy. Biến chuỗi được đọc đến khi gặp đầu tiên một ký tự xuống dòng (CR, Asc=13; LF, Asc=10) hoặc dấu phẩy.

Dữ liệu và các kiểu dữ liệu trong tập tin được mở phải xuất hiện theo cùng một thứ tự với các biến được gửi qua trong tham số « var ». Nếu bạn gán giá trị không thuộc số cho một biến thuộc số, « var » được gán một giá trị số không.

Các bản ghi phân tách bằng dấu phẩy không thể được gán cho một biến chuỗi. Dấu nháy kép « " » trong tập tin cũng bị bỏ qua. Nếu bạn muốn đọc các ký tự như vậy trong tập tin, hãy dùng câu lệnh Line Input# để đọc từng dòng tập tin văn bản thuần (tập tin chỉ chứa các ký tự có thể in ra).

Nếu tới kết thúc tập tin trong khi đọc một phần tử dữ liệu thì gặp lỗi nên hủy bỏ tiến trình.

Thí dụ :


Sub ExampleWorkWithAFile
Dim iCount As Integer
Dim sName As String
Dim sValue As Integer
Dim sFileName As String
 
sFileName = "c:\data.txt"
iCount = Freefile
 
' Write data ( which we will read later with Input ) to file
Open sFileName For Output As iCount
sName = "Hamburg"
sValue = 200
Write #iCount, sName, sValue
sName = "New York"
sValue = 300
Write #iCount, sName, sValue
sName = "Miami"
sValue = 459
Write #iCount, sName, sValue
Close #iCount
 
iCount = Freefile
' Read data file using Input
Open sFileName For Input As iCount
Input #iCount; sName, sValue
MsgBox sName & " " & sValue
Input #iCount; sName, sValue
MsgBox sName & " " & sValue
Input #iCount; sName, sValue
MsgBox sName & " " & sValue
Close #iCount
End Sub

Please support us!