IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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 - Triedy TextWindow, Network a Math

V tutoriálov si predstavíme triedy pre prácu s konzolovým oknom, prácu so sieťou a tiež pre matematické výpočty.

Práca s konzolovým oknom

Teraz si ukážeme operácie, ktoré sa nie vždy dajú použiť, ale sú užitočné. Sú to operácie s konzolovým oknom v triede TextWindow.

Farby

Meniť farby textu a pozadia možno jednoducho. Takto sa mení farba textu, v tomto prípade na modrú

TextWindow.ForegroundColor = "Blue"

Ako vidíte, farba je napísaná v úvodzovkách. Mimochodom, aj u podmienok píšeme hodnoty true a false ako "True" alebo "False".

Pre zmenu pozadia použijeme:

TextWindow.BackgroundColor = "Yellow"

A napíšeme nejaký program na vyskúšanie

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

Po spustení asi budete šokovaní, že sa nezmenila farba pozadia úplne, len pre vypísaný text. Ak chcete, môžete si to tak nechať, ale ak sa vám to nepáči, tak musíme ešte niečo pripísať medzi výstup a zmenu pozadia:

TextWindow.Clear()

Tým sme vymazali okno. Vymazanie prebehne vždy farbou pozadia. Teraz už program funguje podľa našich predstáv.

Ďalšie operácie

Ak budete v budúcnosti chcieť skombinovať konzolové a grafické okno, možno ho budete chcieť skryť.

TextWindow.Hide()

A potom možno zase zobraziť

TextWindow.Show()

Môžete si nastaviť titulok okna

TextWindow.Title = "Toto je nadpis"

Vo Small Basicu nie je nutné písať na koniec programu čakania na kláves. Ak by ste to však niekde v programe potrebovali, stačí napísať:

TextWindow.ReadKey()
Program.End()

Na prvom riadku sa čaká na vstup klávesy a na druhom je napísané ukončenie programu. To by mohlo stačiť a teraz sa pozrieme na triedu Network.

Trieda Network

Táto trieda, ako už názov napovedá, bude vedieť pracovať so sieťou. Obsahuje iba dve operácie, ktoré sú ale naozaj užitočné :)

Prvý z nich je operácia, ktorá prečíta zdrojový kód stránky. Príklad:

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

Výstup zdrojového kódu hlavnej stránky tejto siete. Druhou veľmi užitočnou operáciou je stiahnutie súboru.

Príklad:

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

Stiahne súbor, ale kam? Výstup vám povie, že do tempe ako súbor tmp. Chce ho ešte skopírovať s inou koncovkou, v tomto prípade exe? Tu 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 prvom riadku sa stiahne súbor a reťazec, v ktorom je uložené jeho umiestnenie, sa priradí do premennej s. Potom prichádza výstup s týmto reťazcom, ďalej je funkcia z triedy File, to je CopyFile. Skopíruje súbor, ktorého reťazec uložený v premennej s, a skopíruje sa na disk C: \. Do premennej u sa uložia buď "SUCCESS" alebo "FAILED", podľa toho, či sa kopírovanie podarilo alebo zlyhalo. Na toto môžete urobiť podmienku, to nechám na vás, ak toto využijete. Možno by to chcelo ešte zmazať súbor z tempe, to nie je žiadny problém:

File.DeleteFile(s)

Ovšem problémom je spustenie súboru, žiadna takáto operácia vo Small Basicu neexistuje :( .

Trieda Math

Trieda Math obsahuje matematické funkcie a užitočné konštanty ako napr. PI. Táto trieda obsahuje veľké množstvo funkcií, my sa pozrieme na tie najdôležitejšie a užitočné. Určite užitočnú operácií je na navrátenie pseudonáhodného čísla:

TextWindow.WriteLine(Math.GetRandomNumber(15000))

Dostanete číslo od 1 do 15000. Môžete urobiť cyklus, ktorý bude vypisovať Pseudonáhodné Číslo do šiestich a budete mať kocku.

Teraz funkcie pí:

TextWindow.WriteLine(Math.Pi)

Na porovnanie čísel slúži Max a Min, Max vypíše väčšie, Min menšie

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

min

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

Ďalej sú tu fukncie Cos, Sin, Tan, napríklad Tan, uhly sa zadávajú v radiánoch. Môžete si to previesť na stupne a nemusíte vôbec písať zápis na prevod na stupne, vo Small Basicu existuje Math.GetDegrees (1), ktorý vám uhol na stupne prevedie.

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

Naučme sa porovnávanie desatinných čísel a zaokrúhlenie (aj hore a dole):

TextWindow.WriteLine(Math.Round(1.6))

výstup:

2

Zaokrúhlenie vždy hore:

TextWindow.WriteLine(Math.Ceiling(1.2))

výstup:

2

A vždy dolu:

TextWindow.WriteLine(Math.Floor(1.6))

výstup

1

A na koniec si ukážme ešte umocnenie čí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))

Viac zatiaľ nebudeme potrebovať.

To je zase pre dnešok všetko, dnes sme sa to veľa naučili. Nabudúce sa presunieme do grafických okien, máte sa na čo tešiť :) . Zdrojový kód sťahovače súborov máte nižšie k stiahnutiu.


 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 66x (160 B)
Aplikácia je vrátane zdrojových kódov v jazyku SmallBasic

 

Predchádzajúci článok
Small Basic - Cykly, funkcie a polia
Všetky články v sekcii
SmallBasic
Preskočiť článok
(neodporúčame)
Small Basic - Grafická okna
Článok pre vás napísal Šimon Raichl
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje hlavně tvorbě všemožných věcí v JS
Aktivity