Dzisiaj pokarze ciekawe rozwiązanie dzięki któremu będziemy w stanie wypełnić naszą tabele wierszami i coś co pomoże nam wyeliminować pytanie czy używać „.” czy „,”
Do tego programu będziemy potrzebować:
1x Datagrid, 4x textbox, 3x label, 3x button. Ładnie to teraz układamy jak na obrazku:
Zmieniamy nazwy przycisków i tekst w elementach label. Teraz przechodzimy do kodowania. Przyciskamy szybko na button 1, co przeniesie nas do kodu i utworzy nowego suba.
Aby cokolwiek policzyć musimy stworzyć funkcje liczącą. Musimy zainocjować elementy które będą przechowywać dane z textboxów. Do tego służy słowo „Dim” potem wybieramy sobie nazwę naszej zmiennej a tym wypadku „a” i „b” a potem formę jaką nasza zmienna ma przybierać. Jeśli forma będzie inna niż ta zainicjowana wyskoczy nam błąd. Taka forma jest dobra ale mamy dwa problemy z nią związane.
1. co się stanie jak użytkownik wpisze zamiast cyfry literę, wyskoczy nam błąd
2. Co jeśli użytkownik przyzwyczajony jest do używanie „.” a nie „,”, również wyskoczy mu błąd.
Biorąc pod uwagę to, że nasz program będzie obsługiwać inne osoby oprócz nas samych musimy te problemy wyeliminować.
Nasz program będzie rozpoznawał cyfry z kropką np”1.5″ jako nienumeryczny. Czyli trzeba mu tą kropkę na przecinek zamienić, jeśli wpisze litery trzeba mu to zamienić na 0, można też użyć okienka aby upomnieć użytkownika, że w naszym programie używamy przecinków
<<< Przykład takiego kodu. Mówi on, że jeśli nasza liczba nie jest numerem wtedy zamień kropkę na przecinek, drugi warunek mówi o tym, aby zamienić kropkę na przecinek i upomnij użytkownika o jego błędzie.
Można teraz zapisać i wypróbować nasz program. aby nasz program był ciekawy zrobimy sobie prosty kalkulator
Jak widać na załączonym obrazku dodałem dwa przyciski jeden dodaje, drugi odejmuje. Trzeci przycisk pobiera dane z label2 i label3, dzieli je i wyświetla w label1. Warto zapoznać się z funkcją „Math” dzięki niej możemy nasze cyfry zmieniać matematycznie, czyli zaokrąglać w dół w górę i takie tam. Ja użyłem prostej funkcji zaokrąglenia.
Teraz przechodzimy dalej. Zrobiliśmy sobie tabele i chcemy ją wypełnić. Jak zrobić to nie podłączając żadnej bazy danych?? Proste, musimy stworzyć sobie na poczekaniu taką tabele, aby to zrobić musimy zainicjować taką funkcje. I umieścić odnośnik do niej w „Form1_load”.
Co to nam dało?? Otóż kiedy nasza forma się uruchomi nasza funkcja zacznie sama działać. Dobra teraz do dzieła. Warunek którego użyjemy to „For”.
1 2 3 4 5 |
For i As Integer = 0 To 14 DataGridView1.Rows.Add() DataGridView1.Rows(i).Cells(0).Value = i DataGridView1.Rows(i).Height = 20 Next |
W warunku for „i” określa naszą zmienna, dalsza część kodu to to tekst „od 0 do 14”, musimy pamiętać, że tabele liczone są od 0 czyli w tym wypadku dostaniemy 15 wierszy. lepiej zobrazuje to dalsza cześć kodu. Tekst [warning]
1 |
DataGridView1.Rows(i).Cells(0).Value = i |
[/warning] będzie w pierwszej kolumnie wypisywał wartość „i”, tekst [warning]
1 |
DataGridView1.Rows(i).Height = 20 |
[/warning] ustali nam wielkość wierszy. Warto popatrzeć co ciekawego możemy z takimi wierszami zrobić. Jeśli chcielibyśmy aby w konkretnym wierszu coś się znalazło używamy do tego kodu [warning]
1 |
DataGridView1.Rows(5).Cells(1).Value = "qwe" |
[/warning]
gdzie „Rows()” to numer wiersza a „Cells(1)” to numer kolumny (również numerowany od 0)
Nasz program jest gotowy do wypróbowania. Jak zawsze program ściągamy stąd: prog1
pełen kod stąd: prog1
Pytania proszę kierować na maila albo w komentarzach.