|
Běžné matematické operace | Kód |
Konverze mezi proměnnými a bajtovým polem | Kód |
Multithreading | Kód |
Gradientní vyplňování | Kód |
Kód v panelu nástrojů | Tip |
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))
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)
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 SubStiskem 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 '
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)
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.).