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

#1 14. 2. 2021 11:16:17

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

makro pro multivýběr - ČÁSTEČNĚ VYŘEŠENO

Chtěl bych makrem udělat multivýběr ve Writeru, v podstatě jako to dělá příkaz Najít Vše v klasickém dialogu Najít&Nahradit.
Našel jsem akorát jednoduchou možnost pomocí uno:SetMultiSelection kterou lze udělat multivýběr třeba jen v jednom odstavci, ale nelze to tím udělat např. i v tabulkách nebo rámcích atd. neb to nefunguje na metodu goToRange.

	oDoc=ThisComponent
	oVCur=oDoc.CurrentController.getViewCursor() 'viditelný kurzor
	frame=oDoc.CurrentController.Frame
	dispatcher=createUnoService("com.sun.star.frame.DispatchHelper")
	oVCur.gotoStart(false) 'jít na začátek dokumentu
	dispatcher.executeDispatch(frame, ".uno:SetMultiSelection", "", 0, Array())
	oVCur.goRight(1, true) 'označit první písmeno
	oVCur.goRight(1, false) 'druhé písmenbo přeskočit
	oVCur.goRight(1, true) 'označit třetí písmeno

Když se použije Najít Vše v klasickém dialogu, tak nalezený multivýběr se dá zjistit přes ThisComponent.CurrentSelection. Jde-li o multivýběr, tak obsahuje službu com.sun.star.Text.TextRanges. Jenže do této služby se nedá žádný výběr přidat ani z ní žádný odebrat. V Calcu je něco podobného com.sun.star.sheet.SheetCellRanges do kterého různé rozsahy buněk dát jdou, v Drawu též com.sun.star.drawing.ShapeCollection.

Editoval kamlan (31. 3. 2021 10:10:08)

Offline

#2 14. 2. 2021 15:13:22

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

Re: makro pro multivýběr - ČÁSTEČNĚ VYŘEŠENO

Upravte si tohle - mám ještě jiné ale tenhle nahrazuje ukázkově.

Sub oWriterSearchRepalce										
  	Dim oDoc									
  	Dim oWText									
  	Dim oString									
  	Dim Dummy()									
  		On Error Goto oBad								
		oDoc = StarDesktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, Dummy())								
			oString = "This is a document for macro test in writer. This line is first paragraph and first line." & Chr$(10) & _							
						Chr$(9) & "This line is first paragraph too. But it is second line." & Chr$(13) & _				
						Chr$(9) & Chr$(9) & "This line is second paragraph. It is third line." & Chr$(13)  & Chr$(13) & _				
						"This line is third  paragraph. It is fourth line."				
		oWText = oDoc.getText()								
			oWText.insertString(oWText.getEnd(), oString, false)							
		'								
		Dim oDescriptor								
		Dim oFound								
		Dim oFoundAll								
			oDescriptor = oDoc.createSearchDescriptor()							
  			'							
  			With oDescriptor							
    			.SearchString = "This"							
    			.SearchWords = true					' 		
    			.SearchCaseSensitive = False		' 					
  			End With							
  			' 							
  			oFoundAll = oDoc.findAll(oDescriptor)							
  			for i = o to oFoundAll.getCount()-1							
  				oFound = oFoundAll.getByIndex(i)						
  				Print oFound.getString()						
  				oFound.setString("TENTO")						
  			next i							
		Exit Sub								
	oBad:									
		Dim oErLine As Integer								
		Dim oErNum As Integer								
		Dim oErMsg As String								
			oErLine = Erl							
			oErNum = Err							
			oErMsg = Error							
		Msgbox("Error Line No. " & Chr$(9) & " : " & oErLine & Chr$(10) _								
			& "Error Number " & Chr$(9) & " : " & oErNum &Chr$(10 ) _							
			& "Error Message" & Chr$(9) & " : " & oErMsg , 0, "Error Message")							
End Sub	

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

#3 14. 2. 2021 16:24:35

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

Re: makro pro multivýběr - ČÁSTEČNĚ VYŘEŠENO

Mě nejde o to jak vyhledávat/nahrazovat pomocí oDoc.createSearchDescriptor či oDoc.createReplaceDescriptor. Do těhle metod se nedá zahrnout třeba volba Rozlišovat diakritiku - nebo jsem na to alespoň nepřišel.

Mě jde o to jak makrem udělat multivýběr jako kdybych v klasickém dialogu dal Najít vše. V ukázce https://uloz.to/tamhle/mSAN45EVJzm8 mi Najít vše označilo všechna "áčka", ale jak ta áčka označit pomocí makra? Pro označení něčeho lze použít oDoc.currentController.select(o) kde o je něco co se dá právě označit, ale nepřišel jsem na to jak vytvořit to o aby v něm bylo více "subvýběrů"; případně jak právě vytvořit com.sun.star.text.TextRanges a umístit do něj jednotlivé subvýběry.

Offline

#4 14. 2. 2021 18:26:51

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

Re: makro pro multivýběr - ČÁSTEČNĚ VYŘEŠENO

Já celkem chápu, že hledáte makro které vybere například všechny stejné znaky jako "select" a teptve potom by se tyto nějak upravily.
     Na druhou stranu popisujete, že jde o subvýběry - tedy dejme tomu jen určitá slova a v nich udělat určitým způsobem subvýběr. Myslím že vím co potřebujete. Potřebujete zřejmě vybarvovat arabská slova. To jde samozřejmě s podporou asijských písem kterou já nepoužívám a nemohu testovat už proto, že o tom nic nevím.


     Jenže to makro co jsem poslal je jedno asi z 15-ti která mám. Většina používá regulární výrazy. Originál je z té Japonštiny kde používají pro nás také nečitelné znaky - myslím že jste tuto knihovnu otestoval. Je tam například možnost jen souřadnice výrazu. Já něco takového moc často nepoužívám, ale hodí se to například pro vytváření rejstříků.
     Jeden typ využívá také styly - například bold (a tak to může být i barva, nebo něco jiného). Pokud jde o "nějaké označení" tak je tam také hledání více výrazů v jednom cyklu. (Myslím si, že je snadnější ale stejné když se to udělá po jednotlivých výrazech.)
     V každém případě se to dá upravovat, takže když se najde nějaký široce definovaný regulární výraz, tak to může být předvýběr a pak ten výraz vyhodnotit a nahradit podle potřeby.


     Nevím jestli by pomohlo vypsat text do sloupce kde se dostane číslo pořadí v textu. Nakonec třeba seřadit klasicky alfabeticky, provést změny na úseku který je kompaktní a nasypat zpět. Šlo by to pomocí pomecného writeru, nebo asi i Calcu.

Editoval neutr (14. 2. 2021 18:27:12)


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

#5 14. 2. 2021 19:08:45

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

Re: makro pro multivýběr - ČÁSTEČNĚ VYŘEŠENO

Ještě mne napadlo, že když umíte jeden odstavec tak to musí stačit. Jednotlivé odstavce lze iterovat jako "nextParagraph", tabulky je možné vybrat buňku po buňce a stejně tak rámce. Když je nakopírujete do pomocného sešitu, tak je to odstavec, který upravíte vrátíte zpět na své místo, ale tabulky lze také dočasně odstranit a zpracovat zpět do původní podoby.
     Prostě nějak to musí jít, i když asi složitěji. Najít zdrojáky z UNA by bylo náročné - ale jsou určitě zazipované a nejspíš komprimované. Jak vypadá UNO makro víte - definice nějaké služby, nebo více, potom argumenty a nakonec prováděcí příkaz. To jaké služby se musí definovat se dá v API najít a proměnné také. Je to ale složitá syntaxe při skládání služeb a určení potřebných argumentů.
     Kdysi jsem měl zájem UNO rozchodit tak, aby vyplivlo vše a nejen odkaz na otevření dialogu - čímž to u nahrávaných maker většinou končí. Samozřejmě neúspěšně i když jsem se pomalu prokopával pomocí fór kde to téměř vždy někdo uměl. Nakonec jsem rezignoval.

Editoval neutr (14. 2. 2021 19:10:47)


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

#6 14. 2. 2021 20:31:34

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

Re: makro pro multivýběr - ČÁSTEČNĚ VYŘEŠENO

Má to být dialog pro Najít/Nahradit s ohledem na použité jazyky (viz. např. dotaz na EN Asku https://ask.libreoffice.org/en/question … gs-regex/). S možností dávkového zpracování a později i možností formátovaného hledání/nahrazování. Ve Writeru se udělá nějaká zdrojová tabulka s potřebnými údaji v řádcích a makro ji načte a v dialogu je poté možno jednotlivé řádky (jednotlivé údaje pro Najít/Nahradit) pouštět ručně jako v klasickém Najít&Nahradit, nebo to celé pustit dávkově. Nebo si prostě zadávat vlastní položky jako v klasickém dialogu Najít&Nahradit s tím, že je to prostě rozšířeno o jazykové podmínky.


Jediné na čem jsem se zasekl je ale právě Najít vše - a to tak, aby vyhledal a označil jen to co bude odpovídat zadaným jazykům. Takže když budu mít vícejazyčný dokument (třeba CS, SK, EN) a budu chtít najít nějaký řetězec jen v CS+SK, tak aby mi to neoznačilo ten řetězec i v EN. Když použiji oDoc.createSearchDescriptor a poté třeba oDoc.FindAll, tak výsledek hledání označím pomocí Select, ale bude označeno vše vyhledané a nebudu tam mít pouze potřebné jazyky. To samé když použiji .uno:ExecuteSearch - tím také nelze vyhledávat pro více jazyků (byť umí třeba navíc rozlišovat diakritiku apod. a je hodně rychlej). Dá se použít parametr Locale (myslím že v obou metodách), ale lze to jen pro jeden jazyk. Takže mě napadlo vyhledat prostě vše bez ohledu na jazyky a označit to přes Select a pak projet jednotlivé položky Selectu a v případě že nebude u nějaké položky vyhovovat jazyková podmínka, tak ji odendat z výběru. Jenže ono v tom objektu vyhledaných nejde ty položky přidávat ani ubírat.


Jediné co mi fungovalo při iteraci těch vyhledaných položek bylo změnit vlastnost string a přidat ke stringu třeba sérii nějakých nulových znaků; pak následující Select těch položek označí jen ty u kterých vlastnost string nebyla změněna; no a poté dát nahrazení těch nulových znaků což je odebere ale položky zůstanou označené. Takhle nějak mi to fungovalo, avšak nevýhoda je ta, že když je nalezené položce změněna hodnota string, tak to samozřejmě rozhodí její případné formátování, např. je-li část položky tučně, tak po změně stringu třeba již nebude.


V ukázce dialog s datovou tabulkou https://uloz.to/tamhle/744mVGGFTdSl. Zatím nejsou dělané možnosti pro formátované hledání&nahrazení. Ale to mám téměř hotové z arabštiny a jejího nahrazení do barevné transkripce, byť snad jen pro 9 základních vlastností (tučné, kurzíva, barva, podtržení ...), což se však dá rozšířit. Nicméně na to se v dohledné době nechystám, to třeba někdy v budoucnu.

Offline

#7 15. 2. 2021 06:12:41

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

Re: makro pro multivýběr - ČÁSTEČNĚ VYŘEŠENO

A co řešit problém více jazyků pomocí sekcí, respektive pomocí hlavního dokumentu. Tam se vkládají jednotlivé vstupy, takže to jsou jednotlivě zpracovatelné jazyky které se načtou do jednoho dokumentu.
     Samozřejmě stejný postup by měl jít pomocí rámců i tabulek. Tenhle postup jsem sice sám nikdy netestoval, ale mám vzor pro HidenText, který využívá sekcí pro skrývání odpovědí. Je vidět "dotaz" a po zaškrtnutí CheckBoxu se objeví "správná odpověď". Ta je jakoby na jediném řádku buď vedle ChechkBoxu, nebo pod ním.
     Udělal jsem jenom zkusmo "repetitorium" (připomínáček pro opakování) asi na 150 pojmů a chodí to. Mám to kvůli vytváření testů. Vím, že těch sekcí tam může být hodně, ale celý Korán ve dvou jazycích by to asi neuvezlo. Je ale možné nějak přiměřeně velký obsah nacpat do tabulky jejíž buňky obsahují sekci.


     Já sice nevím oč Vám jde, ale myslím si, že běžně se píše arabština implicitní barvou písma. Barvy jsou speciál pro "správné vokální" čtení. Potom bych pro tyto účely udělal šablonu, která má zabudovanou úpravu ve formě podobné opravě pravopisu - tedy bez klasického dialogu. Možná jen s dotazem na barevnou úpravu.
     Označení jednotlivých znaků může být například tak jak jste testoval - neviditelnými znaky, nebo i relativně viditelnými s transparentní - průhlednou barvou, kterou člověk nevidí. Jenom různých kombinací podtržení s nadtržením může být veliké množství. Například tečky, čárky, plynulé čáry, různá čerchování a v různých tloušťkách. Řekněme, že by šlo vytvořit nejméně 8 typických kombinací pro podtržení + nadtržení. Tedy 64 různých "znaků" pro následné obarvení. Makro by do ListBoxu, nebo ComboBoxu dialogu načetlo adresy a ty by se v mohly objevit jako součást věty v textovém okně kde by se to objevilo pro kontrolu.
     Faktem je, že tyto postupy vyžadují povolená makra, ale vestavěný dialog nic takového nepotřebuje. Takže pokud by to bylo pro lidi, kteří s makry nikdy nepracovali byl by problém je donutit zapnout makra. Potom jde jen o zabudování (přebudování) dialogu do zdrojáků a Pythonu, Javě, nebo Céčku se nevyhnete. Hledal bych řešení pomocí portálu kde zdrojáky jsou a zřejmě i ukázky "ako sa stať machrom".


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

#8 15. 2. 2021 13:36:34

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

Re: makro pro multivýběr - ČÁSTEČNĚ VYŘEŠENO

Jedná se mi o jediné - jak v dokumentu (vícejazyčném) makrem označit nalezené výrazy v nějakých určených jazycích. Klasický dialog Najít&Nahradit umí označit buď všechny vyhledané výrazy bez ohledu na jazyk, nebo označit vyhledané výrazy jen pro jeden konkrétní jazyk. Ale já bych makrem chtěl označit výrazy třeba pro dva dané jazyky. Podrobně zde: https://uloz.to/tamhle/26TvXY3o5DNm


Pro zajímavost zde jsem našel zajímavou stránku kde jsou parametry pro některé UNO příkazy. https://thebiasplanet.blogspot.com/2018 … ables.html
Nejsem si jist zda tam někde není i popis toho jak se pomocí Javy k jednotlivým parametrům jednotlivých příkazů dostat, ale neměl jsem chuť ten web detailně zkoumat.

Offline

#9 21. 3. 2021 16:57:20

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

Re: makro pro multivýběr - ČÁSTEČNĚ VYŘEŠENO

Nešlo by to obejít instalací podpory dalšího jazyka a pouštět jednotlivá hledání v různých jazycích následně po sobě? Je mi jasné, že to potřebujete pro implementaci do svého rozšíření, ale to co potřebujete by to mělo jít odladit s podmínkou instalace podpory určitého jazyka pro odstavce. Vy to víte (a uživatelé Vašeho rozšíření také) - finální uživatel v lokalizovaném jazyce to vědět nepotřebuje.


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

#10 21. 3. 2021 21:15:15

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

Re: makro pro multivýběr - ČÁSTEČNĚ VYŘEŠENO

Ono jde i o nastavení parametrů v jakém jazyce vyhledat či naopak nevyhledat a poté ještě o "průniky jazyků". Například když zadám cs sk, tak bude vyhledávat jen v češtině a slovenštině, ale počítám i s tím, že to bude nastavitelně vyhledávat/nahrazovat i když se nalezne výraz který bude mít část v jednom a část v jiném jazyce. Např. kdybych měl slovo československý a část česko češtinou a slovensko slovenštinou, a například bych chtěl výraz kos nahradit za KOS, tak při povoleném "průniku jazyků" by po nahrazení vyšlo česKOSlovenský.


To samé by třeba platilo i pro vylučování jazyků, kdyby bylo zadáno cs -en tedy ber češtinu a také to co není anglicky. A ještě je varianta kdy odstavec může mít nastaveno 'Bez kontroly pravopisu'. Vzhledem tedy k průnikům a vylučování jazyků by instalace dalších jazyků nic nevyřešila. Navíc když se do Libre přidá další jazyk, tak to začne vypisovat stále dokola hlášky že nenašel slovník pro kontrolu pravopisu pro daný jazyk - alespoň takhle mi to pořád hlásilo pro arabštinu, takže jsem ten slovník musel doinstalovávat, naštěstí byl v Libre rozšířeních.


Nicméně to hledání už mi docela funguje, dám prostě nalézt vše jak v klasickém Najít&Nahradit a pak iteruji nalezené výsledky a pro výsledek který splňuje jazykovou podmínku udělám to, že mu nezměním vlastnost string abych mu nerozhodil případné formátování, ale na konec mu přidám sekvenci nulových arabských značek (značek s nulovou šířkou znaku: např. nulová mezera, směry pro ne/arabský text apod.). No a pak provedu druhé hledání kde zopakuji hledání akorát že hledaný výraz je rozšířen právě o tu sekvenci nulových značek. Toto druhé vyhledání pak dám normálně označit pomocí metody Select a poté přes replaceAll odstraním tu sekvenci nulek. I přes replaceAll však zůstane označeno to co bylo označeno Selectem a to je tedy to kýžené nalezené splňující dané jazykové parametry.


Akorát pro arabské písmo to někdy nejspíš problikne a 2x překreslí dokument, neboť ta sekvence nulových značek některé znaky rozpojí či naopak spojí a tím se změní šířky. A s tím nevím co udělat.
A zde by se hodilo právě umět označit více výběrů v dokumentu jako se to označí po klasickém Najít Vše. Jenže objekt com.sun.star.text.TextRanges prostě metodami Basicu nelze naplnit :-(. Procházel jsem i zdrojáky a největší úspěch byl, že mě z C++ nerozbolela hlava :-). Nicméně jsem i přes svou laickost došel k názoru (možná mylnému, nevím), že Basicem tohle prostě nejde, že ten objekt com.sun.star.text.TextRanges je vytvářen nějakou funkcí, která v Basicu implementována není. Kdyby to implementované bylo, tak by bylo po problému a nemusel bych to označovat přes ty nulové arabské značky.


Ale je fakt, že teď se mi to stejně nechce a nemám nějak chuť se tomuto problému v poslední době věnovat, neboť se to ukázalo o dost složitější a potřebuji to víc promyslet a přijít tomu zase na chuť. Např. jsem přišel na to, že by bylo záhodné vylepšit i samotné arabské nahrazování. Klasické Najít&Nahradit umožňuje pomocí volby Rozlišovat diakritiku vyhledávat třeba jen podle arabských souhlásek, takže např. abych vyhledal část slova kamil tak stačí dát hledat km a nemít zaplé rozlišování diakritiky. Jenže kdybych chtěl km nahradit třeba za nb, tak mi po nahrazení nezůstane nabil, ale jen nbil, neboť sice vyhledá jen dle souhlásek, ale nahradí bohužel i samohlásky. Pro tu arabštinu to alespoň znám a to nahrazování bych měl být schopen udělat tak jak to považuji za správné, ale problém už bych mohl mít třeba pro farsí nebo urdu, které mají navíc jiné samohlásky a nevím přesně jak se s nimi může nakládat - byť to asi bude to samé co pro arabštinu.


Dále se ještě poněkud děsím toho, že bych (i přesto že chci) měl udělat komplet checkboxy jako to je v Najít&Nahradit. Koukal jsem že je tam ještě možnost vyhledávat dle podobností, ale při testování mi to nefungovalo až tak jak jsem předpokládal či jak to bylo popsáno v Nápovědě. A to jsem zkoušel jen pro češtinu. Nevím jestli jsem testoval blbě nebo jde o chybu Libre. Pak jsem ještě zapnul podporu asijských písem a zděsil se, kolik voleb je tam pro japonštinu. Navíc některé ty volby právě nejdou nastavit pro metodu findFirst či findAll, ale je třeba vyhledávat přes UNO příkaz ExecuteSearch, který nemám tak důkladně prozkoumaný a nevím v jakých případech mohu které parametry vynechat a v jakých naopak některé musí mít dané nutné nastavení. No a stylem pokus/omyl jít fakt nechci, raději to pořádně promyslet.


Z toho jak se to ukázalo složité bych to také ani v nedodělané podobě nechtěl uveřejňovat, neboť bych nerad třeba odepisoval uživatelům -> o nedostatku vím, chystám se to dodělat, ale až NĚKDY Bůh-ví-kdy (+ a ví vůbec-li)! Navíc to ještě komunikovat v en, to by byla v současné situaci spíš noční můra. Přeci jen dělám stále usilovně na ar transkripci a ar fontu - ve kterém se mi třeba včera objevila chybová hláška, že tabulka s kotvami pro samohlásky do ligatur je už moc velká a tak jí to bude ignorovat. Naštěstí i přes tu chybovou hlášku se to chová stále stejně dobře a neblbne to. Vzhledem k tomu, že tam je několik stovek samohlásek, tak ručně přidávat další tabulku s kotvami by bylo strašnýho a možná i několikadenního klikání. Tak jsem koukal na to jestli by to nešlo přeci jen naskriptovat. A nejspíš šlo - asi snadněji kdybych uměl Python; ale vypadá to že to půjde i v nativním skriptování pro FontForge - akorát zrovna pro ty funkce které bych potřeboval není téměř dokumentace a bez pokusů/omylů by se to nejspíš neobešlo. Takže nechávám zatím nevyřešené a pokračuji a doufám, že jelikož to i přes tu chybu stále funguje, tak že to bude fungovat i při dalším rozšiřování fontu.


Věnovat nějaké větší úsilí tomu vytvářenému doplňku teď nechci, ukázalo se to o dost složitější než jak to zprvu vypadalo, mám spoustu jiné práce a nerad bych vydával neúplnou verzi kterou bych jaxi snad "dodělával" tak nějak po stížnostech uživatelů. Takže jsem zvolil prostě pomalu a postupně a až si budu jistý (nebo alespoň dost více jistý než nejistý) :-).

Offline

#11 31. 3. 2021 10:11:35

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

Re: makro pro multivýběr - ČÁSTEČNĚ VYŘEŠENO

Nakonec jsem našel "řešení" ještě s měněním vlastnosti CharFlash - což se jeví jako docela dobrá varianta https://forum.openoffice.org/en/forum/v … 0&t=79676#. Vlastnost pro blikání textu nebude asi moc často používána.  Pro jistotu - byť za cenu nevýhody vícenásobného prohledávání a vícenásobné iterace je v ukázce kontrola na nějaký výskyt vlastnosti CharFlash a zapamatování si jí. Poté je nastavena jen požadovanému výběru který je díky ní označen a nakonec nastavena na původní prvky.
S tím měněním vlastnosti CharFlash tedy nedojde k žádnému probliku - a pokud je přeci jen něco nastaveno jako blikající, tak to že dojde k jinému probklikávání během vyhledávání může někoho kdo má v oblibě blikání jistě jen natěšit :-).

https://uloz.to/tamhle/dKqnEJm6bWqc

Offline

Zápatí