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

#1 18. 4. 2021 11:08:16

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 3,435

Chyby, nebo záměr?

Dnes jsem nemohl rozchodit příkaz ReDim Preserve a nic jsem nenašel jako příčinu. Při tom nápověda pro ReDim uvádí doslova toto "Volitelně je možné přidat klíčové slovo Preserve, které při změně velikosti pole zachová jeho obsah. ReDim lze používat pouze v podprogramech."
     Takže nevím co je příčinou. Dá se to přičíst na vrub chyby, nebo se musíme smířit s tím, že dobře bude fungovat jen VBA, kterého je dnes už pomalu více, nežli původního StarBasicu? Já mám Version: 7.0.5.2 (x64) cs-CZ (cs_CZ); UI: cs-CZ a tato verze vykazuje některé rozdíly proti těm verzím, které se původně značily "Fresh", ale „stable" může mít také chybu.
     Nejvíc mne štve, že klíčové slovo Preserve nelze v nápovědě najít. Dá se najít pouze ReDim a tam je to jako poznámka, ale k té se hned tak nedopracujeme a toho času při hledání....

nápověda napsal(a)

Rejstřík – hledání podle klíčových slov

Zadáte-li hledané slovo do pole Hledaný výraz, je možné hledat specifická témata. Okno obsahuje dvouúrovňový abecedně řazený seznam klíčových slov.

Jestliže je kurzor v seznamu klíčových slov, když zadáváte hledaný výraz, bude ihned označen následující výraz, který vyhovuje hledanému výrazu. Jestliže zadáte slovo do pole Hledaný výraz, bude zvýrazněn nejvíce odpovídající výraz ze seznamu klíčových slov.

     Podle tohoto návodu se nikam nedopracujete - dále nápověda odkazuje na Najít – fulltextové vyhledávání.
zde se objevuje toto :

nápověda napsal(a)

Najít – fulltextové vyhledávání

Režim fulltextového vyhledávání v nápovědě LibreOffice umožňuje vyhledávat dokumenty nápovědy obsahující zadaná slova. Pro započetí vyhledávání zadejte jedno nebo více slov do pole Hledaný výraz.

V textovém poli Hledaný výraz je uchován seznam posledních zadaných slov. Zopakování minulého vyhledávání provedete klepnutím na ikonu šipky a vybráním výrazu ze seznamu.

Po spuštění vyhledávání se zobrazí nadpisy nalezených dokumentů. Načíst příslušný dokument nápovědy můžete poklepáním na položku seznamu nebo jejím vybráním a stisknutím tlačítka Zobrazit.

Zaškrtávací pole Hledat jen v nadpisech zúží vyhledávání jen na nadpisy dokumentů.

Zaškrtávací pole Pouze celá slova dovolí provést přesné vyhledávání. Je-li zaškrtnuto, nebudou nalezeny neúplné výrazy. Nezaškrtávejte toto pole, pokud hledaný výraz může být součástí delšího slova nebo slov.

Je možné zadat libovolné množství výrazů pro vyhledávání oddělené mezerou. Vyhledávání nerozlišuje malá/velká písmena.

     Vím co je fulltextové vyhledávání - ale kde se dá najít - to se mi nepodařilo zjistit. Prostě nápověda naprosto k ničemu - napadají mne jen samé sprosťárny.


     Takových maličkostí je více. Když na takový problém narazím, většinou si poradím, ale vím jistě jednu věc – postupně přestanou fungovat makra vytvořená ve StarBasic. To že se přechází na Python je jedna věc, ale proč na VBA a proč se ničí funkcionalita StarBasic – to nepochopím. Nechci kritizovat vývojáře – ale jsou to nedůslední packalové.


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#2 18. 4. 2021 13:37:26

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 368

Re: Chyby, nebo záměr?

Na nějakou chybu s ReDim Preserve jsem narazil též, ale nevím jestli mi to blblo když nebyly řádně natypované druhy proměnných, nebo jestli mě překvapilo že mi to vynulovalo pole a pro zachování bylo potřeba zadávat konkrétní počet prvků

dim p()
p=array("a","b","c")
redim preserve p(2) 'zachová pole
redim preserve p() 'vynuluje pole

Od nějaké 7.x verze (již nevím které) se musí v některých případech striktně dodržovat typ proměnných. Dříve si to automaticky přetypovalo, pak již ne. Jestli někde máte definici pole s konkrétními typem proměnných např. dim p(2) as long, tak poté může zablbnout třeba redim preserve p(2) as variant. Přitom dříve to něco takového umožnilo.

Já vím že jsem měl vytvořené pole polí (dim p(2), p(0)=array(...), p(1)=array(...), p2=array(...)) a právě začalo blbnout když jsem mu měnil nějaké položky -> p(1)=něcoJiného. Dříve mi to fungovalo, ale od nějaké té verze 7.x to najednou začalo házet chyby, a nepřišel jsem na to jako to udělat v tom jednom poli, ale musel jsem pro to využít druhé pomocné pole p2=něcoJiného.

Je to již několik měsíců co se to objevilo, chtěl jsem to nahlásit, ale za tu dobu jsem se k tomu abych to detailněji prozkoumal a co nejjednodušeji reprodukoval ještě nedostal. Vím že jsem to nějak zkoušel jednoduše reprodukovat, ale to se chovalo v pořádku. Tak jsem si říkal že to holt musím postupně dostat z nějakých těch smyček, ale nechtělo se mi do toho. A teď už jsem zapomněl jak se to vlastně konkrétně chovalo - a v těch makrech kde jsem na to narážel jsem si to neokomentoval, takže už nevím jak se k té chybě dostat. A navíc se mi do toho stále strašně nechce.


Vím také, že v dřívějších verzích šlo třeba pro ztučnění písma vlastnost kurzoru CharWeight nastavit přes proměnnou string (oCur.CharWeight="150"), ale pak začalo být potřebné ji zadávat jako číslo, jinak to nebralo (oCur.charWeight=150).

Offline

#3 28. 4. 2021 09:31:24

kamlan
Člen
Registrace: 15. 9. 2016
Příspěvků: 368

Re: Chyby, nebo záměr?

V článku https://blog.documentfoundation.org/blo … -report-3/ jsou odkazy na bugzillu na chyby s ReDim které již by měly být ve verzi 7.1 a 7.2 opraveny.

viz. https://bugs.documentfoundation.org/sho … ?id=123025

https://bugs.documentfoundation.org/sho … ?id=136755

Offline

Zápatí