Datu bāzes tehnoloģijas | Izglītība nedrīkst būt mērķis ...



Rīgas 85. vidusskola

mājas darbs mācību priekšmetā

Informātika

Programmēšanas valoda Visual Basic 2008

Izstrādāja: Zane Eiduka

Skolotājs: Jānis Aizupietis

Rīga, 2009.g.

Anotācija

Mūsdienās ir ļoti svarīgi ne tikai izmantot esošās informācijas sistēmas, bet veidot arī jaunas, lai nodrošinātu cilvēkus ar nepieciešamajiem datiem un to apstrādi.

Bioloģijas zinātniski pētnieciskajā darbā man jāanalizē Latvijas ārstniecības augu audzēšana un jāveido atbilstošā informācijas sistēma. Esmu izvēlējusies informācijas sistēmu veidot Visual Basic 2008 programmēšanas valodā un datu glabāšanai izmantot datu bāzes vadības sistēmu MS Access. Plānoju lietojumus izveidot interneta lapas veidā (veidot web lietojumus). Tas labi saskan ar mācību uzdevumiem, kas man jāapgūst Informātikas mācību priekšmetā.

Satura rādītājs

| | |lpp. |

|1. |Programmēšanas valoda BASIC |4 |

|2. |Jauna projekta (lietojuma) veidošana programmēšanas valodas Visual Basic 2008 programmēšanas vidē |5 |

|3. |Galvenais Visual Basic 2008 programmēšanas vides logs |6 |

|4. |Vizuālās programmēšanas pamatdarbības |7 |

|5. |Izvēļu sarakstu veidošana Visual Basic formās |9 |

|6. |Mainīgo datu tipi programmēšanas valodā Visual Basic |12 |

|7. |Programmēšanas valodas Visual Basic vadības operatori |13 |

|8. |Programmēšanas valodā Visual Basic būtiskākās iekļautās funkcijas |14 |

|9. |Visual Basic programmu tipi |15 |

|10. |Pirmais VB lietojuma piemērs |17 |

|11. |Otrais VB lietojuma piemērs |19 |

|12. |Trešais VB lietojuma piemērs |21 |

|13. |Grafisko iespēju izmantošana Visual Basic valodā |23 |

|13.1. |Taisnstūra zīmēšana |23 |

|13.2. |Elipses zīmēšana |24 |

|13.3. |Taisnes zīmēšana |25 |

|13.4. |Loka zīmēšana |26 |

|14. |Attēla (PictureBox objekta) pārvietošana pa labi, kreisi, uz augšu, uz leju |27 |

|15. |Timer tipa elementa izmantošana |28 |

|16. |Grafikas elementu zīmēšanas piemērs |30 |

1. Programmēšanas valoda BASIC

Programmēšanas valodu BASIC (Beginner's All-purpose Symbolic Instruction Code) 1964. gadā izveidoja ASV Dartmutas koledžas pasniedzēji Dzons Kemeni un Tomass Kurtcs. Tā bija domāta topošo programmētāju apmācībai.

Pagājušā gadsimta 80-ajos gados dažādas programmu izstrādes firmas bija izveidojušas vairāk kā 10 dažādus programmēšanas valodas BASIC variantus. Populārākie bija firmas Microsoft QuickBasic un firmas Borland TurboBasic. 1989. gadā šīs firmas savstarpēji vienojās, ka turpmāk firma Microsoft attīsta BASIC valodu, bet Borland – PASCAL valodu. Liekas, ka svarīgu lomu nospēlēja Microsoft dibinātāja Bila Geitsa aizraušanas ar BASIC valodu – savu pirmo projektu viņš realizēja tieši šajā valodā un bieži saviem tituliem pievienoja: "Esmu BASIC programmētājs."

1991. gadā tika radīta vizuālā programmēšanas valoda Visual Basic 1.0. Tās autors bija Alans Kupers – neatkarīgs programmētājs, kas savas idejas prototipu pārdeva firmai Microsoft. Vizuālās programmēšanas pamatideja ir vienkārša: daudzas programmu daļas programmētājam ir vieglāk vizuāli norādīt un vizuāli izveidot, nevis rakstīt atbilstošo programmas kodu. Tā veidošana uzticēta programmēšanas videi, izmantojot vizuālās norādes. Tiek izveidots lietojuma formas karkass un šajā karkasā no Rīku saraksta (Toolbox) tiek "ievilkts" nepieciešamais elements. Elementa izveidošanas kodu ģenerē pati sistēma.

[pic] [pic]

Programmēšanas valoda Visual Basic kļuva par ciltstēvu ātrās lietojumu izstrādes rīkiem (Rapid Application Development, RAD).

1993. gadā firma Microsoft paziņoja par jaunas programmēšanas sistēmas Visual Basic for Application (VBA) izstrādi. To bija paredzēts iekļaut dažādās Microsoft programmu paketēs sākot ar Microsoft Office, lai pilnveidotu un paplašinātu to iespējas.

Mūsdienās plaši tiek lietotas gan Visual Basic gan Visual Basic for Application programmēšanas sistēmas. Ļoti populāra bija Visual Basic versija 6.0. Tiek vērtēts ka patreiz programmētāju skaits pasaulē ir ap 15 miljoniem un ne mazāk kā 70% no tiem izmanto arī Visual Basic un Visual Basic for Application. Jaunākā Visual Basic versija, kura jau ieguvusi arī plašu popularitāti ir Visual Basic 2008. Ar tās palīdzību var izstrādāt visdažādāko tipa lietojumprogrammas gan vienam datoram, gan lokālā tīkla datoriem, gan Interneta lietotājiem.

2. Jauna projekta (lietojuma) veidošana programmēšanas valodas Visual Basic 2008 programmēšanas vidē

Jauna projekta veidošanas uzsākšana: File ( New Project

[pic]

Izmantojamā lietojuma šablona izvēle: Visual Basic ( Windows ( Windows Form Application. Tiek izvēlēts projekts ar vienu ekrāna formu.

[pic]

Izveidotais jaunais lietojums Lietojums_s ar vienu ekrāna formu Forma_1 (pagaidām tikai formas karkass).

[pic]

3. Galvenais Visual Basic 2008 programmēšanas vides logs

Galvenais Visual Basic 2008 programmēšanas vides logs iekļauj virkni pakārtoto logu.

[pic]

4. Vizuālās programmēšanas pamatdarbības

Izveidosim lietojuma formu, kurā lietotājs ievada daudzumu un cena un programma aprēķina un izvada kopējo samaksu.

[pic]

Paskaidrojošo tekstu izvadei formā tiek lietots elements Label, Datu ievadei un izvadei izmanto elementu TextBox, izpildāmo darbību aktivēšanai taustiņus Button. Taustiņiem tiek piekārtotas notikumu procedūras. Tās izpildās, kad nospiež taustiņu.

[pic]

Lietojuma formas loga apskate projektēšanas (design) režīmā

[pic] [pic]

Lietojuma formas loga apskate programmas (code) režīmā

[pic]

[pic] [pic] [pic]

5. Izvēļu sarakstu veidošana Visual Basic formās

1. Izvēļu saraksta Combo Box izveidošana

[pic]

[pic] [pic]

2. Izvēļu saraksta ListBox izveidošana

[pic] [pic]

[pic]

3. Izvēļu saraksta CheckedBox izveidošana

[pic]

[pic]

4. Skaitļu izvēles saraksta NumericUpDown izveidošana

[pic] [pic]

[pic]

5. Datuma un laika izvēļu saraksts DataTimePicker

[pic]

[pic]

6. Mainīgo datu tipi programmēšanas valodā Visual Basic

1. Mainīgā nosaukumā nevar būt vairāk kā 255 simboli.

2. Mainīgā nosaukums sākas ar burtu vai pasvītrojuma zīmi.

|Vienkārša mainīgā tipi |Definējums | |

|Integer |Dim i, j As Integer |Līdz 2 147 483 647 |

|Long Integer |Dim k, l As Long |Līdz 9 223 372 036 854 775 807 |

|Single precision |Dim a, b As Single |Līdz 3.4028235 * 1038 |

|Double precision |Dim c, d As Double | |

|String |Dim e,f As String | |

|Char |Dim c As Char |Viens simbols |

|Boolean |Dim l As Boolean |True, False |

|Date |Dim d As Date |Satums un laiks |

|Variant |Dim x As Variant |Tips pielāgojas vērtības tipam |

|Objekta tipa mainīgie | | |

|Point |Dim punkts As Point | |

| |punkts = New Point(110, 10) | |

|Rectangle |Dim taisnsturis As New Rectangle(10, 10, 200, 50) | |

Dim i As Integer = 25

Dim i, j As Integer, m As String

Private k As Integer = 7

Public p As String = "ābols"

Konstanšu definēšana

Const mm As Integer = 123

Masīvu definēšana

Dim mas(20) As integer 'Masīva elementu numerācija no 0 līdz 20

Dim mas1(10, 10) as String 'Divdimensiju masīvs

Dim mas2() As Integer = { 1, 2, 3} 'Masīva 3 elementiem piešķirtas vērtības

Dim mas3( , ) As Integer = { { 1, 2, 3} , {4, 5} }

7. Programmēšanas valodas Visual Basic vadības operatori

1. If – Else – End If konstrukcija

If noteikums Then

darbību operatori

Elseif noteikums Then

Darbību operatori

Else

Darbību operatori

End If

Loģikas operācijas : And, Or, Not, Xor

2. Select Case – End Case konstrukcija

Select Case mainīgais

Case 1.vērtība

Darbību operatori

Case 2.vērtība

Darbību operatori

...

End Case

3. Cikla konstrukcijas

For i = 1 To 7

Darbību operatori

Exit For

Next i

Piemērs. Skaitļu no 1 līdz 100 summas iegūsana

Dim i, n As Integer

n = 0

for i = 1 to 100

n = n + i

Next i

Piemērs. Skaitļu no 1 līdz 100 ierakstīšana masīvā

Dim i As Integer

Dim mas(99) As Integer

for i = 1 to 100

mas(i-1) = i

Next i

8. Programmēšanas valodā Visual Basic būtiskākās iekļautās funkcijas

|Nosaukums |Skaidrojums |

|Abs() |Skaitļa absolūtās vērtības iegūšana |

|ASC() |Simbola koda iegūšana |

|CInt() |Pārvērš izteiksmi veselā skaitlī |

|CStr() |Pārvērš izteiksmi tekstā (String) |

|Date |Esošā datuma iegūšana |

|DateString() |Datuma iegūšana teksta formātā |

|DateTime() |Iegūstam esošo datumu un laiku |

|Day() |Nosaka nedēļas dienu (sākot no svētdienas) |

|Hour() | |

|InStr() |Nosaka vienas simbolu rindas eksistēšanu otrā |

|LCace() |Pārveido par maziem burtiem |

|Len() |Simbolu rindas garuma iegūšana |

|Mid() |No dotās simbolu rindas atgriež norādīto apakšrindu |

|Minute() | |

|Month() | |

|Now |Atgriež sistēmas esošo datumu |

|Rnd() |Gadījuma skaitļu ģenerēšana |

|Second() | |

|Sgn(n) |Slēdža funkcija (-1; 0 ; 1) |

|Sqr(n) |Kvadrātsaknes vilkšana |

|Str(n) |Skaitļa pārvēršana simbolu rindā |

|StrComp() |Simbolu rindu salīdzināšana |

|Time |Esošā laika iegūšana |

|Trim() |Tukšumu nodzēšana teksts rindas sākumā un beigās |

|Val(n) |Simbolu rindas pārvēršana par skaitli |

|Year() | |

9. Visual Basic programmu tipi

Visual Basic programmas tiek glabātas trīs tipu programmu moduļos:

1) formas programmu modulis. Katrai formai ir savs programmu modulis.

2) standarta programmu modulis. Ja lietojumā ir vairākas formas, tad kopējās programmas var tikt glabātas atsevišķā standarta programmu modulī.

3) klases programmu modulis. Tas tiek veidots, ja tiek izmantotas objekt-orientētās programmēšanas iespējas.

[pic] [pic]

Formas šablona izvēle

[pic]

[pic]

Programmēšanas valodā Visual Basic ir sekojoši procedūru tipi:

1) Sub tipa procedūras. Tās neatgriež mainīgo vērtības, tikai izpilda definētās darbības.

Public vai Private Sub procedūras_nosaukums(parametri)

darbību operatori

End Sub

2) Notikumu procedūras. Formām un tās elementiem ir īpašības (properties) un notikumi (events). Notikumu procedūras izpildās, kad noticis attiecīgais formas vai elementa notikums.

Private Sub elementa_nosaukums_notikima_nosaukums(parametri) Handles

notikuma_nosaukums

darbību operatori

End Sub

3) Function tipa procedūras (funkcijas). Tās var atgriezt vērtības izsaucējā procedūrā.

Private vai Public Function nosaukums(Parametri) As

atgriežamās_vērtības_tips

darbību operatori

End Function

Parametru vērtību nodošanas tipi:

1) ByVal – vērtību kopijas nodošana;

2) By Ref – atsauces nodošana.

10. Pirmais VB lietojuma piemērs

Ievadām divus skaitļus, norādām izpildāmo darbību un iegūstam rezultātu.

[pic]

Izveidotā lietojuma programma

Public Class Forma_1

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

TextBox3.Text = Val(TextBox1.Text) * Val(TextBox2.Text)

End Sub

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click

End

End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

TextBox1.Text = ""

TextBox2.Text = ""

TextBox3.Text = ""

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

TextBox3.Text = Val(TextBox1.Text) + Val(TextBox2.Text)

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

TextBox3.Text = Val(TextBox1.Text) - Val(TextBox2.Text)

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

TextBox3.Text = Val(TextBox1.Text) / Val(TextBox2.Text)

End Sub

End Class

11. Otrais VB lietojuma piemērs

Ar gadījuma skaitļu ģeneratoru tiek ģenerēti 3 skaitļi un ierakstīti 3 TextBox elementos. Ja viens no gadījuma skaitļiem ir 7, tad ir uzvara un parādās attēls. Citādi ir zaudējums.

[pic]

Public Class Forma_1

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

End

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

TextBox5.Text = "Zaudējums!"

If TextBox1.Text = 7 Then

TextBox5.Text = " Uzvara!"

TextBox4.Text = "1. skaitlis"

PictureBox1.Visible = True

End If

If TextBox2.Text = 7 Then

TextBox5.Text = " Uzvara!"

TextBox4.Text = "2. skaitlis"

PictureBox1.Visible = True

End If

If TextBox3.Text = 7 Then

TextBox5.Text = " Uzvara!"

TextBox4.Text = "3. skaitlis"

PictureBox1.Visible = True

End If

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button3.Click

TextBox1.Text = ""

TextBox2.Text = ""

TextBox3.Text = ""

TextBox4.Text = ""

TextBox5.Text = ""

PictureBox1.Visible = False

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button4.Click

Dim i, j, k As Integer

i = Rnd() * 10

TextBox1.Text = i

j = Rnd() * 10

TextBox2.Text = j

k = Rnd() * 10

TextBox3.Text = k

PictureBox1.Visible = False

End Sub

End Class

12. Trešais VB lietojuma piemērs

Ar izvēļu sarakstu (comboBox) palīdzību tiek norādīti augļi un tiek ievadīti attiecīgie daudzumi (TextBox elementos). Nospiežot taustiņu Summa, programma nosaka un izvada cenas un aprēķina kopējo summu.

[pic]

[pic]

Piemērā izveidotā programma

Public Class Forma_1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button1.Click

End

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button2.Click

' Cenu noteikšana

If ComboBox1.Text = "āboli" Then

TextBox4.Text = 1

ElseIf ComboBox1.Text = "bumbieri" Then

TextBox4.Text = 2

ElseIf ComboBox1.Text = "plūmes" Then

TextBox4.Text = 2

ElseIf ComboBox1.Text = "ķirši" Then

TextBox4.Text = 3

End If

If ComboBox2.Text = "āboli" Then

TextBox5.Text = 1

ElseIf ComboBox2.Text = "bumbieri" Then

TextBox5.Text = 2

ElseIf ComboBox2.Text = "plūmes" Then

TextBox5.Text = 2

ElseIf ComboBox2.Text = "ķirši" Then

TextBox5.Text = 3

End If

If ComboBox3.Text = "āboli" Then

TextBox6.Text = 1

ElseIf ComboBox3.Text = "bumbieri" Then

TextBox6.Text = 2

ElseIf ComboBox3.Text = "plūmes" Then

TextBox6.Text = 2

ElseIf ComboBox3.Text = "ķirši" Then

TextBox6.Text = 3

End If

' Summas aprēķināšana

Dim a, b, c, d As Single

d = 0

a = Val(TextBox1.Text) * Val(TextBox4.Text)

b = Val(TextBox2.Text) * Val(TextBox5.Text)

c = Val(TextBox3.Text) * Val(TextBox6.Text)

d = a + b + c

TextBox7.Text = d

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button3.Click

' Elementu vērtību nodzēšana

TextBox1.Text = ""

TextBox2.Text = ""

TextBox3.Text = ""

TextBox4.Text = ""

TextBox5.Text = ""

TextBox6.Text = ""

TextBox7.Text = ""

End Sub

End Class

13. Grafisko iespēju izmantošana Visual Basic valodā

Lai izveidotu zīmējumu, vispirms ir jāizveido Graphics tipa objekts g, kurš ietvers visas zīmējuma komponentes. Tiek lietoti vairāki varianti grafiskā objekta definēšanai. Populārākais ir sekojošs:

Dim g As Graphics = Me.CreateGraphics

13.1. Taisnstūra zīmēšana

Lai uzzīmētu taisnstūri:

1) tiek izveidots grafiskais objekts g, kurš ietver visus zīmējamos grafikas elementus;

Dim g As Graphics = Me.CreateGraphics

2) tiek izveidots masīvs taisnsturi (0), kura elementi (0, 1, 2, ...) katrs satur objektu Rectangle (taisnstūris) ar zīmējamā taisnstūra koordinātēm X1,Y1, X2, Y2. Ja zīmēsim vienu taisnstūri, masīvā ir vajadzīgs viens Rectangle objekts, tāpēc rakstām taisnsturi(0) – elementu numerācija sākas no 0.

Dim taisnsturi(0) As Rectangle

taisnsturi(0) = New Rectangle(10, 10, 100, 20)

3) taisnstūra zīmēšana tiek veikta ar rīku "spalva" (pen), tāpēc jānorāda spalvas krāsa (color) un biezums (1, 2, 3, ...);

Dim spalva As New Pen(Color.Blue, 3)

4) taisnstūra zīmēšanu veic ar DrawRectangle() metodi, norādot "spalvu"un taisnstūra objektu ar koordinātēm, kurš ierakstīts masīvā taisnsturi;

g.DrawRectangles(spalva, taisnsturi)

5) taisnstūra aizkrāsošanu veic ar "otām" (brushes). Jānorāda "otas" krāsa (piemēram, Yellow un taisnstūra objekts ar koordinātēm (tas ir masīvā taisnsturi):

g.FillRectangles(Brushes.Yellow, taisnsturi)

Kvalitatīva attēla iegūšanai vēlams vispirms veikt soli 5 un tad 4.

[pic] [pic]

Public Class Forma_1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button1.Click

'Grafiskā objekta izveidošana kuršs saturēs visas grafiskos elementus

Dim g As Graphics = Me.CreateGraphics

'Taisnstūra zīmēšana

Dim taisnsturi(0) As Rectangle: taisnsturi(0) = New Rectangle(10, 10, 100, 20)

Dim spalva As New Pen(Color.Blue, 3)

g.FillRectangles(Brushes.Yellow, taisnsturi)

g.DrawRectangles(spalva, taisnsturi)

End Sub

End Class

13.2. Elipses zīmēšana

Lai uzzīmētu elipsi:

1) tiek izveidots grafiskais objekts g, kurš ietver visus zīmējamos grafikas elementus;

Dim g As Graphics = Me.CreateGraphics

2) elipse tiek noteikta ar tai apvilkto taisnstūri. Tiek izveidots Rectangle objekta tipa mainīgais taisnsturis, kurš satur apvelkošā taisnstūra koordinātes X1,Y1, X2, Y2.

Dim taisnsturis As New Rectangle(10, 10, 200, 50)

3)elipses zīmēšana tiek veikta ar rīku "spalva" (pen), tāpēc jānorāda spalvas krāsa (color) un biezums (1, 2, 3, ...);

Dim spalva As New Pen(Color.Blue, 3)

4) elipses zīmēšanu veic ar DrawRectangle() metodi, norādot "spalvu"un taisnstūra objektu ar koordinātēm, kurš ierakstīts mainīgajā taisnsturis;

g.DrawEllipse(spalva, taisnsturis)

5) elipses aizkrāsošanu veic ar "otām" (brushes). Jānorāda "otas" krāsa (piemēram, Yellow) un taisnstūra objekts ar koordinātēm (tas ir mainīgajā taisnsturis):

g.FillEllipse(Brushes.LightCoral, taisnsturis)

Kvalitatīva attēla iegūšanai vēlams vispirms veikt soli 5 un tad 4.

[pic]

Public Class Forma_1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button1.Click

'Grafiskā objekta izveidošana kuršs saturēs visas grafiskos elementus

Dim g As Graphics = Me.CreateGraphics

'Elipses zīmēšana

Dim taisnsturis As New Rectangle(10, 10, 200, 50)

Dim spalva As New Pen(Color.Blue, 3)

g.FillEllipse(Brushes.LightCoral, taisnsturis)

g.DrawEllipse(spalva, taisnsturis)

End Sub

End Class

13.3. Taisnes zīmēšana

Lai uzzīmētu taisni:

1) tiek izveidots grafiskais objekts g, kurš ietver visus zīmējamos grafikas elementus;

Dim g As Graphics = Me.CreateGraphics

2) taisne tiek noteikta ar diviem punktiem. Tiek izveidots Point objekta tipa masīvs punkti(1), kurš satur divus punkta (Point) tipa objektus ar viņu X un Y koordinātēm.

Dim punkti(1) As Point

punkti(0) = New Point(110, 10)

punkti(1) = New Point(150, 70)

3)taisnes zīmēšana tiek veikta ar rīku "spalva" (pen), tāpēc jānorāda spalvas krāsa (color) un biezums (1, 2, 3, ...);

Dim spalva As New Pen(Color.Red, 4)

4) līnijas zīmēšanu veic ar DrawLines() metodi, norādot "spalvu"un masīvu punkti ar attiecīgo punktu koordinātēm;

g.DrawLines(spalva, punkti)

[pic]

Public Class Forma_1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button1.Click

'Grafiskā objekta izveidošana kuršs saturēs visas grafiskos elementus

Dim g As Graphics = Me.CreateGraphics

'Līnijas zīmēšana

Dim punkti(1) As Point

punkti(0) = New Point(110, 10)

punkti(1) = New Point(150, 70)

Dim spalva As New Pen(Color.Red, 4)

g.DrawLines(spalva, punkti)

End Sub

End Class

13.4. Loka zīmēšana

Lai uzzīmētu loku:

1) tiek izveidots grafiskais objekts g, kurš ietver visus zīmējamos grafikas elementus;

Dim g As Graphics = Me.CreateGraphics

2) loks tiek noteikta ar tam apvilkto taisnstūri un diviem leņķiem – leņķi, kur loks sākas, un leņķi, kur loks beidzas. Tiek izveidots Rectangle objekta tipa mainīgais taisnsturis, kurš satur apvelkošā taisnstūra koordinātes X1,Y1, X2, Y2. Tiek noteikti arī abi leņķi.

Dim taisnsturis As New Rectangle(10, 10, 100, 100)

Dim lenkis_s As Single = 30

Dim lenkis_b As Single = 240

3)loka zīmēšana tiek veikta ar rīku "spalva" (pen), tāpēc jānorāda spalvas krāsa (color) un biezums (1, 2, 3, ...);

Dim spalva As New Pen(Color.Brown, 2)

4)loka zīmēšanu veic ar DrawArc() metodi, norādot "spalvu"un taisnstūra objektu ar koordinātēm, kurš ierakstīts mainīgajā taisnsturis, kā arī abus leņķus;

g.DrawArc(spalva, taisnsturis, lenkis_s, Lenkis_b)

5)loka aizkrāsošanu veic ar "otām" (brushes). Jānorāda "otas" krāsa (piemēram, LightSeaGreen) un taisnstūra objekts ar koordinātēm (tas ir mainīgajā taisnsturis), kā arī divi aizpildes leņķi.

g.FillPie(Brushes.LightSeaGreen, taisnsturis, 40, 140)

[pic]

Public Class Forma_1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button1.Click

'Grafiskā objekta izveidošana kuršs saturēs visas grafiskos elementus

Dim g As Graphics = Me.CreateGraphics

'Loka zīmēšana

Dim taisnsturis As New Rectangle(10, 10, 100, 100)

Dim lenkis_s As Single = 30

Dim Lenkis_b As Single = 240

Dim spalva As New Pen(Color.Brown, 2)

g.FillPie(Brushes.LightSeaGreen, taisnsturis, 40, 140)

g.DrawArc(spalva, taisnsturis, lenkis_s, Lenkis_b)

End Sub

End Class

14. Attēla (PictureBox objekta) pārvietošana pa labi, kreisi, uz augšu, uz leju

[pic]

Public Class Forma_1

'Pārvietojamā objekta X un Y koordinātes

Public attels_x As Integer = 80 'Sākotnējā X koordinātes vērtība

Public attels_y As Integer = 80 'Sākotnējā Y koordinātes vērtība

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button2.Click

End

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button1.Click

'Kustība pa labi

attels_x = attels_x + 10 : PictureBox1.Left = attels_x

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button3.Click

'Kustība pa kreisi

attels_x = attels_x – 10 : PictureBox1.Left = attels_x

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button4.Click

'Kustība uz leju

attels_y = attels_y + 10 : = attels_y

End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button5.Click

'Kustība uz augšu

attels_y = attels_y – 10 : = attels_y

End Sub

End Class

15. Timer tipa elementa izmantošana

Izveidosim formu, kurā tiks veikta tekošā datuma un laika atkārtota izvade pēc noteiktiem laika intervāliem (piemēram, 1s). Nospiežot taustiņu Starts, sāk strādāt laika signālu ģenerators (taimers) – objekts Timer. Viņa īpašībās norādam, ka laika signālu atstarpe ir 1000 vienību, tas ir 1s. Pienākot laika signālam, taimera programma veic kārtējo tekošā datuma un laika izvadi. Rezultatā mēs redzam, ka tekošais laiks mainās.

[pic]

[pic] [pic]

Izveidojam formu, Ievietojam TextBox, Button un Timer elementus.

[pic]

Taimera izmantošanas programma

Public Class Forma_1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button1.Click

' Vadības taustiņa programma

If Me.Button1.Text = "Starts" Then

Me.Timer1.Start()

Me.Button1.Text = "Stop"

Else

Me.Timer1.Stop()

Me.Button1.Text = "Starts"

End If

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Timer1.Tick

' Taimera programma

Me.TextBox1.Text = System.DateTime.Now.ToLongDateString + " " + _

System.DateTime.Now.ToLongTimeString

End Sub

End Class

16. Grafikas elementu zīmēšanas piemērs

[pic]

[pic]

[pic]

Elipšu, taisnstūru un līniju veidošanas programmu kods

Public Class Forma_1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button1.Click

Dim g As Graphics = Me.CreateGraphics

Dim points(21) As Point

For i As Integer = 0 To 20 Step 2

points(i) = New Point(20 + 10 * i, 25 + 5 * i)

points(i + 1) = New Point(40 + 10 * i, 20 + 5 * i)

Next

Dim pn As New Pen(Color.Black, 3)

g.DrawLines(pn, points)

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button2.Click

Dim g As Graphics = Me.CreateGraphics

Dim pn As New Pen(Color.Black, 2)

Dim rows As Integer = 5

Dim width As Integer = 40, height As Integer = 20

Dim count As Integer

For n As Integer = 1 To rows : count += n : Next n

Dim rect(count - 1) As Rectangle

Dim i, j As Integer, k As Integer = 0

For i = 0 To rows - 1

For j = 0 To i

Rect(k) = New Rectangle(width * (rows / 2 + j - i / 2), _

height * (i + 1), width, height)

k += 1

Next j

Next i

g.DrawRectangles(pn, rect)

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button4.Click

End

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button3.Click

Dim g As Graphics = Me.CreateGraphics

Dim horizEllipse As New Rectangle(20, 20, 200, 100)

Dim vertEllipse As New Rectangle(20, 20, 200, 100)

For i As Integer = 0 To 10

horizEllipse.Inflate(0, -5)

vertEllipse.Inflate(-10, 0)

g.DrawEllipse(Pens.DarkRed, horizEllipse)

g.DrawEllipse(Pens.DarkBlue, vertEllipse)

Next

End Sub

End Class

17. Kustīga objekta programmas izveidošana

Kustīgo objektu var pārvietot ar taustiņu Uz augšu, Uz leju, Pa Kreisi, Pa labi palīdzību. Nospiežot taustiņu Starts/Stop kustīgais objekts pārvietojas pa ekrānu gadījuma virzienos. Pārvietojuma nosaukums parādās zem taustiņa TextBox elementā. Kustību var pārtraukt nospiežot taustiņu Starts/Stop.

Public Class Forma_1

'Pārvietojamā objekta X un Y koordinātes

Public attels_x As Integer = 80 'Sākotnējā X koordinātes vērtība

Public attels_y As Integer = 80 'Sākotnējā Y koordinātes vērtība

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button2.Click

'Programmas darbības izbeigšana

End

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button1.Click

'Kustība pa labi

attels_x = attels_x + 10

PictureBox1.Left = attels_x

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button3.Click

'Kustība pa kreisi

attels_x = attels_x - 10

PictureBox1.Left = attels_x

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button4.Click

'Kustība uz leju

attels_y = attels_y + 10

= attels_y

End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button5.Click

'Kustība uz augšu

attels_y = attels_y - 10

= attels_y

End Sub

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles Button6.Click

' Taimera palaišana un apstādināšana (objekta kustības sākšana un beigšana)

TextBox1.Text = ""

If Me.Button6.Text = "Starts" Then

Me.Timer1.Start()

Me.Button6.Text = "Stop"

Else

Me.Timer1.Stop()

Me.Button6.Text = "Starts"

End If

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

TextBox1.Text = ""

'Kustības laukuma formā ņorādīšana

Dim x_min As Integer = 10

Dim x_max As Integer = 100

Dim y_min As Integer = 10

Dim Y_max As Integer = 100

Dim gad_sk As Single = 0.5

'solis - kustīgā objekta X un Y koordināšu vērtībuizmaiņu solis

'izm_x un izm_y - X un Y koordināšu izmaiņas

Dim solis, izm_x, izm_y As Integer

solis = 20

izm_x = 0 : izm_y = 0

'Gadījuma skaitļa ģenerēšana

gad_sk = Rnd()

'Pārvietošanās virziena noteikšana (izm_x, izm_y vērtību noteikšana)

If gad_sk < 0.25 Then

izm_x = solis

TextBox1.Text = "Pa labi"

ElseIf (gad_sk >= 0.25 And gad_sk < 0.5) Then

izm_x = -solis

TextBox1.Text = "Pa kreisi"

ElseIf (gad_sk >= 0.5 And gad_sk < 0.75) Then

izm_y = solis

TextBox1.Text = "Uz leju"

ElseIf gad_sk >= 0.75 Then

izm_y = -solis

TextBox1.Text = "Uz augšu"

End If

If attels_x < x_min Then

attels_x = attels_x + solis

End If

attels_x = attels_x + izm_x

attels_y = attels_y + izm_y

If attels_x < x_min Then

attels_x = attels_x + solis

End If

If attels_x > x_max Then

attels_x = attels_x - solis

End If

If attels_y < y_min Then

attels_y = attels_y + solis

End If

If attels_y > Y_max Then

attels_y = attels_y - solis

End If

'Pārvietojuma izpilde

PictureBox1.Left = attels_x

= attels_y

End Sub

End Class

18. Veselo gadījuma skaitļu (1, 2, 3, 4, 5) virkņu ģenerēšana

Ar lietojuma palīdzību tiek ģenerēta piecu veselu gadījuma skaitļu virkne. Tā tiks izmantota skolas Bioloģijas pulciņa projekta nodarbībā, lai skolnieku grupām (piecām) noteiktu jautājumu uzdošanas kārtību. Starprezultātu izvadi var atslēgt vai ieslēgt.

[pic]

[pic]

Programmas darbības pamatlgoritms:

1) masīva mas() piecos elementos ieraksta vērtības no 1 līdz 5;

2) ar gadījuma ģeneratoru noģenerē vērtību no 1 -5. Tā ir masīva elementa izvēle. Masīva attiecīgā elementa vērtību ierakstām rezultātu masīvā mas_rez() un veicam masīva elementu vērtību pārbīdi (izmantotā vērtība pazūd).

3) ar gadījuma ģeneratoru noģenerē vērtību no 1 -4. Tā ir masīva elementa izvēle. Masīva attiecīgā elementa vērtību ierakstām rezultātu masīvā mas_rez() un veicam masīva elementu vērtību pārbīdi (izmantotā vērtība pazūd).

4) un t.t. (1 -3, 1-2, 1).

Izveidojam masīvu no pieciem elementiem

(jāiegūst gadījumu virkne ar 5 vērtībām)

Noģenerējam veselo gadījuma skaitli 3

(jāņem trešā elementa vērtība 3 )

Noģenerējam vesalo gadījuma skaitli 1

(jāņem pirmā elementa vērtība 1 )

Noģenerējam veselo gadījuma skaitli 2

(jāņem otrā elementa vērtība 4 )

Noģenerējam vesalo gadījuma skaitli 1

(jāņem pirmā elementa vērtība 2 )

Jāņem palikušā pirmā elementa vērtība 5

------------------------------------------------------------------------------------------------

Vērtību pārbīdes masīvā

Lai iegūtu veselus gadījuma skaitļus no 1 līdz 5 izmantojam izteiksmes:

Rnd() ģenērē reālus gadījuma skaitļus diapazonā no 0 līdz 1.

Rnd() * 5 , iegūstam reālus gadījuma skaitļus no 0 līdz 5.

Rnd() * 5 + 1, iegūstam reālus gadījuma skaitļus no 1 līdz 6.

Int(Rnd() * 5 + 1), iegūstam veselus gadījuma skaitļus no 1 līdz 5.

Int(0.21 * 5 + 1) = Int(2.05) = 2

Int(0.31 * 5 + 1) = Int(2.55) = 2

Masīvu elementu numerācija sākas no 0 (0, 1, 2, 3, ...). Pirmais elements ir mas(0). otrais mas(1), un t.t. Lai vieglāk būtu uztvert masīvu elementu kārtību (lai varētu vieglāk sakārtojuma numerāciju 1, 2, 3, ... uztvert), tiek lietoti sekojoši pieraksti:

pirmajam masīva elementam mas(1-1);

otrajam masīva elementam mas(2-1);

un t.t.

Public Class Forma_1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

End

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

'Masīva mas () aizpildīšana ar vērtībām 1, 2, 3, 4, 5

Dim mas(4), i As Integer

For i = 1 To 5

mas(i - 1) = i

Next

'Masīva mas() vērtību izvade

TextBox1.Text = mas(0)

TextBox2.Text = mas(1)

TextBox3.Text = mas(2)

TextBox4.Text = mas(3)

TextBox5.Text = mas(4)

Dim mas_rez(4) As Integer

Dim ves_gad_sk As Integer

'Vesela gadījuma skaitļa no 1-5 ģenerēšana

ves_gad_sk = Int(Rnd() * 5 + 1)

'Izvēlētā masīva mas() elememta vērtības ierakstīšana rezultātu masīvā mas_rez()

mas_rez(1 - 1) = mas(ves_gad_sk - 1)

'Iegūtās pirmās rezultāta vērtības izvade

TextBox26.Text = mas_rez(1 - 1)

'Masīva mas() elementu vērtību pārbīde

If ves_gad_sk = 1 Then

mas(1 - 1) = mas(2 - 1)

End If

If ves_gad_sk ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download