Module
Contents
Index 🔎︎

# 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