Programovanie makier v LibreOffice: Vlastné dátové typy

LO.png Často sa stretávate so situáciou, že si chcete vytvoriť vlastný typ dát, aký vám vyhovuje? V článku sa dozviete, ako nato.  

Vlastný dátový typ

Jazyk Basic nám dovoľuje definovať si vlastný dátový typ. Tak, ako Integer je predefinované celé číslo, môžeme si určiť svoje vlastné typy dát a pracovať s nimi. Často sa stretávame pri zložitejších dátových typov (čiže nejde o primitívny dátový typ ako je napríklad Integer, Double atď) s pojmom štruktúrovaný dátový typ alebo skrátene štruktúra.

1. program: Definovanie svojho vlastného dátového typu

 REM definujeme vlastný dátový typ
 Type Vec 
 Meno As String
 Dlzka As Integer
 Sirka As Integer
 Vyska As Integer
 Farba As String
 End Type

 Sub Makricko
 REM deklarácia vlastného dátového typu
 Dim mojTyp As Vec
 REM priradenie do premenných vlastného dátového typu 
 mojTyp.Meno = "Televízia"
 mojTyp.Dlzka = 30
 mojTyp.Sirka = 45
 mojTyp.Vyska = 50
 mojTyp.Farba = "modrú"
 REM a vypíšeme
 MsgBox "Špecifikácia veci: " & mojTyp.Meno & " má dlžku " & mojTyp.Dlzka & " cm, 
 šírku " & mojTyp.Sirka & " cm, vyšku " & mojTyp.Vyska & " cm a farbu " & mojTyp.Farba
 End Sub

Výsledok Výsledok

Rozbor makra: V rámci makra sme si vytvorili vlastný dátový typ Vec s nejakými vlastnosťami, ktoré reprezentujú premenné typu String Integer. Následne deklarujeme premennú, ktorá je dátového typu Vec a po deklarácii priradíme hodnoty premenným nášho dátového typu a vypíšeme ich na obrazovku.

2. program: Všetky dovolené spôsoby deklarácie vlastného dátového typu v procedúre

 Type Pracka
 Meno As String
 Dlzka As Integer
 Sirka As Integer
 Vyska As Integer
 Farba As String
 Cena As Integer
 End Type
 
 Type Vrtacka
 Meno As String
 Dlzka As Integer
 Sirka As Integer
 Vyska As Integer
 Farba As String
 Cena As Integer
 End Type
 
 Type umyvackaRiadu
 Meno As String
 Dlzka As Integer
 Sirka As Integer
 Vyska As Integer
 Farba As String
 Cena As Integer
 End Type
 
 Sub Makricko
 
 Dim pracka As Pracka
 Dim vrtacka As new Vrtacka
 Dim umyvacka : umyvacka = CreateObject("umyvackaRiadu")
 pracka.Meno = "Pracka"
 pracka.Dlzka = 21
 pracka.Sirka = 45
 pracka.Vyska = 77
 pracka.Farba = "zelenu"
 pracka.Cena = "200"
 
 vrtacka.Meno = "Vrtačka"
 vrtacka.Dlzka = 77
 vrtacka.Sirka = 88
 vrtacka.Vyska = 99
 vrtacka.Farba = "sivu"
 vrtacka.Cena = "156"
 
 umyvacka.Meno = "Umyvačka riadu"
 umyvacka.Dlzka = 41
 umyvacka.Sirka = 45
 umyvacka.Vyska = 44
 umyvacka.Farba = "modru"
 umyvacka.Cena = "258"
 
 MsgBox "Špecifikácia veci: " & pracka.Meno & " má dlžku " & pracka.Dlzka & " cm, 
 šírku " & pracka.Sirka & " cm, vyšku " & pracka.Vyska & " cm, farbu " & 
 pracka.Farba & " a stojí " & pracka.Cena & " eur" & Chr(10) & 
 "Špecifikácia veci: " & vrtacka.Meno & " má dlžku " & vrtacka.Dlzka & " cm, šírku " 
 & vrtacka.Sirka & " cm, vyšku " & vrtacka.Vyska & " cm, farbu " & vrtacka.Farba & 
 " a stojí " & vrtacka.Cena & " eur" & Chr(10) & "Špecifikácia veci: " & umyvacka.Meno & 
 " má dlžku " & umyvacka.Dlzka & " cm, šírku " & umyvacka.Sirka & " cm, vyšku " & 
 umyvacka.Vyska & " cm, farbu " & umyvacka.Farba & " a stojí " & umyvacka.Cena & " eur"
 
 End Sub

Výsledok Výsledok

Rozbor makra: V tomto príklade si precvíčite deklarácie vlastných dátových štruktúr. Za zmienku stojí tretí typ deklarácie. Pripomeňme si ju: Dim umyvacka : umyvacka = CreateObject("umyvackaRiadu"). Ako chápať dvojbodku? Jednoducho, dvojbodka znamená že vykonaj prvý príkaz na ľavo a zároveň nezábudni i na ten pravo. Spája dve príkazy súčasne.

Príkaz With

Keďže programátori sú od prírody leniví ľudia a nechce sa im veľa písať, tak pre dátové štruktúry (či už vlastné alebo definované v knižniciach) existuje skratka. Ukážeme si ju v príklade a inšpirujeme sa z prvého programu.

3. program: Využitie príkazu With

 Type Vec
 Meno As String
 Dlzka As Integer
 Sirka As Integer
 Vyska As Integer
 Farba As String
 End Type
 
 Sub Makricko
 
 Dim mojTyp As Vec
 REM použitie príkazu With
 With mojTyp
 .Meno = "Televízia"
 .Dlzka = 30
 .Sirka = 45
 .Vyska = 50
 .Farba = "modrú"
 
 MsgBox "Špecifikácia veci: " & .Meno & " má dlžku " & .Dlzka & " cm, šírku " & .Sirka & 
 " cm, vyšku " & .Vyska & " a farbu " & .Farba
 End With
 
 End Sub

Rozbor makra: Vidíte, že miesto pracného písania premennej pred jej vlastnosťou, sme príkazom With určili, že pred bodkou sa automaticky myslí meno premennej. Ušetrili sme pár písmen a pár sekúnd času. Ale zíde sa to vtedy, ak píšeme veľké makro s mnohými procedúrami a dedline je onedlho.

(Jako ve škole) Průměr: 3.67 | Hodnotilo: 9
 

Přidat názor

 

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích najdete v nápovědě. Diskuzi můžete sledovat pomocí RSS kanálu.

 
Eduard Boldižár

Eduard Boldižár

Som redaktorom stránky astrotech.cz. Mám 24 rokov. Čas trávim v IT škole. Medzi moje záľuby patrí astronómia, sci-fi literatúra a programovanie.

 
 
 
woo jaw demo hz