Copyright © 2009, Janusz Bonarowski
1
KolVB6
Zbudować aplikacje w której:
1. Przyciskiem [Dodaj] umieszczać w obiekcie ListBox1 wartości z TextBoxu liczby i teksty.
2. Przyciskiem [Przekopiuj liczby] – przekopiować z ListBox1 do ListBox2 tylko liczby.
3.
Przyciskiem [Max] przeszukać zawartość ListBox2 i znaleźć największą liczbę.
Rozwiązanie
Rys. 1. Propozycja formularza
Kod aplikacji
Private Sub btnDodaj_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnDodaj.Click ListBox1.Items.Add(TextBox1.Text)
TextBox1.Text = ""
TextBox1.Focus() End Sub
Private Sub btnKopiuj_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnKopiuj.Click Dim N, i As Integer
Dim strTmp As String
'_____ Odczytaj ile jest elementów w ListBox1 N = Me.ListBox1.Items.Count
'______Przegladaj ListBox1 i przekładaj liczby do ListBox2 For i = 1 To N
'_____ pobierz do zmiennej strTmp kolejny (zaczynajac od zera) '_____ element z listy
strTmp = Me.ListBox1.Items.Item(i - 1)
'______sprawdz czy to jest liczba, jesli tak kopiuj do ListBox2 If IsNumeric(strTmp) Then
Me.ListBox2.Items.Add(strTmp) End If
Next End Sub
Copyright © 2009, Janusz Bonarowski
2
Private Sub btnMax_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles btnMax.Click Dim N, i As Integer
Dim Max, tmp As Single
'___Odczytaj ile jest elementów w ListBox2 N = Me.ListBox2.Items.Count
'__Zakładamy, że pierwszy (indeks=0) element na liście '__jest największy
Max = CSng(ListBox2.Items.Item(0))
'__Przeglądaj ListBox2 i sprawdzaj kolejne elementy z listy '__porównujac je z Max.
'__Uwaga, możnaby zaczynac od i=2, dlaczego?
For i = 1 To N
'__pobierz do zmiennej tmp kolejny element z listy tmp = CSng(Me.ListBox2.Items.Item(i - 1))
'__ sprawdź czy jest większy od Max
If tmp > Max Then 'Jeśli większy to nowa wartosc do Max Max = tmp
End If Next
'___Wydrukuj Max
lblMax.Text = CStr(Max) End Sub