Programowanie w języku Visual Basic

Post on 13-Jan-2016

50 views 1 download

description

Programowanie w języku Visual Basic. Czytanie danych z pliku tekstowego Andrzej Borowiecki Kraków 2009. W celu określenia nazwy i lokalizacji pliku tekstowego zawierającego numery punktów i współrzędne można zastosować instrukcję InputBox. 2.6.2. Otwarcie pliku tekstowego - PowerPoint PPT Presentation

Transcript of Programowanie w języku Visual Basic

Programowanie w języku Visual Basic

Czytanie danych z pliku tekstowego

Andrzej Borowiecki

Kraków 2009

W celu określenia nazwy i lokalizacji pliku tekstowego zawierającego numery punktów i współrzędne można zastosować instrukcję InputBox.

2.6.2. Otwarcie pliku tekstowego

Jeżeli chcemy czytać dane z pliku tekstowego, na przykład o nazwie plikd – otwieramy go do czytania (Input) instrukcją:

Open plikd For Input As #1

Jeżeli chcemy zapisywać wyniki do pliku tekstowego, na przykład o nazwie plikw –otwieramy go do pisania (Output) instrukcją:

Open plikw For Output As #2

Czytanie danych z pliku tekstowego

W dalszym ciągu programu każdy otwarty plik jest identyfikowany przez swój numer. Na przykład instrukcja czytania danych z pliku o numerze 1 ma następującą postać:

Input #1, Nr, x, y

Zamykanie pliku tekstowego

Każdy plik tekstowy po wykorzystaniu należy zamknąć instrukcją Close zawierającą numer tego pliku. Na przykład:

Close #1

Przeglądanie pliku tekstowego o nieokreślonej długości:

Instrukcja While Not EOF(n)… Wend

Pierwsza jej część: While Not EOF(1) oznacza:

Dopóki Nie Koniec pliku (1).

Jeżeli program nie natrafi na koniec pliku nr 1, wykonywane są dalsze instrukcje aż do linii zawierającej Wend, po czym program wraca na początek pętli do linii While Not EOF(1) .

Ważne jest, żeby wewnątrz pętli While Not EOF(1) ... Wend znajdowała się instrukcjaczytania z pliku (INPUT #1, lista zmiennych ) na przykład:

Input #1, nr, x,y

która czyta kolejne wiersze pliku tekstowego, co prowadzi w efekcie do natrafienia nakoniec pliku. Bez tej instrukcji pętla While Not EOF(1) ... Wend będzie działała wnieskończoność.

While Not EOF(1)…..Input #1, nr, x,y……

Wend

Wyszukiwanie danych w pliku tekstowym:

nra = Val(nrAt.Text) nrb = Val(nrBt.Text)

Liczby wpisane w polach tekstowych oznaczających numery punktów A i B podstawiane są pod zmienne: nra i nrb .

Po wczytaniu wiersza z pliku tekstowego nrxy.txt wczytany numer nr jest porównywany z numerem wpisanym w okienku – jeżeli są identyczne, współrzędne X i Y są wpisywane do okienek na formularzu.

If nra = nr Then XAt.Text = x YAt.Text = y End If

Analogicznie dla punktu B

przycisk Plik z danymi:

Private Sub CommandButton3_Click()

PLIKD = InputBox("Podaj nazwę pliku ze współrzędnymi", "CZYTANIE DANYCH", "D:\VB1\novak\nrxy.txt") ‘wszystko w jednej lini!!!

End Sub

Private Sub CommandButton4_Click() nra = Val(nrAt.Text) nrb = Val(nrBt.Text) Open PLIKD For Input As 1 While Not EOF(1) Input #1, nr, x, y If nra = nr Then XAt.Text = x YAt.Text = y End If If nrb = nr Then XBt.Text = x YBt.Text = y End If Wend Close #1End Sub

Instrukcja powtarzania: For ... To ... Next

Zapis For i = 1 To pk oznacza: Dla i zmieniającego się od 1 do pk.Dla każdej , kolejnej wartości i wykonywane są wszystkie instrukcje programu zawarte między linią For i linią Next i. Czyli zostaną one wykonane pk razy.

Open PLIKD For Input As 1For i = 1 To pk ………….. Input #1, Nr, X, Y XP(i)=X YP(i)=Y …………..Next i

Zmienną i nazywamy zmienną sterującą. Musi ona być zmienną całkowitą – typu integer.

i=0While Not EOF(1) i=i+1 Input #1, nr, x, y XP(i)=X YP(i)=YWend

Ta sama operacja wykonana za pomocą instrukcji While Not EOF

Open PLIKD For Input As 1

Zmienne tablicowe

Zmienne tablicowe, to zbiór zmiennych, które mają tę samą nazwę, a rozróżniane są za pomocą indeksu.

Inaczej mówiąc są to n-wymiarowe tabele liczb, a indeks (lub indeksy) wskazują położenie danej liczby w tabeli.

Wielkość tabeli i typ zmiennych w tabeli określamy za pomocą instrukcji Dim:

Przykłady:

Dim nazwa(20) as string - tablica zmiennych tekstowych o 20 wierszach

Dim x(20) as double, y(20) as double - tablice zmiennych rzeczywistych

Zmiana wymiaru tablicy w trakcie obliczeń

Redim MyArray(10) ' Zmiana wymiaru do 10 elementów.

For I = 1 To 10 ' Pętla wykonana 10 razy

MyArray(I) = I ' Pod i-ty element podstawia i

Next I