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 68x (160 B)
Aplikace je včetně zdrojových kódů v jazyce SmallBasic