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

#26 19. 4. 2015 21:56:43

Marrtt
Člen
Registrace: 25. 2. 2015
Příspěvků: 115

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

dobrý den
omlouvám se, ale nenašel jsem tady nikde návod, jak založit nové vlákno nebo téma, tak to píšu sem.
narazil jsem na další zajímavý problém: Vkládám makrem řádek pod záhlaví tabulky, které má formátovaný text, pozadí, ohraničení. U nového řádku požaduji jiné formátování (parametry textu, pozadí a ohraničení). Nově vložený řádek tvrdošíjně přebírá formátování ze záhlaví. Umím si poradit s parametry textu i pozadí, ale nedokážu přetlačit implicitní převzetí ohraničení. Pokud tento řádek vložím do řádku bez kontaktu s hlavičkou tabulky, formátuje se ohraničení podle požadavků, takže příkazy v makru budou nejspíš dobře. Existuje někde v nastavení příkaz, ovlivňující formátování při vkládání řádků? Myslím výběr parametrů, které se přenáší z horního řádku nad vkládaným? Toto přebírání parametrů mi vadí i při ručním vkládání řádků do calcu.
Děkuji
Martin
používám tuhle sekvenci (podle tutorialu D.Sedláčka)
    dim board as New com.sun.star.table.BorderLine
    board.Color = RGB (0,0,0)
    board.OuterLineWidth = 35

    dim board_2 as New com.sun.star.table.BorderLine
    board_2.Color = RGB (0,0,0)
    board_2.OuterLineWidth = 85

    arrea = strana_1.getCellrangeByposition(0,pos,29,pos)
                lines = arrea.tableborder
                with lines
                    .TopLine = board 'přiřazení druhu ohraničení k horní čáře
                    .BottomLine = board ' spodní čára
                    .RightLine = board_2 ' pravá
                    .LeftLine = board_2 ' a levá čára
                    .VerticalLine = board_2 ' vodorovné čáry ohraničení – pouze vnitřní
                    .HorizontalLine = board ' kolmé čáry ohraničení – pouze vnitřní
                end with
                arrea.tableborder = lines

Offline

#27 19. 4. 2015 22:37:22

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 782

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Marrtt napsal(a)

dobrý den
omlouvám se, ale nenašel jsem tady nikde návod, jak založit nové vlákno nebo téma, tak to píšu sem.

Forum Calc:

nad hlavičkou nad nápisem "Poslední příspěvek" je vpravo na stránce "Založit nové téma"

Stačí kliknout.

Offline

#28 19. 4. 2015 22:51:16

Marrtt
Člen
Registrace: 25. 2. 2015
Příspěvků: 115

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Jo, už jsem to našel, děkuju. ale nebudu to tam psát znovu, už to nechám jen tady.
Martin

Offline

#29 20. 4. 2015 06:57:04

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

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Ano existuje. Princip je v tom, že buď kopírujete jen obsah, nebo také některé, či všechny parametry formátů.
     Když kopírujete ručně tak máte volbu Ctrl+C a vložit Ctrl+V. Pak se vám vykopíruje vše. Když ale dáte vlořit jinak můžete zvolit vzorce, formáty jako datum a další věci.
     Podobně to jde makrem. Existuje kopírování schránkou (Basic) které odpovídá tomu Ctrl+C - vloží vše. Podobně je tomu při použití UNO. Když to uděláte záznamníkem maker tak máte také volbu stejnou jako při ručním kopírování.
     Jiný typ kopírování pomocí makra Basic je jen obsahem array. Také se dá nastavit co vše kopírujete, ale nejčastěji jen hodnoty a text (žádné vzorce ani formáty).


     Takže jednou cestou je nahrát si makro záznamníkem tak jak potřebujete a spouštět ho jako součást jiného kódu. Je to snadná cesta, ale má nevýhodu. Když kopírujete makro skáče z úseku na úsek. Pokud například kopírujete něco z listu 1 do listu 2, nebo daleko od sebe tak to skáče jako koza. Navíc při tomto makru nesmíte nic jiného dělat - zejména ne kopírovat schránkou. Vím to velice dobře a přes to vždy chybu opakuju. Při chodu makra (časově náročné procesy) prohlížím web. Někdy si vykopíruji odkaz a vložím do příkazové řádky browseru - a tam vyskáčou blbosti. Problém je, že to platí i opačně. Calc (Writer) vyhodnotí místo dat kopírovanou URL.
     Tohle ale makrům napsaným v Basic (pokud nejde o schránku) nevadí a mohu dělat co chci mimo balík LO, AOO (jde ale bez problému prohlížet například nápovědu, ale ne editovat).


     Takže jiná cesta je napsat kopírování v Basic(u) bez schránky (nebo upravit makro při volání "select" - aby neskákalo) a formáty tam potom doprogramovat, což stejně požadujete. Jde jen například o to, zda chcete kopírovat vzorce, ale to jde také basicem jako "Cell.Formula". K tomu zadáte formátovací kód.


     V některých případech by se vyplatilo nastavit podmíněný formát kopírovaných úseků. Jde samozřejmě o to co děláte a co potřebujete.


      Posílám ukázkové kódy pro Basic otestujte si je :

Sub CopySchrankou 
Doc = thisComponent
zkopiruj = doc.Sheets(0).getCellRangeByName("A1:C1")
doc.CurrentController.select(zkopiruj)
obsah = doc.CurrentController.getTransferable()
vloz = doc.Sheets(0).getCellRangeByName("A2:C20")
doc.CurrentController.select(vloz)
doc.CurrentController.insertTransferable(obsah)
End Sub

Sub Kopirovat1
Sheets = ThisComponent.getSheets()
'oSheet = Sheets.getByIndex(0)
oSheet = Sheets.getByName("List1")
osource_range=osheet.getCellRangeByPosition(2, 3, 4, 9)'source
osource_array=osource_range.getDataArray()
otarget_range=oSheet.getCellRangeByPosition(5, 0, 7, 6)'target
otarget_range.setDataArray(osource_array)
End Sub

Sub Kopirovat2
Sheets = ThisComponent.Sheets
oSheet = Sheets.getByIndex(0)
'oSheet = Sheets.getByName("List1")
oCellrange = oSheet.getCellRangeByPosition(0,0,2,3)
SourceAddress = oCellrange.RangeAddress
TargetCell = oSheet.getCellRangeByName("E1")
TargetAddress = TargetCell.CellAddress
oSheet.copyRange(TargetAddress, SourceAddress)
End Sub

     Samozřejmě existují varianty pro "CellRangeByNeme", nebo "CellRangeByPosition" stejně jako pro čísla, nebo názvy sešitů. Formáty se nesou většinou jen po jednotlivých buňkách (Cell), ale mohou i po úsecích (Range). Tam to snad dobře popisuje Dan Sedláček. Já používám trochu něco jiného.

Editoval neutr (20. 4. 2015 06:59:41)


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

Offline

#30 20. 4. 2015 08:56:38

Marrtt
Člen
Registrace: 25. 2. 2015
Příspěvků: 115

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Asi jsme se nepochopili - nejde o kopírování řádku, tam vím, že jsou výběrové parametry, které je třeba zvolit. Já nekopíruji řádek, ale vkládám nový (doplňuji tabulku prvků o další řádek, tabulka má v počátku pouze formátované záhlaví). Ale nově vložený řádek automaticky přebírá formátování řádku těsně nad a toho se chci zbavit. Umím změnit všechny parametry formátu, ale konkrétně ohraničení nejde obvyklým způsobem změnit. Kdyby byl alespoň příkaz na odstranění ohraničení, pak bych mohl doplnit nové. Zatím to šidím tak, že mám pod záhlavím skrytý řádek a nově vložený řádek přebírá vlastně parametry neformátovaného řádku. ale nepřijde mi to úplně korektní.
Martin

Offline

#31 20. 4. 2015 09:11:44

lp.
Člen
Registrace: 24. 9. 2009
Příspěvků: 782

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Zkuste si vypnout rozšířené formátování.

Ovšem psát makro závislé na nastaveních calcu není obvykle dobrý nápad.

Offline

#32 20. 4. 2015 09:20:18

Marrtt
Člen
Registrace: 25. 2. 2015
Příspěvků: 115

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Vyzkoušeno - bohužel i při vypnutí rozš. form. se při vložení řádku přebírá formátování řádku nad.
M

Offline

#33 20. 4. 2015 09:25:45

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

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Aha chcete vložit řádek mezi existující nějak vyplněné a formátované řádky? Pak bych doporučil po vložení překopírovat, nebo naformátovat implicitní formáty prázdných buněk mívají hodnotu -1 místo konkrétního čísla barvy ap.
    Já používám pro vkládání a mazání řádků :

Sub Vloz_Odstran_Column 'podobně řádek
Dim Doc As Object
Dim Sheet As Object
Dim NewColumn As Object
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets(0)
Sheet.Columns.insertByIndex(3, 5)' První číslo je číslo sloupce, druhé číslo je počet sloupců
Sheet.Columns.removeByIndex(2, 3)' První číslo je číslo sloupce, druhé číslo je počet sloupců
End Sub

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

Offline

#34 20. 4. 2015 10:23:02

Marrtt
Člen
Registrace: 25. 2. 2015
Příspěvků: 115

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Mám jednoduché řešení (pro tento případ, kdy mám pod tabulkou dost místa) - vložím řádek o jeden níže a vymažu mezilehlý řádek. Nejde to použít pro vložení "mezi řádky", jen na konec tabulky do volného prostoru, ale stačí mi to jako úhybný manévr.
Děkuju M

Offline

#35 20. 4. 2015 10:35:57

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

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

No zřejmě víte co děláte, ale když ani nekopírujete, ani neprokládáte - jen přidáváte na konec, tak by tam měly být buňky bez formátu. V podstatě by Vámi popisovaný problém existovat neměl pokud tam není původní staré formátování. Jenže to by zase ani smazání meziřádku nepomohlo. Nezlobte se nechápu podstatu popisovaného problému a tím méně co je vyřešeno.


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

Offline

#36 20. 4. 2015 11:03:14

Marrtt
Člen
Registrace: 25. 2. 2015
Příspěvků: 115

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Měly by tam být buňky bez formátu, ale bohužel nejsou - prostě to z mě neznámého důvodu přebírá formát z vyššího řádku...a pokud je zrovna řádek nad vkládaným bez formátu, tak se přebere čisté formátování, tedy vlastně neformátování (vyzkoušeno na zcela novém souboru calcu bez jakýchkoliv reziduí nějakého starého formátování). Takže vkládám obřádek s požadovaným formátováním z makra a mezilehlý prázdný vymazávam.
Třeba tu straší, jak si to mám jinak vysvětlit? Je to stejné jako s těmi listboxy - mám problémy, které nikdo nezná. Ale já si to nevymýšlím - na to je mi čas vzácný. :-)
M

Offline

#37 20. 4. 2015 13:04:47

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

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Tedy to jsem také ještě neslyšel. Nemáte tam nějaký podmíněný formát vázaný na předcházející buňky? I když i ty listboxy jsou zvláštní. Bohu žel nikdo jiný to nepotvrzoval. Takže zase můžu jen říct ukažte to jestli něco najdeme.


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

Offline

#38 20. 4. 2015 13:55:17

Marrtt
Člen
Registrace: 25. 2. 2015
Příspěvků: 115

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Nemůžete se nějak připojit na moji plochu? možná by to byl nejlepší způsob, jak demonstrovat nějaké nestandardní chování. Připravil bych se na to, udělal bych nějaké jednoduché příklady a třeba by se z toho dalo vyjít. Tohle popisování chyb na dálku žere čas Vám i mě. Momentálně mám ale ten program rozhrabaný, ladil jsem tam nějakou kosmetiku a potřebuju chvilku na to, aby se to dalo spustit.
M

Offline

#39 20. 4. 2015 14:27:32

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

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Sdílet soubory přes net sice lze, ale nikomu to nedoporučuju přímo připojeným strojem - ani do dokumentů, ani do nějakého jiného foldru, a na plochu už vůbec.
     Je možné se propojit pomocí Skype. Pokud máte externí kamerku tak by šlo (sice s problémy) ukázat online. Samozřejmě z noťasu a pevné kamery to nejde.
     Jinou cestou by bylo nahrát video a okomentovat - to je ale velice pracné. Takže bych doporučil natočit typické příklady problémů a postnout - třeba "potichu". Já pak testnu problém zopakovat.


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

Offline

#40 21. 4. 2015 13:01:05

Marrtt
Člen
Registrace: 25. 2. 2015
Příspěvků: 115

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Dobrý den
Nahrál jsem komentovaná videa s popisovanými problémy (ani to moc nebolelo), budou uložena na této adrese
https://app.box.com/s/n5g448qn1651bec2euystagqruoo45hy
právě se nahrávají, předpokládám, že tam budou k dispozici cca v 14.15 - je to dohromady asi 80Mb, ale mám trochu pomalý přenos.

Děkuji
M

Offline

#41 21. 4. 2015 13:14:55

Marrtt
Člen
Registrace: 25. 2. 2015
Příspěvků: 115

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

ještě asi 20 minut, musel jsem udělat nějaké změny, nahrávám to znovu
M

Offline

#42 21. 4. 2015 14:19:07

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

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Teda stahoval jsem to dlouho, ale spustit jsem to nedokázal. U mně to chce IrfanView přehrávač (QuickTime) a ten to neumí přehrát. Je to asi uzavřeno jako archiv (1 soubor). Napište mi postup, nebo přehrávač.


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

Offline

#43 21. 4. 2015 14:51:10

Marrtt
Člen
Registrace: 25. 2. 2015
Příspěvků: 115

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

VLC
http://www.videolan.org/vlc/
univerzální přehrávač na všechny AV soubory
A není to archiv, jsou to 2 otevřená videa (nahráno fotoaparátem)
M

Offline

#44 22. 4. 2015 07:26:04

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

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Díky - pomohlo to. Už ten problém chápu. Řešení se nabízí více. Jedná se skutečně o určitou vlastnost "Pole se seznamem" = "ComboBox". Podle mne jde o chybu volby "jen pro čtení".
     Problém se má tak, že musí být zaškrtnuta volba "jen pro čtení" = NE. Když totiž zvolíme "ANO", ComboBox úplně zešedne a žádnou volbu neumožní. Právě proto že není jen pro čtení umožňuje zápis do první pozice - která je logicky prázdná.
     Když by to fungovalo jak má, tak tam budou nabídky vidět hned od začátku. Výběr se udělá stejně podle první (vysvícené) položky.
     To je vlastnost ComboBoxu. Automaticky je volena viditelná nabídka. Takže to popisované přejíždění po nabídce nemá prakticky vliv. Zapíše se viditelná volba.
     Takové chování se ale projeví jen při první volbě. Při druhé tam zůstává původní předešlá volba, což je také podle mne chyba. To jsem ale způsobil já tím, že jsem zadal místo Vašich 5 řádků jen 3 protože máte (zatím) jen 3 položky. Předpokládal jsem, že tím možná odstraním tu první prázdnou nabídku.
     Pokud jde o možnost dopsat položku, tak bych mohl dopsat jen 2 a pak už nic. Zase dávat milion položek je nesmysl. Prostě bezchybný ComboBox by při volbě "přidávat = NE" měl vysvítit první položku. Ta by se navolila vždy bez zásahu jako implicitní. Ostatní (jiné) volby jsou explicitní.
     Takže když navolíte v ovládacím prvku OBECNÉ - Počet řádek = 3 tak tam skutečně skočí položka (EUR). Vy tam máte 5 řádků a skáče tam USD. Takže buď pořadím, nebo počtem položek můžete ovlivnit implicitní výběr. Ale nic jiného dělat nemůžete.
     Aktivace prvku je dána zaměřením. Pokud není zaměřen, respektive vybrán, tak je "neviditelný" a ohlásí chybu - to správné hlášení, že se má pokračovat ve volbě. Jakmile je ComboBox aktivován zapisuje viditelnou (implicitní) volbu.
     Je ovšem možné, že chování bude u jiných operačních systémů, nebo verzí programů odlišné. Ovšem popisovanou vlastnost implicitního výběru asi budou mít všechny případy stejně. Nejedná se o chybu, ale požadovanou vlastnost prvku.


     Řešení problému s tímto nežádoucím chováním je například v nahrazení ComboBoxu jiným prvkem. nejspíš bych doporučil "Tlačítko volby", nebo "zaškrtávací tlačítko". Ovšem od věci by nebylo ani klasické tlačítko s nápisem.
     Pak jde o to, zda má být povolen vícenásobný výběr měny, nebo ne. V případě unikátnosti volby se musí "CheckBoxy" navzájem blokovat. To lze zajistit. V případě klasických tlačítek se to dá ošetřit jednoduše přepisem pole (tuším G1 v příslušném listě).
     Dalším řešením je možnost potvrzovacího dialogu. Tlačítko "Vložit/Potvrdit" může nejprve vyplivnout dialog - "opravdu chcete zapsat číslo účtu XYZ v měně USD?". Vy máte něco podobného zabudované do prvního řádku, ale tohle by mohlo být k tomu navíc.
     Další možností je obyčejné textové pole. Uživatel prostě vyplní měnu sám a pokud je tam chyba, nebo tam není nic, tak zafunguje ta primární hláška o neúplnosti dat.
     Dokonce při větším počtu měn bych doporučil nabídku cyklem FOR. Po stisknutí "Vložit/Potvrdit" (jen název účtu) by se spustil cyklus nad Select Case, který by nabízel podle nejčastějších případů na prvním místě CZK, pak EUR, následně USD, pak Libry a podobně. Tento systém by se mohl odehrávat do textového pole dialogu a vyžadoval by potvrzení ANO/NE. Když by se dojelo na konec dostal by uživatel možnost opakovat volbu, nebo sezení ukončit.


     Omlouvám se. Z Vašeho příspěvku jsem usoudil, že vlivem Comba které jen tak přelíznete kurzorem spadne celý dialog. V komunikaci - popisu bývá velmi často problém.


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

Offline

#45 22. 4. 2015 08:44:42

Marrtt
Člen
Registrace: 25. 2. 2015
Příspěvků: 115

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Že mne to s tou kamerou nenapadlo dřív, mohli jsme ušetřit nervy i čas...:-)
Tohle má všechno jednu drobnou vadu - v dialogu není ani jedno COMBO, ale jen LISTBOXY. U Comba chápu implicitní první položku jako prioritní (Nedá se náhodou do Combu vnutit i první položka jako pevná? - nemám to úplně načtené, musím si to nastudovat).
POSTUPNĚ:
1) nejde o COMBO, ale Listbox
2) zredukoval jsem řádky na 3 (tyto fondy se obchodují pouze v těchto 3 měnách), výsledek stejný
3) vyzkoušejte, že nekorektní výběr pracuje tak, že po přelíznutí rolety se načte POSLEDNÍ DOTKNUTÁ položka, nezáleží vůbec na tom, na jaké je pozici v seznamu.
4) dřív jsem rovnou po zvolení měny přecházel událostí do zápisu bez potvrzovacího tlačítka - to mi přišlo drsné, tak jsem přidal potvrzení. Přidávat další dialog už je moc obstrukční (pro blondýnu je pořád ještě v záloze volba OPRAVIT)
5) z nabízených možností mi připadá nejlepší tlačítko volby (všechny možnosti jsou vidět, nebude jich moc a nevyžádá si to příliš změn v proceduře. Vyplňovat cokoliv uživatelem je nekomfortní, navíc je to živná půda pro různé vši (blondýna dokáže napsat "USD" až 8 různými způsoby)a já předpokládám nějakou formu třídění podle měny.
6) blokování CheckBoxů neumím, ale vezmu to jako výzvu a nastuduju to.
7) systém nepřímého výběru (cyklus, tlačítko volby atd) má potom nevýhodu třeba u kapitoly PORTFOLIO, kde bude uživatel vybírat z asi 30 fondů. Tam jsou Checkboxy i všechna ostatní řešení nepoužitelná, musí to být přímá volba).
8) Stejná potíž, jako s měnami, nastane při použití tlačítek OPRAVIT a VYJMOUT, kde už opravdu musím volit položku z rolety seznamu - to nejde přednastavit (bude to u účtů i fondů - představte si 15 fondové portfolio - 15 tlačítek?????.
9) komplexním řešením je předpokládat, že s kapitálovými fondy bude obchodovat minimálně uživatel třídy 2(1-blondýna;2-orangutan;3-bagrista;4-učitelka ZŠ;5-jaderný fyzik;6-5ti leté dítě), který zvládne korektně vyplnit dialog.
Děkuju za inspiraci - jdu tvořit
M

Offline

#46 22. 4. 2015 09:28:11

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

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Ano nadpis Listbox máte jako název foldru a problému, ale jde skutečně o ComboBox jsou dva podobné prvky. V češtině máte nabídku Seznam a vedle poměrně podobnou Pole se seznam.
     Když si dáte celý balík do angličtiny (Nástroje - LibreOffice, nebo OpenOffice, - volba jazykové nastavení) a všude zvolíte angličtinu tak na to přijdete také. Zavoláte panel ovládacích prvků a tam se podívejte jak se co jmenuje. Český SEZNAM je anglicky LISTBOX, a česky POLE SE SEZNAMEM je COMBOBOX. Podle roletky poznáte, že v dialogu je skutečně COMBO BOX. Listbox roletku nemá - jen posuvníky vpravo a dole a to ještě není podmíněně. Může se natahovat aby bylo vidět více položek ap.
     Do políčka názvu můžete napsat třeba "tlačítko" vy tam máte napsáno "curr_acc_str" i když při vytvoření prvku tam název typu prvku je, tak je jen orientační. Většinou ho každý přepíše.


     Problém výberu z mnoha položek, které jsou navíc jako název obsáhlé je opravdu lepší asi prvek SEZNAM, který může zobrazovat více položek naráz, ale ne všechyny. Podle posuvníku uživatel vidí že je nabídek moře, ale při výběru ho to neruší. Jen si to projde, vybere, nebo pokračuje.
     Pokud jde navíc o tak složité rozhodování jako jsou fondy, tak by jistě uživatel uvítal k volbě nabídky stručnou specifikaci - výstižnost typickou pro ten který fond. Pro takový případ by to chtělo rotující dialog, nebo jenom MsgBox. Dokonce možná obojí - nejstručnější výběr pomocí ListBoxu a dodatkovou volbu s nápovědou popřípadě aktuálními výsledky ap.


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

Offline

#47 22. 4. 2015 09:53:42

Marrtt
Člen
Registrace: 25. 2. 2015
Příspěvků: 115

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Tak jsem žil v bludu...ale když jdu do záložky dialogu a rozkliknul jsem si vlastnosti pole, tak v záhlaví panelu nahoře je "Vlastnosti: ListBox" nikoliv ComboBox - to nejde editovat, nemohl jsem to nijak změnit (ten zdroják máte, můžete se podívat). U mě má listbox normální roletu, je opticky stejný jako Combo. Před chvílí jsem jen tak nasucho zkoušel opravdové Combo - drží implicitní neprázdnou hodnotu (podle zápisu v poli TEXT) a to je asi to, co bych potřeboval. Důkladně to otestuju. Možná budu zase točit...
M

Offline

#48 22. 4. 2015 09:56:07

Marrtt
Člen
Registrace: 25. 2. 2015
Příspěvků: 115

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Plánuju dodetailovat i to, že z dialogu bude možnost otevřít webovku s grafem a popisem fondu (jako třešničku)
M

Offline

#49 22. 4. 2015 11:21:29

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

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

Ano takto se to dá najít v Apache OpenOffice. Tam se ComboBox jmenuje "Kombinované pole" = cca relevantnější k doslovnímu překladu ComboBox. V Basic se musí zavolat Vlastnosti a na kartě je skutečně ListBox. Také je velice podobný se SEZNAMEM.
     Mě se dokonce nepovedlo ani Apache hodit do angličtiny. Vše jsem dělal v Libre Office kde lze všechno dát do angličtiny hlavní nabídkou počínajíc a názvy prvků končíc. Abych tuhle debatu co je co nejak ukončil :
Wikipedia List box
Wikipedia Combo box
Wikipedia Drop down list
     Jsou tam i obrázky a faktem je, že typické Combo (obecně) vypadá jako seznam. Nemá pro nás typickou "roletku", ale posuvný pruh vpravo. Combo je to proto, že kombinuje jednořádkové textové pole s vícenásobnou nabídkou výbšru pomocí roletky. Combo bez možnosti zápisu je prakticky ListBox - bez té kombinace.
     Typický seznam (ListBox) je víceřádkové textové pole. Otázkou je to jaké jsou další vlastnosti - možnost zápisu, nebo jen výběru (DropDownSeznam), nebo nastavení implicitní hodnoty - u seznamu nutno kliknout na položku, ale výběr bez kliknutí by tu mohl být jako nepovinná dodatková volba. Pak už téměř není rozdíl mezi ListBoxem a ComboBoxem. Dnes mají oba možnost povolit nebo zakázat vícenásobný výběr.
     Takže když je rozdíl jen v tom, že Combo může zapisovat, tak zákazem zápisu dostáváme ListBox. V ovládacvím prvku volba je, ale nefunguje správně. To že po volbě jen pro čtení zašedne je nelogické, ale na druhou stranu se z Comba stává Listbox a ztrácí abych tak řekl svou identitu.
     V detailech asi existují ještě malé odlišnosti, ale různě podle systému ve kterém je takový prvek užíván. Jinak asi v Excelu, nebo PHP, jinak v "C" a podobně.


     Nejlépe se ComboBox odliší od Listboxu tak, že si jen tak do sešitu vložíte oba různé ovládací prvky - prázdné. Následně vypnete režim návrhu. ListBox nic neobsahuje a protože nemá ani jednu položku tak se do něj nedá ani vstoupit kurzorem.
     Combo Box má první řádek odělený a i když je také zcela prázdný tak se dá do toho prvního řádku vstoupit a psát.
     Prázdný ListBox i ComboBox nemají žádnou roletku ani posuvníky. Rozdíl je jenom v tom řádku do kterého se dá psát. To je kombinace textového pole a seznamu - proto Kombinované pole = ComboBox.


     Samozřejmě chyby existují a tak to asi Apache OpenOffice odpustíme. Tato chyba má mnohaletou tradici stejně jako mnoho jiných. Tady jde možná jen o pochopení, že pokud do seznamu nechceme přidávat položky přímým zápisem, je lepší ListBox.
     Prvky typu DrpDown máme v hlavní nabídce - například SOUBOR a položky se rozbalí jako roleta ale bez možnosti zápisu. Takže teoreticky zákazem nebo povolením vlastnosti prvku "jen pro čtení" by z ComboBoxu vznikl DropDownList, což je také trošku nesmyslné. Naopak u prvku SEZNAM (kde se implicitně zapisovat nic nedá) tato úprava - jen pro čtení - poslouží jako převod na DropDownSeznam.
      Faktem je že už také asi moc rozdílů mezi těmito pojmy nevidíte, ale je dobré někdy vědět co je vhodnější k tomu či onomu účelu.


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

Offline

#50 22. 4. 2015 13:34:43

Marrtt
Člen
Registrace: 25. 2. 2015
Příspěvků: 115

Re: Přidávání položek do seznamu pomocí maker - VYŘEŠENO

UF - naprosto vyčerpávající odpověď - přečtu si to 6x a pomalu, abych to celé pobral. Každopádně díky za trpělivost. Už se k tomu nebudu vracet.
M

Offline

Zápatí