IBM Lotus Symphony
|
Służy do odczytywania danych z otwartego pliku o dostępie sekwencyjnym.
Input #NumerPliku As Integer; zmienna1[, zmienna2[, zmienna3[,...]]]
NumerPliku: Numer pliku, który zawiera dane do odczytu. Plik musi zostać otwarty za pomocą instrukcji Open z użyciem słowa kluczowego INPUT.
zmienna: Zmienna liczbowa lub łańcuchowa, do której mają zostać przypisane wartości odczytane z otwartego pliku.
Instrukcja Input# odczytuje wartości liczbowe lub łańcuchy z otwartego pliku i przypisuje te dane do jednej lub wielu zmiennych. Zmienna liczbowa jest odczytywana do pierwszego znaku powrotu karetki (Asc=13), znaku nowego wiersza (Asc=10), spacji lub przecinka. Zmienne łańcuchowe są odczytywane do pierwszego znaku powrotu karetki (Asc=13), znaku nowego wiersza (Asc=10) lub przecinka.
Dane i typy danych w otwartym pliku muszą występować w tej samej kolejności co zmienne przekazane w parametrze zmienna. W przypadku przypisania do zmiennej liczbowej wartości innej niż liczbowa zostanie jej przypisana wartość 0.
Do zmiennej łańcuchowej nie można przypisać rekordów rozdzielonych przecinkami. Również znaki cudzysłowu (") znajdujące się w pliku zostaną zignorowane. Aby odczytać te znaki z pliku, należy użyć instrukcji Line Input# w celu odczytania wiersz po wierszu czystych plików tekstowych (plików zawierających tylko znaki drukowalne).
Jeśli podczas odczytu elementu danych zostanie osiągnięty koniec pliku, wystąpi błąd i proces zostanie przerwany.
Sub PrzykladPracyZPlikiem
Dim iNumer As Integer
Dim sWiersz As String
Dim aPlik As String
Dim sKom as String
aPlik = "c:\data.txt"
iNumer = Freefile
Open aPlik For Output As #iNumer
Print #iNumer, "To jest wiersz tekstu"
Print #iNumer, "To jest inny wiersz tekstu"
Close #iNumer
iNumer = Freefile
Open aPlik For Input As iNumer
While not eof(iNumer)
Line Input #iNumer, sWiersz
If sWiersz <>"" then
sKom = sKom & sWiersz & chr(13)
end if
wend
Close #iNumer
Msgbox sKom
End Sub