Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Small Basic - Třídy TextWindow, Network a Math

V tutoriálů si představíme třídy pro práci s konzolovým oknem, práci se sítí a také pro matematické výpočty.

Práce s konzolovým oknem

Nyní si ukážeme operace, které se ne vždy dají použít, ale jsou užitečné. Jsou to operace s konzolovým oknem ve třídě TextWindow.

Barvy

Měnit barvy textu a pozadí lze jednoduše. Takto se mění barva textu, v tomto případě na modrou

TextWindow.ForegroundColor = "Blue"

Jak vidíte, barva je napsaná v uvozovkách. Mimochodem, i u podmínek píšeme hodnoty true a false jako "True" nebo "False".

Pro změnu pozadí použijeme:

TextWindow.BackgroundColor = "Yellow"

A napíšeme nějaký program na vyzkoušení

TextWindow.ForegroundColor = "Blue"
TextWindow.BackgroundColor = "Yellow"
TextWindow.WriteLine("Hezky jsme si obarvili text a pozadí ne? :)")

Po spuštění asi budete šokování, že se nezměnila barva pozadí úplně, jen pro vypsaný text. Pokud chcete, můžete si to tak nechat, ale pokud se vám to nelíbí, tak musíme ještě něco připsat mezi výstup a změnu pozadí:

TextWindow.Clear()

Tím jsme vymazali okno. Vymazání proběhne vždy barvou pozadí. Teď už program funguje podle našich představ.

Další operace

Pokud budete v budoucnu chtít zkombinovat konzolové a grafické okno, možná ho budete chtít skrýt.

TextWindow.Hide()

A pak možná zase zobrazit

TextWindow.Show()

Můžete si nastavit titulek okna

TextWindow.Title = "Toto je nadpis"

Ve Small Basicu není nutné psát na konec programu vyčkání na klávesu. Pokud byste to však někde v programu potřebovali, stačí napsat:

TextWindow.ReadKey()
Program.End()

Na prvním řádku se čeká na vstup klávesy a na druhém je napsané ukončení programu. To by mohlo stačit a teď se podíváme na třídu Network.

Třída Network

Tato třída, jak již název napovídá, bude umět pracovat se sítí. Obsahuje pouhé dvě operace, které jsou ale opravdu užitečné :)

První z nich je operace, která přečte zdrojový kód stránky. Příklad:

TextWindow.WriteLine(Network.GetWebPageContents("http://itnetwork.cz/"))

Výstup zdrojového kódu hlavní stránky této sítě. Druhou velmi užitečnou operací je stažení souboru.

Příklad:

TextWindow.WriteLine(Network.DownloadFile("http://simonraichl.ic.cz/soubory/PicGen.exe"))

Stáhne soubor, ale kam? Výstup vám řekne, že do tempu jako soubor tmp. Chce ho ještě zkopírovat s jinou koncovkou, v tomto případě exe? Zde je kód:

s = Network.DownloadFile("http://raichlsimon.moxo.cz/soubory/PicGen.exe")
TextWindow.WriteLine(s)
u = File.CopyFile(s, "C:\soubor.exe")
TextWindow.WriteLine(u)

Na prvním řádku se stáhne soubor a řetězec, ve kterém je uloženo jeho umístění, se přiřadí do proměnné s. Pak přichází výstup s tímto řetězcem, dále je funkce ze třídy File, to je CopyFile. Zkopíruje soubor, jehož řetězec uložen v proměnné s, a zkopíruje se na disk C:\. Do proměnné u se uloží buď "SUCCESS" nebo "FAILED", podle toho, jestli se kopírování podařilo nebo nezdařilo. Na toto můžete udělat podmínku, to nechám na vás, pokud toto využijete. Možná by to chtělo ještě smazat soubor z tempu, to není žádný problém:

File.DeleteFile(s)

Ovšem problémem je spuštění souboru, žádná taková operace ve Small Basicu neexistuje :(.

Třída Math

Třída Math obsahuje matematické funkce a užitečné konstanty jako např. PI. Tato třída obsahuje velké množství funkcí, my se podíváme na ty nejdůležitější a užitečné. Určitě užitečnou operací je na navrácení pseudonáhodného čísla:

TextWindow.WriteLine(Math.GetRandomNumber(15000))

Dostanete číslo od 1 do 15000. Můžete udělat cyklus, který bude vypisovat pseudonáhodná čísla do šesti a budete mít kostku.

Teď funkce pí:

TextWindow.WriteLine(Math.Pi)

Na porovnání čísel slouží Max a Min, Max vypíše větší, Min menší

TextWindow.WriteLine(Math.Max(1, 10))

Min

TextWindow.WriteLine(Math.Min(1, 10))

Dále jsou zde fuknce Cos, Sin, Tan, například Tan, uhly se zadávají v radiánech. Můžete si to převést na stupně a nemusíte vůbec psát zápis na převod na stupně, ve Small Basicu existuje Math.GetDegrees(1), který vám úhel na stupně převede.

c = 1
TextWindow.WriteLine(Math.Tan(c))
TextWindow.WriteLine(Math.GetDegrees(c))

Naučme se porovnávání desetinných čísel a zaokrouhlení (i nahoru a dolů):

TextWindow.WriteLine(Math.Round(1.6))

Výstup:

2

Zaokrouhlení vždy nahoru:

TextWindow.WriteLine(Math.Ceiling(1.2))

Výstup:

2

A vždy dolů:

TextWindow.WriteLine(Math.Floor(1.6))

Výstup

1

A na konec si ukažme ještě umocnění čísla:

TextWindow.WriteLine("Ahoj, jsem Small Basicový umocňovač! Napiš číslo:")
c = TextWindow.ReadNumber()
TextWindow.WriteLine("Ještě potřebuji exponent! Napiš číslo:")
e = TextWindow.ReadNumber()
TextWindow.WriteLine(Math.Power(c, e))

Více zatím nebudeme potřebovat.

To je zase pro dnešek vše, dnes jsme se to hodně naučili. Příště se přesuneme do grafických oken, máte se na co těšit :). Zdrojový kód stahovače souborů máte níže ke stažení.


 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 66x (160 B)
Aplikace je včetně zdrojových kódů v jazyce SmallBasic

 

Předchozí článek
Small Basic - Cykly, funkce a pole
Všechny články v sekci
SmallBasic
Přeskočit článek
(nedoporučujeme)
Small Basic - Grafická okna
Článek pro vás napsal Šimon Raichl
Avatar
Uživatelské hodnocení:
2 hlasů
Autor se věnuje hlavně tvorbě všemožných věcí v JS
Aktivity