• Nie Znaleziono Wyników

VB_7.2_Instrukcja cyklu Do...While, Do...Until

N/A
N/A
Protected

Academic year: 2021

Share "VB_7.2_Instrukcja cyklu Do...While, Do...Until"

Copied!
4
0
0

Pełen tekst

(1)

Copyright ©2014 Janusz Bonarowski 1

VB_7.2_Instrukcja cyklu Do...While, Do...Until

Wykonajmy aplikację pozwalająca wczytać wierszami plik tekstowy do TextBox’u. Dla wygody użytkownika umożliwimy odczytywanie i zapisywanie pliku poprzez okno dialogowe. Polecenia wydamy z menu. Propozycja formularza patrz rys. 1.

Rys. 1. Propozycja formularza

Aby obiekt TextBox mógł wyświetlać tekst w więcej niż jednej linii należy jego właściwość Multiline ustawić na True. Aby TextBox txtOkno wypełniał cały formularz bez względu na jego rozmiar nadajmy, w fazie projektowania, właściwości Dock wartość Fill. Menu zbudujmy jak na rys. 2.

Rys. 2. Projekt menu

(2)

Copyright ©2014 Janusz Bonarowski 2 Główny fragment kodu zapewniający odczytywanie pliku tekstowego o nieznanej liczbie wierszy - pokazano na listingu 1.

Listing 1 '(1) Otwarcie pliku do odczytu.

FileOpen(1, plik, OpenMode.Input)

'(2) Odczytanie pliku wierszami.

txtOkno.Text = ""

Do While Not EOF(1) 'Czytaj wiersze dopóki (Not EOF(1) = True txtOkno.Text = txtOkno.Text & LineInput(1) & vbCrLf

Loop

'(3) Zamknięcie pliku FileClose(1)

Pełny kod aplikacji

Listing 2 Private Sub OtwórzToolStripMenuItem_Click(ByVal sender As _ System.Object, ByVal e As System.EventArgs) _ Handles OtwórzToolStripMenuItem.Click

' Otwarcie okna dialogowego OpenFileDialog ' o nazwie dlgOtworz

' Określenie początkowego folderu

'jako bieżącego folderu (Current Directory) funkcja CurDir dlgOtworz.InitialDirectory = CurDir()

dlgOtworz.Filter = _

"Pliki tekstowe (*.txt)|*.txt|Wszystkie pliki(*.*)|*.*"

' Otwarcie okna dialogowego (i nic więcej).

' Dalsze akcje w oknie dialogowym obsługiwane są ' w procedurze dlgOtworz_FileOk poniżej

dlgOtworz.ShowDialog() End Sub

Private Sub dlgOtworz_FileOk(ByVal sender As System.Object, _ ByVal e As System.ComponentModel.CancelEventArgs) _ Handles dlgOtworz.FileOk

' Obsługa zdarzenia: kliknięcie przycisku [Otwórz]

' w oknie dialogowym - wczytanie danych z pliku Dim plik As String

' Odczytanie ścieżki do pliku.

plik = dlgOtworz.FileName Try

' (1) Otwarcie pliku do odczytu.

FileOpen(1, plik, OpenMode.Input) ' (2) Odczytanie pliku wierszami.

txtOkno.Text = ""

' Czytaj wiersze dopóki (Not EOF(1) = True Do While Not EOF(1)

txtOkno.Text = txtOkno.Text & LineInput(1) & vbCrLf Loop

' (3) Zamknięcie pliku FileClose(1)

(3)

Copyright ©2014 Janusz Bonarowski 3 Catch ex As Exception

'Obsługa błędów FileClose(1) 'Prosta

MsgBox(ex.Message) 'Bardziej rozbudowana 'If Err.Number = 53 Then

' MsgBox("Plik o tej nazwie nie istnieje", , _ ' "Błąd dabych")

'ElseIf Err.Number = 13 Then

' MsgBox("Plik zawera błędne dane", , _ ' "Błąd danych")

'Else

' MsgBox("Błąd nr = " & Err.Number.ToString) 'End If

End Try End Sub

Private Sub ZapiszToolStripMenuItem_Click(ByVal sender As _ System.Object, ByVal e As System.EventArgs) _ Handles ZapiszToolStripMenuItem.Click

'Otwarcie okna dialogowego SaveFileDialog 'o nazwie dlgZapisz

dlgZapisz.InitialDirectory = CurDir() 'dlgZapisz.Title = "Zapisz plik"

dlgZapisz.Filter = _

"Plik danych (*.txt)|*.txt|All Files(*.*)|*.*"

dlgZapisz.ShowDialog() End Sub

Private Sub dlgZapisz_FileOk(ByVal sender As System.Object, _ ByVal e As System.ComponentModel.CancelEventArgs) _ Handles dlgZapisz.FileOk

' Obsługa zdarzenia: kliknięcie przycisku [Zapisz]

' w oknie dialogowym dlgZapisz Dim plik As String

' Pobranie nazwy pliku plik = dlgZapisz.FileName

'(1) Otwarcie pliku do zapisu

FileOpen(1, plik, OpenMode.Output)

'(2) Odczytanie danych.

PrintLine(1, txtOkno.Text)

'(3) Zamknięcie pliku.

FileClose(1) End Sub

(4)

Copyright ©2014 Janusz Bonarowski 4 Private Sub KoniecToolStripMenuItem_Click(ByVal sender As _

System.Object, ByVal e As System.EventArgs) _ Handles KoniecToolStripMenuItem.Click

'Zamknięcie aplikacji Dim odp As Integer

odp = MsgBox("Czy rzeczywiście zamknąć aplikację?", _ MsgBoxStyle.Question + MsgBoxStyle.YesNo, _ "Zamykanie aplikacji")

If odp.ToString = vbYes Then End

End If End Sub

Private Sub KopiujToolStripMenuItem_Click(ByVal sender As _ System.Object, ByVal e As System.EventArgs) _ Handles KopiujToolStripMenuItem.Click

My.Computer.Clipboard.Clear()

My.Computer.Clipboard.SetText(txtOkno.SelectedText) End Sub

Private Sub WklejToolStripMenuItem_Click(ByVal sender As _ System.Object, ByVal e As System.EventArgs) _ Handles WklejToolStripMenuItem.Click

If My.Computer.Clipboard.ContainsText Then

txtOkno.SelectedText = My.Computer.Clipboard.GetText End If

End Sub

Private Sub WytnijToolStripMenuItem_Click(ByVal sender As _ System.Object, ByVal e As System.EventArgs) _ Handles WytnijToolStripMenuItem.Click

My.Computer.Clipboard.Clear() 'Wyczyść Schowek.

' Umieść w Schowku zaznaczony tekst.

My.Computer.Clipboard.SetText(txtOkno.SelectedText) txtOkno.SelectedText = ""

End Sub

Cytaty

Powiązane dokumenty

MBFT (Mentalization Based Family Therapy) – oparta na mentalizacji terapia rodziny stanowi propozycję krótkoterminowej (6-12 spotkań) interwencji terapeutycznej,

Otóż wysłał swojego syna do stolicy, aby tam zdobył wykształ- cenie, ucząc się w prawdziwej akademii, sam bowiem mieszkał w niewielkiej wiosce, w której istniała tylko

11 (możliwość powrotu do zwolnienia od VAT nie wcześniej niż po upływie roku, licząc od końca roku, w którym podatnik utracił prawo do zwolnienia lub zrezygnował z

Na początku metody main() zadeklaruj zmienną klasy String o nazwie nazwaPliku , która dalej posłuży do przechowywania nazwy pliku do zapisu danych.. Ponadto

 has been authored by me and does not violate the copyright as understood under the Act on Copyright and Related Rights of 4 February 1994 (uniform text: Journal of Laws of

 has not been previously the object of another administrative procedure related to conferring a diploma of completing higher education or granting a

Z jego treści wynika, że każdy kie- rownik placówki medycznej (a więc także ZOL oraz ZPO) jest zobowią- zany do podejmowania działań za- pobiegających szerzeniu się zakażeń

Następnie zapisz zmodyfikowane dane do pliku o nazwie złożonej ze starej nazwy i wyrażenia „_wg_ocen” – czyli dla przykładu „studenci_wg_ocen.txt”..