Результат такой же, но кодировка совершенно иная. Может ли кто-нибудь объяснить, что отличает эти два? Какой из них лучше работает?Разница между Public и Dim
★★ Это первый один с помощью Dim ★★
Option Explicit
Sub Main()
Dim fileNo_input As Integer
Dim fileNo_output As Integer
Dim buf As String
fileNo_input = FreeFile
Open "D:\text.txt" For Input As #fileNo_input
fileNo_output = FreeFile
Open "D:\output.txt" For Append As #fileNo_output
Do While Not EOF(fileNo_input)
Input #fileNo_input, buf
Print #fileNo_output, buf
Loop
Close #fileNo_input
Close #fileNo_output
End Sub
★★ И второй один использует Public ★★
Option Explicit
Public buf(10) As String
Public line As Integer
Sub Main()
FILE_READ ("D:\text.txt")
FILE_WRITE ("D:\output.txt")
End Sub
Function FILE_READ(INPUT_FILENAME As String)
Dim fileNo_input As Integer
fileNo_input = FreeFile
Open INPUT_FILENAME For Input As #fileNo_input
line = 0
Do While Not EOF(fileNo_input)
Input #fileNo_input, buf(line)
line = line + 1
Loop
Close #fileNo_input
End Function
Function FILE_WRITE(OUTPUT_FILENAME As String)
Dim fileNo_output As Integer
Dim i As Integer
fileNo_output = FreeFile
Open OUTPUT_FILENAME For Append As #fileNo_output
For i = 0 To line - 1
Print #fileNo_output, buf(i)
Next
Close #fileNo_output
End Function
Интересно, что это отличается от обоих, для меня это на 100%, потому что результат абсолютно одинаковый.
Они скрывают множество окончательной информации о таком роде вещей на MSDN – Plutonix