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