VB .NET


Běžné matematické operaceKód
Konverze mezi proměnnými a bajtovým polemKód
MultithreadingKód
Gradientní vyplňováníKód
Kód v panelu nástrojůTip

Běžné matematické operace

Pro běžně používané matematické operace je v .NET Frameworku vytvořena třída System.Math. Obsahuje goniometrické funkce, sinus, cosinus, tangens, cotangens, logaritmy, zjistí větší nebo menší číslo ze dvou zadaných, absolutní hodnotu čísla, nejbližší větší či menší celé číslo, druhou odmocninu atd.

'Nejbližší větší celé číslo - 6
MsgBox(System.Math.Ceiling(5.4))
'Nejbližší nižší celé číslo - 5
MsgBox(System.Math.Floor(5.4))
'Druhá odmocnina z 5 - 2.236...
MsgBox(System.Math.Sqrt(5))

Co však stále neumí, je jakákoliv odmocnina čísel, tzn. že si musíte pomoci opět sami.

'Třetí mocnina 4 - 64
MsgBox(4 ^ 3)
'Třetí odmocnina 64 - 3
MsgBox(64 ^ (1 / 3))

Zpět na obsah


Konverze mezi proměnnými a bajtovým polem

V .NET Frameworku najdete třídu BitConverter, který umí přesně to, co říká titulek, tzn. konvertovat jednoduché proměnné do pole bajtů a naopak. Pro konverzi do pole bajtů slouží jedna metoda GetBytes. Pro opačnou konverzi už musíte zvolit jednu z metod To..., např. ToInt32, která z pole bajtů vytvoří proměnnou typu Integer.

Dim int As Integer, arr() As Byte
Dim i As Integer

int = 1253451
arr = System.BitConverter.GetBytes(int)
'Vypíše 75, 32, 19 a 0
For i = arr.GetLowerBound(0) To arr.GetUpperBound(0)
  Debug.WriteLine(arr(i))
Next

int = System.BitConverter.ToInt32(arr, 0)
'Vypíše 1253451
Debug.WriteLine(int)

Zpět na obsah


Multithreading

Tak, jak bylo ve starších verzích Visual Basicu obtížné vytvořít aplikaci s více vlákny, tak je to ve VB .NET jednoduché. Vytvořit nové vlákno, které spustí jakoukoliv akci, zabere asi tři řádky kódu.

Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
  Dim t As System.Threading.Thread

  t = New System.Threading.Thread(AddressOf NoveVlakno)
  t.Start()
End Sub

Private Sub NoveVlakno()
  Debug.WriteLine("Nove vlakno spustilo toto okno")
End Sub

Stiskem tlačítka Button1 se vytvoří nové vlákno, které vykoná kód procedury NoveVlakno a ukončí se. Všimněte si, že v okně Output není jen text "Nove vlakno spustilo toto okno", ale i "The thread '' (0x4d0) has exited with code 0 (0x0)."

Zpět na obsah


Gradientní vyplňování

Gradientní vyplňování a spousta dalších grafických technik je pomocí .NET Frameworku mnohem jednodušší než dříve. V tomto příkladu si nakreslíme čtverec, který bude vyplněn barevným přechodem od zelené po bílou barvu.

Imports System.Drawing.Drawing2D

Dim gp As New GraphicsPath()
Dim p() As Point = {New Point(10, 10), New Point(100, 10), New Point(100, 100), New Point(10, 100)}

gp.AddPolygon(p)

Dim pgb As New PathGradientBrush(gp)
Dim col() As Color = {Color.Green}
pgb.SurroundColors() = col
pgb.CenterPoint = New PointF(10, 10)
pgb.CenterColor = Color.White

Dim g As Graphics
g = Me.CreateGraphics()
g.FillPath(pgb, gp)

Zpět na obsah


Kód v panelu nástrojů

Používáte často nějakou část kódu, např. volání funkce apod.? "Uložte" si tento kód do panelu nástrojů. Stačí jej označit a myší na něj přesunout. Objeví se nové tlačítko (jako normální prvek), které je dobré si přejmenovat, originál název je totiž první řádek kódu. Pokud potom chcete tento kód někam vložit, stačí tuto položku přetáhnout na formulář (stránku atd.).

Zpět na obsah