Programovanie makier v LibreOffice: Formátovanie funkcií CCur, Hex a Oct

LO V tomto článku si ukážeme formátovanie prevažne číselných argumentov pre funkcie CCur , Hex a Oct .  

Testujeme funkciu CCur

Funkcia CCur vracia menu. Rozsah návratovej hodnoty je od -922 337 203 685 477.5808 do 922 337 203 685 477.5807! Čiže premenná typu mena môže obsahovať najviac 15 čísiel pred desatinnou čiarkou a 4 za desatinnou čiarkou. Táto premenná sa využíva hlavne pri finančných operáciách. Fajn, poďme si danú funkciu CCur otestovať.

1. príklad: Testujeme formátovanie funkcie CCur

Sub macro  REM začiatok makra
On Error Resume Next  REM ak nastane chyba, nech makro beží ďalej
Dim i As Integer   REM deklarácie premenných
Dim retazec As String
Dim pole()
REM naplňujeme naše pole
pole() = Array(6, 100, 15499, -1566, -89898989, 1000000000000000, "878", "-45454566145555555557", 11.454, 45.77889, -101.4444, -777.77777, "788.777789", &HBB2, &HCCB7, &HDFDC)
REM v cykle experimentujeme s funkciou CCur
For i = LBound(pole()) To UBound(pole())
        retazec = retazec & i+1 & " CCur(" & pole(i) & ") = "
        retazec = retazec & CCur(pole(i))
        retazec = retazec & Chr(10)
Next 
REM výpis na obrazovku 
MsgBox retazec
End Sub  REM koniec procedúry

Vidíme testovanie funkcie CCur Vidíme testovanie funkcie CCur

Rozbor makra:
Takže zhrňme si najdôležitejšie body, ktoré sú dôležité:
1 CCur(6) = 6.0000 – k číslu 6 pridá desatinnú čiarku a štyri 0 za desatinnou čiarkou
6 CCur(1E+15) = – prekročili sme maximálnu hodnotu
9 CCur(11,454) = 11.4540 – racionálne číslo doplní ešte jednou nulou
10 CCur(45,77889) = 45.7789 – 5 pozícia za desatinným číslom sa zaokrúhli
13 CCur(788.777789) = 788.7778 – ani získanie meny z reťazca nerobí problém

Testujeme funkcia Hex

Funkcia Hex nám vracia reťazec predstavujúci hexadecimálnu podobu čísla, čiže šestnásťkovú číselnú sústavu.

Syntax funkcie Hex je nasledovná:
Hex(nejaké číslo ako argument)

Poďme na druhý príklad, kde si ukážeme pár argumentov pre funkciu Hex.

2. príklad: Testujeme argumenty funkcie Hex

Sub macro  REM začiatok makra
On Error Resume Next  REM ak nastane chyba, nech makro beží ďalej
Dim i As Integer   REM deklarácie premenných
Dim retazec As String
Dim pole()
REM naplňujeme naše pole
pole() = Array(6, 100, 15499, 1000000000000000, "878", 11.554, 45.77889, "788.777789", &HBB2, &HCCB7, &HDFDC, "&HA2", "&HBC5")
REM v cykle experimentujeme s funkciou Hex
For i = LBound(pole()) To UBound(pole())
        retazec = retazec & i+1 & " Hex(" & pole(i) & ") = "
        retazec = retazec & Hex(pole(i))
        retazec = retazec & Chr(10)
Next 
REM výpis na obrazovku 
MsgBox retazec
End Sub   REM koniec procedúry

Výsledok činností makra Výsledok činností makra

Rozbor makra:
Body, ktoré je dobré spomenúť:
2 Hex(100) = 64 – hexadecimálna hodnota desiatkového čísla 100 je 64
4 Hex(1E+15) = – pretečenie
5 Hex(878) = 36E – číslo v reťazci nie je problémom
13 Hex(&HBC5) = BC5 – z hexadecimálneho čísla do hexadecimálneho čísla, trochu bizarné ale poučné

Na záver funkcia Oct

Funkcia Oct má veľa spoločného s funkciou Hex, až na jednu kľúčovú vlastnosť. Vracia osmičkovú podobu čísla, nie hexadecimálnu!

3. príklad: Testujeme argumenty funkcie Oct

Sub macro  REM začiatok makra
On Error Resume Next  REM ak nastane chyba, nech makro beží ďalej
Dim i As Integer   REM deklarácie premenných
Dim retazec As String
Dim pole()
REM naplňujeme naše pole
pole() = Array(6, 100, 15499, 1000000000000000, "878", 11.554, 45.77889, "788.777789", &HBB2, &HCCB7, &HDFDC, "&HA2", "&HBC5")
REM v cykle experimentujeme s funkciou Oct
For i = LBound(pole()) To UBound(pole())
        retazec = retazec & i+1 & " Oct(" & pole(i) & ") = "
        retazec = retazec & Oct(pole(i))
        retazec = retazec & Chr(10)
Next 
REM výpis na obrazovku 
MsgBox retazec
End Sub   REM koniec procedúry

Výsledok činností makra Výsledok činností makra

Ukázali sme si v tomto diely i v tých minulých formátovanie niektorých funkcii. Zatiaľ sme sa dátumu a času úspešne vyhýbali, pri tom táto problematika patrí medzi dôležité formátovacie úskalia. Konečne nastala chvíľa, kedy sa môžeme nato vrhnúť, tak sa máte načo tešiť.

(Jako ve škole) Průměr: 1.00 | Hodnotilo: 2
 

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.

 

Public Relations

SOS Security Week - interaktivní webináře

SophosOblíbený Security SOS Week je zpátky! … na přelomu června a července proběhne další ze série Security SOS Week, která vám pomůže zjistit, jak efektivně ochráníte vaši IT infrastrukturu před hackery a že malware je zpět v plné síle a i bezpečnost vašeho soukromí má dvě strany jako mince.

Pokračování ...


SOLIDWORKS

Public Relations

Jak si zabezpečit servery?

DNSSECPokud chce moderní člověk plně využívat to, co mu virtuální svět internetu nabízí, musí se stále více orientovat na bezpečnost. Musí činit kroky, jež ho ochrání před riziky, jež se právě na této síti skrývají a dnes a denně uživatele ohrožují.

Pokračování ...


 
 
woo jaw demo hz