Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 Re: Calc » Záporné číslo jako návratová hodnota funkce GetSystemTicks() » 16. 11. 2017 18:55:53

Původní záporná hodnota odovídá Linuxu (Mint 17). Zkoušel jsem také ve W7, zde je návratová hodnota kladná a zvyšující se. Rozdíl tedy bude i ve W7 kladné číslo. Zkoušel jsem (v Linuxu) co nejdříve po zapnutí spustit makro a výsledek odpovídá asi 30-bitovému čítači. Přeteče tedy asi za 12,5 dne.

#2 Re: Calc » Záporné číslo jako návratová hodnota funkce GetSystemTicks() » 16. 11. 2017 13:54:57

Ano, tomu rozumím. Výsledek rozdílu bude kladné číslo. Tedy v kódu chyba není. O to mi šlo. Rád bych však věděl i to, jak je odečítání konstruováno, tj. kdy čítač dosáhne 0 a začne počítat znovu.

#4 Calc » Záporné číslo jako návratová hodnota funkce GetSystemTicks() » 16. 11. 2017 12:54:08

Jaroslav_1
Odpovědí: 5

Dobrý den všem,
prosím o pomoc při nalezení chyby v kódu:

Sub CLK_1
    Dim Doc As Object
    Dim Sheet As Object
    Dim Cell As Object
    Dim Vzorek_casu As Long
    Doc = ThisComponent
    Sheet = Doc.Sheets(0)
    Cell = Sheet.getCellRangeByName("A2")
    Vzorek_casu = getSystemTicks()
    Cell.Value = Vzorek_casu
End Sub

V buňce se mi objeví záporné číslo snižující se směrem k nule. Nevím, zda-li je to chyba, nenašel jsem zatím podrobnější popis této funkce. Děkuji.

#6 Re: Calc » Hodnota u příkazu "Wait" v makru - lze zadat prostřednicvím buňky? » 15. 11. 2017 13:36:51

Odpovím si sám:

Sub Cekacka1
Dim zpozdeni As Integer
    doc = ThisComponent
    list = doc.sheets(0)
    zpozdeni = list.getCellRangeByName("A1").value
    MsgBox "Zacatek"
    Wait zpozdeni
    MsgBox "Konec"
End Sub

Nicméně bych byl velmi rád, kdyby mě někdo znalý nasměroval na podrobný zdroj informací o objektech v LO
Basic. Jsem rád, že vím jak výše uvedený kód funguje ale také bych rád věděl proč. Tedy bližší vysvětlení práce příkazu (metody?) ThisComponent, zda je nutné pojmenovat doc právě doc a proč, všechny možnosti s tím spojené ap.. Zatím jsem vyzkoumal stylem "slepé kuře zrno našlo", což se mi moc nelíbí.

#7 Náměty, nápady aneb Je tu vše, co hledáte? » O programovacích jazycích pro makra v LO » 15. 11. 2017 08:02:57

Jaroslav_1
Odpovědí: 2

Dobrý den, vážená redakce,
přede vším chci každému z Vás poděkovat za práci a čas, který tomuto fóru věnujete.
Velmi bych ocenil zařazení v nadpisu uvedené (podle uvážení redakce nazvané) sekce. Můj názor je, že poměrně dost uživatelů má zájem o použití LO Basicu nebo jiných programovacích jazyků pro vytváření maker. Vím, že je možné se zeptat v souvislosti s řešením konkrétního problému v sekci jednotlivých programů balíku ale to mi nepřipadá příliš přehledné. Odpovědi, týkající se tvorby maker, mohou být užitečné pro uživatele různých programů v balíku. Je možné je vyhledat ale (mluvím za sebe) ne vždy se mi podaří správně fomulovat dotaz. Je pravděpodobné, že takovýto problém nemám jen já. Podle mne by specializovaná sekce usnadnila a zrychlila nalezení odpovědi, kterou návštěvníci hledají. Nepředstavuji si, že by nahrazovala referenční přručky jednotlivých programovacích jazyků. Jen přesné nasměrování k relevantním informačním zdrojům může být mnohdy velmi užitečné.

#8 Calc » Hodnota u příkazu "Wait" v makru - lze zadat prostřednicvím buňky? » 13. 11. 2017 21:58:25

Jaroslav_1
Odpovědí: 2

Ptám se jako začátečník tvořící makra do Calcu, možná na samozřejmou věc, kterou jsem ale nenašel v nápovědě. Potřebuji zadat údaj o počtu milisekund ve zdrojovém textu  příkazu jazyka LO Basic "Wait" jako číselnou hodnotu v buňce formuláře. Je to možné? Jak?  Děkuji za odpověď.

#9 Calc » Přepočítávání příkazem LO Basic v makru. Pro jednu buňku. » 13. 11. 2017 20:23:34

Jaroslav_1
Odpovědí: 1

Dobrý den všem,
v tématu "Vynucené přepočítávání" jsem dotazoval možnost realizace zavedení automatické periodické změny do formuláře. Díky zdejšímu uživateli s nickem "neutr" jsem se posunul o pořádný kus dopředu. V diskuzi byl zmíněn i příkaz LO Basic pro automatické přepočítávání, našel jsem na tomto fóru jako "ThisComponent.calculateAll()". Zkoušel jsem, funguje, přepočítává vše. Nevíte někdo, zda je dostupná jeho modifikace, která by přepočítávala jen určenou buňku nebo omezenou oblast? Děkuji za odpovědi.

#10 Re: Calc » Vynucené přepočítávání » 13. 11. 2017 11:44:33

Skvělá práce. Ještě jednou děkuji za všechny, kterým to pomůže.

#11 Re: Calc » Vynucené přepočítávání » 12. 11. 2017 20:57:35

Vše se asi odehrává v RAM počítače? Mám tím na mysli rychlé - řádově ms , desítky, stovky ms - zápisy a čtení. Na disk se asi ukládá jen konfigurace?

#12 Re: Calc » Vynucené přepočítávání » 12. 11. 2017 14:11:36

Zatím asi stačí průměr. Nevím, jak je náročná varianta se třemi stavy a zda by nabízela pro mne opravdu více možností. Nedokážu nyní posoudit.

#13 Re: Calc » Vynucené přepočítávání » 12. 11. 2017 12:20:40

Ano, s testem je možné se smířit. Děkuji za realizaci.

#14 Re: Calc » Vynucené přepočítávání » 12. 11. 2017 11:06:35

Obnova dat např. 200ms? To by asi nevadilo. Nelze mít procesy pro změnu 1/0 a obnovu dat spuštěné současně? Zatím by to - jak to chápu - znamenalo, že hodinový signál bude přerušován intervalem obnovy dat. Optimální by byl hodinový signál kontinuální (v rámci spuštění a zastavení prostřednictvím tlačítek).

#15 Re: Calc » Vynucené přepočítávání » 12. 11. 2017 10:07:14

Tak, jak tomu rozumím z Vašeho posledního příspěvku, odstavec první, by byla perioda změn 110ms s tím, že impuls pro změnu 1/0 by setrval v úrovni 1 po 10ms ale periodu by měl oněch 110ms?
Potřebuji, aby proběhlo - dle příkladu výše -  5 period s např. 10ms v úrovni 1 a 10ms v úrovni 0 (ale může být i jiný poměr) 10 změn signálu 1/0 na jedno přepočítávání.

#16 Re: Calc » Vynucené přepočítávání » 12. 11. 2017 09:39:01

Opravdu mi jde pouze o simulaci principu mikrokontroléru nebo počítače obecně. Chci si nasimulovat řadič, sběrnici, registry, paměti a výstupy. Aby to vše ožilo, potřebuji hodinový signál. Na hodinový signál pak chci navázat makra simulující vykonávání instrukcí.

#17 Re: Calc » Vynucené přepočítávání » 12. 11. 2017 09:14:53

Já mohu jen konstatovat, že se smířím s nejnižším intervalem změn 1/0 v řádu desítek milisekund a nejnižším intervalem přepočítávání  (i) o řád vyšším.

#18 Re: Calc » Vynucené přepočítávání » 12. 11. 2017 08:42:46

Napsal jsem to špatně, myslel jsem intarval "x" jako interval změn 1/0.

#19 Re: Calc » Vynucené přepočítávání » 12. 11. 2017 08:40:22

Označím-li si jako pomůcku volitelný interval pro vstup přepočtem  x a interval přepočítávání y, lze realizovat:
-uživatelsky nastavitelný interval "x"
-volbu intervalu "y" jako násobek "x"
-přičtení konstanty "k", menší než nejnižší hodnota "x", k intervalu "y" a tím zajištění, že se procesy "nepotkají"?

#20 Re: Calc » Vynucené přepočítávání » 12. 11. 2017 07:46:04

"Domnívám se správně, že potřebujete jak vstup "přepočtem" tak řízení pro výstup pomocí 1/0, nebo jde jenom o řízení pro IO piny?"
- ano, ideální by byly oba vstupy. Při čemž vstup "přepočtem" může mít (pokud budou vstupy dva) řádově delší periodu, než změny v buňce 1/0. Změny v buňce 1/0 jsem neuvažoval pro řízení výstupu ale pro simulaci hodinového signálu, který by dokázal iniciovat změny. Tedy jako zdroj události pro řízení makra. Nevěděl jsem, že tyto dva případy lze oddělit, jak píšete výše. Pro přepočet je tedy asi možné použít k tomu určené makro, o kterém píšete? A pro generování změn postup, který popisujete ve 2. a 3. odstavci?

#21 Re: Calc » Vynucené přepočítávání » 11. 11. 2017 23:08:52

Podařilo se mi aktualizovat i LO v Mintu. Pokud ještě mohu a bude to možné, poprosím o úpravu dle mého předchozího příspěvku.

#22 Re: Calc » Vynucené přepočítávání » 11. 11. 2017 20:29:04

Testoval jsem a zjistil, že opravdu ve starších verzích LO jak v Linuxu (mám v Mintu LO 4.2.8), tak ve Windows 7 (měl jsem LO 4.2.x) makra generují chybu. Po aktualizaci (zatím ve W7) na nejnovější verzi vše funguje dle popisu.
Jen jedna zásadní věc. Potřebuji, aby se v jedné buňce měnila hodnota 0/1 dle nastavené periody. Tu bych použil jako zdroj "proměnného kmitočtu". To se zatím neděje. Je pravda, že v buňkách s funkcí SECOND(NOW()) se údaj už mění, nicméně s nejnižším a pevným rozlišením 1s.

#23 Re: Calc » Vynucené přepočítávání » 10. 11. 2017 22:18:29

Co jsem testoval původní verzi - "Odpočet", režie v tomto případě byla max. asi 65ms. Zřejmě 100ms jako nejnižší hodnota by mohlo fungovat?

#24 Re: Calc » Vynucené přepočítávání » 10. 11. 2017 21:26:10

1. finální pokus mi nefunguje podle zadání. Tlačítkem START a STOP měním hodnoty v buňce na mezi 0/1. Je možné, pokud se mění v intervalu 1ms, že změnu nevidím. Ale asi to tak není, formulář se dle výsledků v buňce, kde je vložena funkce NOW(), ani nepřepočítává. Periodu také nelze nastavit.

#25 Re: Calc » Vynucené přepočítávání » 10. 11. 2017 20:43:17

Zatím mi stačí jen obnova v rámci vzorců. Nevím ani, jak bych propojení otestoval.

Zápatí

Používáme FluxBB