Combine

Skript slouží k automatizaci často opakovaného sledu akcí. Vytvořením dávky složené z několika postupných kroků zjednodušuje provádění složitějších činností a automatizuje je třeba až na jedno jediné kliknutí myši.

flag-english.jpg The script used to automate frequently repeated sequence of events. By creating a batch composed of several successive steps streamlines and automates complex operations should be up to a single mouse click.

Autor

Pokud se Vám doplněk líbí, kliknutím na tlačítko Donate můžete přispět na jeho vývoj.

Nekamarádíte se s PayPalem? Napište mi email a domluvíme se na jiném způsobu, třeba převodu na účet.

Automatická instalace

:!: Před instalací Combine verze 2+ by neměla být nainstalovaná verze nižší než 1.1.8.2. Pokud máte nainstalovanou verzi starší, neproběhne správně konverze dávek do nového formátu viz poznámky k instalaci.

Nainstalovat do GeoGetu
Instalaci doplňku spustíte kliknutím na tlačítko vlevo. Následně budete v prostředí GeoGetu provedeni instalačním procesem. Pro zajištění této funkce je třeba mít na počítači již nainstalovaný a spuštěný program GeoGet .
Kliknuli jste na tlačítko a nic se nestalo? Máte opravdu spuštěný GeoGet ? Je to potřeba! Mění se Vám při přejetí přes tlačítko kurzor na ručičku? Instalační tlačítko využívá JavaScript a Flash. Váš webový prohlížeč tedy pravděpodobně nesplňuje potřebné předpoklady. Nevadí, instalaci doplňku můžete jednoduše vyvolat i prostým zkopírováním (označit text → klik pravým tlačítkem → kopírovat) následujícího odkazu do schránky: http://geoget.ararat.cz/doku.php/user:skript:combine?download

Diskuse

Diskuze o tomto skriptu je na Geocaching.cz.

Popis

Skript umožňuje automatizovat opakované provádění neměnné řady akcí a úkonů v GeoGetu (skupin událostí, dávky). Zároveň je nástrojem k definování, údržbě a spouštění těchto dávek. Každou dávku může tvořit jedna samostatná akce nebo jejich sled.

Z každé dávky lze:

  • vytvořit klasický ggp skript a jeho ikonu umístit na toolbar
  • vytvořit tzv. ggs skript a vytvořit zástupce pro spuštěni GeoGetu tak, aby se tento skript při svém startu spustil
  • vytvořit kopii (a tu modifikovat), tím se zjednodušuje vytváření dávek podobných jako již je některá dříve vytvořená

Počet dávek a počet akcí v dávce je neomezený. Správně sestavené dávky je možné snadno vyměňovat mezi uživateli. Takové dávky by neměly obsahovat absolutní cesty a nic, co by mohlo být závislé na konkrétním PC nebo instalaci GeoGetu.

Vzhledem k možnostem skriptu může být Combine také chápáno jako nástroj na strojové generování jiných jednoduchých skriptů.

Funkce

Funkce jsou rozdělené na operace s dávkou jako celkem a operace s jednotlivými příkazy v dávce.

Operace s dávkou

Pro přehlednost obsahuje každá dávka v seznamu i ikonu, kterou má na toolbaru. V seznamu zobrazených dávek je s každou z nich provádět následující operace:

  • založení nové dávky
  • přejmenování dávky
  • zkopírování dávky pro její modifikaci
  • vymazání dávky
  • úprava příkazů dávky
  • převedení dávky do ggp makra a její uložení do správce pluginů nebo i na toolbar pro snadné spuštění
  • odstranění dávky jak ggp makra ze správce pluginů i z toolbaru
  • převedení dávky do ggs makra a její uložení pro automatické spuštění při startu GeoGetu z vytvořeného zástupce
  • spuštění dávky (po provedení všech příkazů dávky bude plugin ukončen)
  • krokování dávky (před každým příkazem příkazem se plugin optá, zda pokračovat, plugin nebude automaticky ukončen)

Operace s příkazy

  • aplikace filtrů *.ggf
  • aplikace seznamů *.ggt
  • spouštění skriptů *.ggp.pas, *.gge.pas
  • spouštění dávkových souborů *.bat
  • spouštění programů *.exe
  • spouštění jiných definovaných dávek
  • použití uživatelských proměnných
  • podmíněné provádění příkazů (např. v závislosti na právě používané databázi)
  • změna komentáře (popisu) dávky
  • změna ikony dávky
  • uložení ikony dávky do BMP souboru
  • spouštění různých příkazů GeoGetu (spouštění programů asociovaných se souborem podle přípony - zadáním jména souboru, podpora přepínání databází, kopírování souborů, …)

Kurzivou napsané operace sice zdánlivě spadají do operací s dávkou jako celkem, ale tyto informace jsou uložené v INI souboru s jednotlivými příkazy a jsou v podstatě modifikováním dávky.

Správce skriptů, toolbar

Combine umožňuje pro každou skupinu vytvořit skript, ten uložit do Správce pluginů a případně i jeho ikonu umístit na toolbar. Všechny dávky uložené pro použití ve správci jsou ve skupině Combine 2 (společně s vlastním pluginem Combine).

Vymazání ikony z toolbaru lze udělat opět ve správci pluginů. K vymazání dávky i ze správce skriptů stačí vymazat příslušný soubor ggp.pas z adresáře Combine2\Batches. Pokud použijete v Combine funkci Z toolbaru, dávku odstraníte jak z toolbaru, tak i ze správce pluginů - funkce vymaže soubor s vytvořeným ggp makrem.

Ukázky

Seznam vytvořených dávekÚprava příkazů zařazených v dávceSeznam možných příkazů Combine

Pohledy pod pokličku

INI soubory

Ve verzi 2 je zcela přepracován způsob uložení příkazů dávek. Každá dávka má své příkazy uložené v samostatném INI souboru. Tím se značně zjednodušila a zpřehlednila jejich správa a jako bonus přibyla možnost předávat své dávky jiným uživatelům a snad se tak podělit o plody své práce (některé dávky mohou obsahovat třeba 20 i více příkazů a vymýšlet to může být nad něčí síly).

Všechny INI soubory dávek (podobně jako dávky připravené pro toolbar) jsou uloženy v adresáři Combine2\Batches.

(V hlavním adresáři pluginu je ještě INI soubor obsahující seznam možných příkazů a jejich parametry a INI soubor s konfigurací barev pro zobrazení jednotlivých příkazů v dávce. Zejména prvního z nich si doporučuji nevšímat!)

Pokud by to snad někoho zajímalo, tak každý z příkazů dávky je v INI souboru na jediném řádku. Slovo před = udává typ příkazu a první znak za ním může indikovat podmíněné zpracování.

  • + příkaz bude vykonán, pokud test platil
  • - příkaz bude vykonán, pokud test neplatil
  • pokud znak + ani - není uveden, bude příkaz vykonán bez ohledu na výsledek posledního testu

Některé typy příkazů mohou obsahovat parametry. V tom případě slouží znak | jako oddělovač parametrů od příkazu a případně i parametrů od sebe navzájem.

Ikony

Při vložení skriptu spouštějícího definovanou dávku na toolbar je implicitně použita interní ikona. Protože asi není vhodné mít v toolbaru třeba 5 stejných ikon s tím, že každá dělá něco jiného, je možné tuto standardní ikonu nahradit svou vlastní. Ikona je nedílnou součástí dávky a je ve formátu Base64 uložena v INI souboru dávky.

Ikona je běžný BMP obrázek velikosti 16 x 16 bodů, který používá max. 256 barev. Takovýto obrázek lze vytvořit v programu Malování (součástí instalace Windows) a uložením “jako obrázek se 256 barvami”. Barva bodu v levém spodním rohu je považována za průhlednou.

Předdefinované proměnné

  • %GG_CACHER% obsahuje nick uživatele GeoGetu (obecně se nemusí shodovat s %GS_USERNAME%)
  • %GG_DATADIR% obsahuje cestu k datovému adresáři
  • %GG_SCRIPTDIR% obsahuje cestu do adresáře se skripty
  • %GG_PROGDIR% obsahuje cestu k programu GeoGet
  • %DBName% obsahuje jméno aktuální databáze
  • %Y%, %M%, %D%, %h%, %m%, %s% - proměnné obsahují datum a čas spuštění dávky, v dávce je lze přenastavit příkazem VarDateTime
  • %CRLF% obsahuje odřádkování a slouží pro formátování textů zpráv, …
  • %GS_USERNAME%, %GS_PASSWDORD% obsahují přihlašovací informace k serveru geocaching.com. Hodnoty jsou při spuštění pluginu načtené ze souboru groundspeak.config.pas (pokud existuje, používá jej Geojarry a mnoho jiných pluginů) a dávkou je možné jejich hodnotu přepsat a tím použít i jiného uživatele než je standardně používán

Proměnné lze použít kdekoli v jakékoli části příkazu nebo cesty. Před vlastním provedením příkazu dojde k náhradě za odpovídající hodnoty.

Uživatelské proměnné, proměnné prostředí systému

Skript umožňuje definovat a používat uživatelské proměnné pomocí samostatné skupiny příkazů. V souladu s Pascalem jako programovacím jazykem použitým pro skripty, jsou jména proměnných nezávislá na velikosti písmen. Předdefinovaná proměnná DBName obsahuje vždy jméno právě používané databáze.

Při definici proměnné (naplnění hodnoty) je v příkazech vždy použito jen její jméno. Tam, kde mu být použita hodnota proměnné, je třeba jméno obalit procenty %jmeno%.

Obecně jsou hodnoty proměnných ukládány a zpracovávány jako texty, ale při testování je možné předepsat jejich převod na číslo a testovat hodnotu jako číslo. Pokud dojde při převodu z textu k chybě (nečíselný znak), výsledkem bude vždy hodnota 0.

Kromě nastavování hodnot proměnných uživatelem je možné pracovat i s výsledkem poslední provedené akce ve skupině. Každá prováděná akce má výsledek 1 nebo 0 v závislosti na jejím úspěšném provedení a pomocí příkazu VarRet lze tuto hodnotu uložit do uživatelské proměnné.

Všude, kde je možné použít uživatelskou proměnnou, je také možné použít systémovou proměnnou prostředí (%USERNAME%, %WINDIR%, %APPDATA% a podobně). Před vlastním vykonáním příkazu dojde ke správné expanzi.

Pořadí nahrazování je (umím si představit situace, kdy je třeba to při tvorbě dávky zohlednit):

  1. předdefinované proměnné
  2. uživatelské proměnné
  3. systémové proměnné prostředí

Podmíněné provádění akcí a příkazů

Combine od verze 1.1.7. podporuje podmíněné provádění příkazů. Podmíněně lze provádět i několik příkazů. Protože každý příkaz si s sebou nese informaci o provedeni při platnosti nebo neplatnosti testu, je možné příkazy libovolně promíchávat a přesto si zachovají svou původní funkčnost. Dvojklik na kterémkoli příkaze dávky zobrazí se dialog, v kterém můžete upřesnit parametry i podmíněnost provádění.

Použití podmínek se asi nebude příliš líbit programátorům, ale já to dělal hlavně pro neprogramující uživatele a pro ně se mi zdá, že takto je to srozumitelnější než běžné programátorské konstrukce.

Při testech je možné používat uživatelské proměnné nebo textové či číselné hodnoty. Jména proměnných se od hodnot odlišují tím, že jména proměnných, která mají být pro vyhodnocení nahrazena hodnotou proměnné, jsou vždy ve tvaru %jmeno%. V opačném případě je text chápán jako string. Pokud jste zvyklí, můžete texty uzavřít do uvozovek, ale není to nutné. Ovšem pokud uvozovky použijete, musíte je použít na obou stranách porovnání.

Obecný postup podmíněného provádění je takovýto:

  • naplníme nějakou uživatelskou proměnnou
  • otestujeme hodnotu
  • příkazu nebo příkazům nastavíme příznak podmíněného provádění

Protože výsledek testu platí pro všechny příkazy až do dalšího testu, mohou být za sebou v libovolném pořadí příkazy podmíněné i nepodmíněné. Pořadí provádění je dáno pořadím v dávce a pak případně výsledkem testu.

Příklady použití podmínek

Příklad používající podmíněné zpracování vypíše informaci o tom, zda je použita implicitní databáze jménem geoget. Zapsaný v INI souboru dávky by mohl vypadat následovně:

  CMD=VarTest|"%DBName%"|"geoget"|=|Str
  CMD=+ShowMsg|Právě je používána databáze GEOGET
  CMD=-ShowMsg|Databáze GEOGET není aktuální databází

Druhý příklad ukáže výpis nalezených keší z databáze geoget. Pokud není požadovaná databáze aktivní, přepne na ni a pak aplikuje filtr pro zobrazení nalezených keší.

  CMD=VarTest|"%DBName%"|"geoget"|=|Str
  CMD=-DBSelect|geoget
  GGF_SET=Found.ggf

Třetí příklad zobrazí zprávu o možném ukončení dávky a případně ji ukončí. Jsou dvě možnosti testování - jako string:

  CMD=VarGetYesNo|STOP|Ukončit zpracování dávky?
  CMD=VarTest|"%STOP%"|"1"|=|Str
  CMD=+Stop

… jako číslo

  CMD=VarGetYesNo|STOP|Ukončit zpracování dávky?
  CMD=VarTest|%STOP%|1|=|Int
  CMD=+Stop

Trochu složitější příklad bude exportovat keše, podle odpovědí na dotaz. Exportujme tedy do GPS nenalezené keše nebo nenalezené i nalezené. A abychom si ukázali víc podmíněných příkazů za sebou, tak ještě v každém případě se bude exportovaný soubor jmenovat jinak. A ještě poznamenám, že je jedno v jakém pořadí budou poslední 2 příkazy.

  CMD=Default.ggf
  CMD=VarGetYesNo|Nalezene|Exportovat i nalezené keše?
  CMD=VarTest|%Nalezene%|1|=|Int
  GGF_SET=+Found.ggf
  GGE=-garmin.gge.pas|BezNalezenych.gpx
  GGE=+garmin.gge.pas|SNalezenymi.gpx

Příklady

Kromě níže uvedených příkladů je možné se inspirovat také již vytvořenými dávkami, které jiní uživatelé nabídli pro volné použití.

Práce s Registry

Práci s Registry si ukážeme na fragmentu dávky, která spouští program POI Loader. Ten se chová poněkud nepříjemně v tom, že požaduje interakci s uživatelem nebo, pokud pracuje v silent režimu, nelze mu zase předepsat adresář s daty a použije ten, s kterým pracoval naposledy. Po troše zkoumání snadno zjistíme, že informace o posledním spuštění má program uložené v registrech, takže vhodným nastavením jej vlastně můžeme přinutit ke požadované činnosti. Dáme si tedy následující úkoly:

  1. zjistit, kde je POI Loader nainstalován, abychom jej mohli z dávky spustit
  2. nastavit mu správný počáteční adresář
  3. spustit POI Loader v silent režimu (cílový adresář předáme v parametrech příkazové řádky)
  CMT=Získání cesty k POIloaderu
  CMT=.....Na Win7
  CMD=GetRegistryVal|HKLM\SOFTWARE\Wow6432Node\Garmin\Applications\POI Loader:InstallDir|PRG
  CMD=VarTest|"%PRG%"|""|=|Str
  CMT=.....Na 32 bitových Win, pokud předchozí příkaz neuspěl
  CMD=+GetRegistryVal|HKLM\SOFTWARE\Garmin\Applications\POI Loader:InstallDir|PRG
  CMD=VarTest|"%PRG%"|""|=|Str
  CMD=+ShowMsg|Nepodařilo se najít instalovaný POI Loader.\nPřerušíme zpracovaní
  CMD=+Stop
  CMT=Nastavení zdrojové cesty pro načítání dat POI Loaderem
  CMD=SetRegistryVal|HKCU\Software\Garmin\POILoader\Settings:Directory|string:%GG_DATADIR%\POI
  CMT=Spuštěni POI Loaderu v silent režimu se zápisem do adresáře GPS (připojena jako g:)
  EXE=%PRG%|/s /d g:\Garmin\POI

Keše ze 2 lokalit do GPS - podrobně

Mějme takovou běžnou úlohu: Chci aktualizovat keše v okolí mého bydliště a mé chaty a exportovat je do gps. Z demonstrativních důvodů budu předpokládat, že mě nezajímají eventy, pro které mám vytvořený filtr Eventy.ggf. Předpokládám, že pro obě lokality je vytvořený filtr pro načtení seznamu keší (řekněme doma.ggf a chata.ggf). Spustím tedy skript Combine 2

  1. definuji novou skupinu “Doma - chata”
  2. do skupiny zařadím příkaz pro nastavení referenčního bodu HOME (předpokládám, že je vytvořen)
  3. přidám filtr ref10km.ggf (má nastaveny keše do okruhu 10 km)
  4. přidám změnu referenčního bodu na “Chata”
  5. přidám opět filtr ref10.ggf - automaticky je nastaveno přidávání do seznamu
  6. přidám filtr ještě filtr Eventy.ggf. Protože mě ovšem tyto keše nezajímají, změním tomuto filtru způsob aplikace na “Odebírá”. Tím by byl určen seznam keší.
  7. pokud keše opravdu budu chtít vždy aktualizovat (může to trvat velmi dlouho), doplním příkaz pro označení všech keší v seznamu (@ListSelectAll) a příkaz pro spuštění makra geojarry-listing.ggp.pas.
  8. export dat do GPX souboru zajistím doplněním skriptu gpxpq.ggp.pas s parametrem ”%GG_DATADIR%\DomaChata.gpx” (uvozovky jsou důležité, protože cesta může obsahovat mezery)
  9. pro zkopírování vytvořeného souboru do GPS doplním spuštění cmd.exe s parametry /C ”%GG_DATADIR%\DomaChata.gpx” E:\Garmin\GPX\DomaChata.gpx (předpokládám, že připojená PGS je vidět jako jednotka E:)
  10. uložím skupinu na disk tlačítkem Save
  11. připojím GPS a v záložce spustit ověřím její funkčnost
  12. mám-li touhu, vložím ikonu pro spouštění této skupiny do toolbaru (projeví se po restartu GeoGetu). Nemám-li zájem, aby byla v toolbaru, ale požaduji ji dostupnou ve Správci pluginů, odškrtnu ve Správci pluginů její zařazení na toolbar. Případně si mohu definovat i vlastní ikonku tlačítkem Ikona.

Hotovo. Od této chvíle mi stačí jediné kliknutí na to, abych dostal do GPS aktualizované keše z míst, kde se nejčastěji vyskytuji.

Poznámka: Kopírování vytvořeného exportního souboru pomocí programu cmd.exe je zde uvedeno víceméně pro demonstraci. Rozumnější by bylo jako parametr pro export uvést přímo cílový soubor v souborovém systému GPS (tedy řekněme ono E:\Garmin\GPX\DomaChata.gpx).

Nenalezené Významné stromy v Praze do GPS

Chtěl bych si zobrazit a do GPS exportovat všechny Pražské kešky zařazené do skupiny Významné stromy, které nemám dosud nalezené.

  1. Ze stránky významných stromů (http://vyznamnestromy.unas.cz/) si vytvořím seznam VyznamneStromy.ggt. Ten získám tak, že vezmu jen první sloupec keší zobrazených na této stránce a uložím jej do souboru.
  2. vytvořím si filtr, který použije všechny keše a polygon Prahy, ovšem zaškrtávátko “Je uvnitř” bude prázdné. Filtr bude tedy vybírat keše, které nejsou na území Prahy. Filtr pojmenuji KeseMimoPrahu (může se hodit i pro něco jiného než jsou Významné stromy).
  3. spustím skript Combine a vytvořím novou skupinu “Nenalezene Vyznamne stromy v Praze” a zařadím do ní seznam VyznamneStromy.ggt a odečtení filtru KeseMimoPrahu.ggf
  4. doplním spuštění exportu gpxpq.gpp.pas s parametrem E:\Garmin\GPX\VyznameStromyPraha.gpx (předpokládám, že připojená GPS je vidět jako jednotka E:)

(Jinou možností pro bod 1 a 3 je pomocí GeoJarry označit všechny keše série Významné stromy a vytvořit si filtr, který použije Tag kategorie Bookmark s příslušnou hodnotou.)

Kombinace více skupin

Do GPS chci nahrát keše v okolí domova a chaty tak, jak je definováno v 1. příkladu a pak všechny ostatní keše jako POI body.

  1. vytvořím novou skupinu “Gpx a Poi najednou”
  2. přidám příkaz pro spuštění skupiny “Doma - chata”
  3. přidám filtr All.ggf a nastavím mu '='
  4. nastavím referenční bod “HOME” a přidám odečtení filtru ref10.ggf
  5. nastavím referenční bod “Chata” a přidám odečtení filtru ref10.ggf
  6. přidám spuštění exportního skriptu do POI poigpx.gge.pas (autorem Medwyn_cz)
  7. přidám spuštění POILoader.exe (případně mohu doplnit parametr '/silent', který způsobí, že program se nebude na nic ptát a bude pracovat přesně ve stejném režimu jako při posledním spuštění - viz manuál k programu)
  8. uložím a na jedno spuštění dostanu do GPS dvě různé sady dat (předpokládá to ovšem, že před spuštěním skriptu bude připojena GPS)

Konfigurace, barvy

Jediná konfigurace mimo prostředí pluginu, která má podle mě nějaké opodstatnění, je úprava v souboru Combine.Colors.ini, který obsahuje barvu a řez fontu, kterým bude zobrazen příslušný typ příkazu v seznamu příkazů dávky.

Distribuce dávky jiným uživatelům

Vedlejším efektem změny uložení příkazů dávky do samostatného INI souboru je možnost předat ji ostatním uživatelům k použití. Autor dávky by měl pro ni vytvořit standardní gip soubor, do něhož uloží INI soubor a také všechny soubory, na kterých dávka závisí. Pochopitelně není třeba vkládat soubory, které jsou standardní. Naopak je možné doplnit třeba závislost na jiném gip balíčku, který bude, v případě potřeby, automaticky nainstalován (typicky by měla být uvedena závislost na Combine :-)).

Instalace

Během automatické instalace Combine verze 2 se plugin pokusí vyhledat dávky vytvořené starou verzí a převést je do formátu, kterému bude rozumět verze nová. Převod se netýká dávek uložených na toolbar, převedené dávky se na toolbaru ani ve správci pluginů automaticky neobjeví.

Předpokládám, že budou převedeny všechny dávky správně, ale jsem jenom člověk a co vím, co si kdo vymyslel a kde já udělal chybu. Proto se nová verze instaluje do jiného adresáře a původní verzi nechává na disku. To může ale způsobit i problémy. Pokud bude později aktualizována verze 2 a nebude starší verze 1 z disku odinstalována, aktualizace se pokusí opět převádět staré dávky a tím případně přepsat úpravy provedené později na již převedených dávkách. Uff, to je odstavec. Ale snad jste pochopili: pro prověření funkčnosti dávek v nové verzi je vhodné starou verzi Combine odinstalovat.

2.0.0 chybně převádí příkaz VarTest. Pokud test obsahuje text, ve staré verzi je uzavřen v uvozovkách (text bez uvozovek je považován za jméno proměnné). V nové verzi uvozovky být nemají (jméno proměnné je uzavřeno mezi znak %), ale při konverzi uvozovky odstraněny nejsou.

Poznámky, známé problémy

  • změny příkazů v dávce se projeví i na skriptu spouštěném z toolbaru nebo z menu Pluginy a není třeba pro ni znovu vytvářet nebo aktualizovat ikonu v toolbaru.
  • použití příkazu ListSelectAll je pro exporty zbytečné. Všechny exportní skripty by měly pracovat se zobrazeným seznamem keší, ne jen s označenými kešemi. Dosud jediným programem (resp. skupinou skriptů) o kterém vím, že pracuje s označenými kešemi v seznamu, je GeoJarry.
  • v příkazech pro zobrazení zprávy (ShowMsg a ShowMsgBreak) je možné použít znaky \n pro zalomení řádku
  • podmíněně mohou být prováděny všechna typy akcí a příkazů

Stažení

:!: Stáhnout aktuální verzi: combine-2.0.3.10.gip

Dávky pro výměnu mezi uživateli

Způsob, jakým jsou dávky uloženy, je předurčuje ke snadné výměně mezi uživateli. Správně sestavenou dávku může použít kterýkoli uživatel a bude pracovat stejně jako u uživatele, který ji vytvořil. Takové dávky by neměly obsahovat absolutní cesty a nic, co by mohlo být závislé na konkrétním PC nebo instalaci GeoGetu. Absolutní cesty lze nahradit systémovými proměnnými prostředí nebo proměněnými GeoGetu.

:!: Instalace dávek neprobíhá automaticky. Je třeba příslušný *.gip soubor uložit na svůj disk a nainstalovat ručně přes menu Pluginy/Správce pluginů/Nainstalovat balíček.

Fulltextové vyhledávání v listingu

Autor: Medwyn_cz, mikrom

Dávka (1.32 KiB, 35 downloads) přidá do seznamu keší všechny keše, v jejichž listingu (pole long description) se vyskytuje zadaný text. Zadaný text může obsahovat i zástupné znaky % (libovolný počet libovolných znaků) nebo _ (libovolný znak).

:!: Vyhledávání je nezávislé na velikosti písmen. S ohledem na zjednodušení a rychlost však nejsou zanedbány znaky s diakritikou a navíc u nich není aplikována nezávislost na velikosti písmen.

Fulltextové vyhledávání v poznámkách keší

Autor: Mikrom

Dávka (1.16 KiB, 37 downloads) přidá do seznamu keší všechny keše, v jejichž poznámce (pole comment) se vyskytuje zadaný text. Zadaný text může obsahovat i zástupné znaky % (libovolný počet libovolných znaků) nebo _ (libovolný znak).

Fulltextové vyhledávání v lozích

Autor: Gord

Dávka (1.35 KiB, 10 downloads) přidá do seznamu keší všechny keše, u kterých má zadaný kačer log a tento log obsahuje zadaný text. Nick je vyhledáván podle přesného zadání, hledaný text může obsahovat i zástupné znaky % (libovolný počet libovolných znaků) nebo _ (libovolný znak), přičemž je vždy automaticky uzavřen mezi %…%.

Generování statistiky a zkopírování na FTP server nebo do profilu

Autor: Gord

Dávka je funkčně jednodušší sestřičkou Autostatu a naopak je funkčně rozšířenou verzí spouštěcího scriptu instalovaného s GgStatem. Dávka nic nekontroluje, jen:

  • pokud je nainstalován plugin pro BadgeGen, spustí jej
  • generuje seznam nálezů pro mapy s červenými puntíky (geocaching.cz)
  • spouští GgStat
  • výsledek kopíruje na FTP server nebo do profilu na gc.com
:!: Po instalaci musíte v dávce nastavit proměnné, pro správnou funkci dávky. Jsou to všechny proměnné, jejichž hodnota začíná a končí znaky - -. Nastavené hodnoty tyto znaky nemají obsahovat.

Dávku lze pochopitelně doplnit o jakoukoli jinou činnost, kterou uživatel považuje při generování statistiky za důležitou (např. spustit script Elevation, …).

První alternativa (2.12 KiB, 91 downloads) generuje statistiku vždy pro téhož uživatele.

Druhá alternativa (2.27 KiB, 65 downloads) slouží k témuž účelu, ale při přepínání profilů.

Zapínání a vypínání Dropboxu

Autor: Gord (inspirace Medwyn)

Pří aktualizaci dat Geogetu dochází ke značnému zpomalení v případě, že je Dropbox aktivní. Proto je vhodné činnost Dropboxu během intenzivní práce s databází pozastavit. Součástí instalace jsou dvě dávky, jedna po vypnutí a druhá pro zanputí Dropboxu (:!: nejedná se o pozastavení, ale o úplné vypnutí Dropboxu).

Zapnutí a vypnutí Dropboxu (2.19 KiB, 48 downloads)

Seznam dostupných souborů

FilenameLast modified
logfulltext_1.0.0.gip (1.35 KiB, 10 downloads)2012/02/18 20:39
listingfulltext_1.0.1.gip (1.32 KiB, 35 downloads)2012/01/09 15:51
notefulltext_1.0.0.gip (1.16 KiB, 37 downloads)2012/01/09 15:51
combine-2.0.3.10.gip (63.31 KiB, 2837 downloads)2011/11/23 11:19
dropbox-1.0.2.gip (2.19 KiB, 48 downloads)2011/10/26 12:32
generovanistatistikyvggprofilu_1.0.0.gip (2.27 KiB, 65 downloads)2011/09/28 08:01
generovanistatistiky_1.0.1.gip (2.12 KiB, 91 downloads)2011/09/02 22:22

Seznam změn

2.0.3.10 (22.11.2011)

  • změna: RunInfo doplněn o možnost přerušení dávky; k přerušení dojde až po dokončení právě probíhající operace (načitání filtru, ukončení vnitřně spuštěného scriptu, uzavření již otevřeného modálního formuláře, …)
  • změna: po přikazu FileExists je možné rovnou provádět podmíněný přikaz v závislosti na výsledku; již není třeba výsledek uložit do proměnné a její hodnotu testovat
  • změna: před uložením textu do souboru (prikaz TextToFile) dojde k nahrazení promenných %jmeno%
  • změna: ApiGgtLogs a ApiGetLogs měly jako oddělovač v prvním parametru středník, což je nejednotné s otatními příkazy Combine - oddělovač změněn na dvojtečku, z důvodu kompatibility je teď tedy možno používat oboje (preferuji dvojtečku)
  • nový příkaz SQLToVar provede zadaný přikaz SQL (můze být zadaný i jménem souboru) a výsledek načte do proměnné (každá první vrácená hodnota na samostatném řádku, např. SELECT DISTINCT cachesize FROM geocache vrátí seznam velikosti keší v databázi
  • nový příkaz VarExpr pro uložení výsledku matematického výrazu do proměnné. Výraz může obsahovat jiné proměnné (uzavřené v %..%), závorky, bězné matematické operace a také funkce SQLite, které mají v daném kontextu smysl

2.0.3.9 (16.11.2011 počet stažení: 327)

  • oprava: vykreslování ikon v seznamu dávek, spodní pixelový řádek byl zdvojen, chybný bod jako referenční s průhlednou barvou
  • sjednocení pojmenování skupiny příkazů jako “dávka”
  • nový příkaz BrowseUrl
  • nová kategorie příkazů pro přístup k GC.live, zatím načtení logů keší, aktualizace stavu keší a aktualizace keší. Keše je možné zadat výčtem, ggt souborem nebo příkazy mohou pracovat se seznamem zobrazených keší

2.0.2.8 (2.8.2011 počet stažení: 999)

  • oprava: při ukládání změněné dávky došlo někdy ke změně ikony a jména uvnitř INI souboru - aGroups je řazeno podle jména souboru, ale při změně obsahu dávky se do INI ukládaly hodnoty z aGroups podle indexu v zobrazeném seznamu dávek, což vždy není totéž (oprava ve verzi z 27.3.2011 nebyla důsledná)
  • oprava: vyhozen zapomenutý ladicí výpis pro zpracování TAGu
  • oprava: nastavení příznaku ladicích výpisů z dávky (při pokusu o nastavení byla dávka přerušena)
  • oprava: vyhodnocení proměnných při testování v případě nedefinované proměnné
  • oprava: doplnění kontroly vstupních hodnot pro práci s registry
  • rozšíření příkazu ShowRunInfo, zadávají se samostatně X a Y souřadnice, záporně jsou hodnoty zprava resp. zdola (pro jednoduchost se předpokládá, že hlavní panel je jednořádkový a dole)
  • doplněna proměnná GG_CACHER (nick vyplněný pro gc.com v nastavení GG)
  • doplněna proměnná CRLF jako odřádkování v textu
  • nové proměnné GS_USERNAME, GS_PASSDORD (načítané ze souboru groundspeak.config.pas, pokud existuje, je možné je přepsat a tak použít i jiného uživatele než standardně používá GG či GJ)
  • nový příkaz TextToFile
  • nový příkaz FileExists
  • nový příkaz FileToGsProfile
  • nový příkaz VarTestDefined

:!: Zobrazit změny ve starších verzích

Skrýt změny ve starších verzích

Skrýt změny ve starších verzích

2.0.2.7 (3.7.2011) (počet stažení: 348)

  • nová funkce SQLFileAdd pro zpracování SQL příkazu uloženého v souboru
  • nové funkce FtpGetFile a FtpPutFile pro přístup k FTP serveru (v pasivním režimu)
  • možnost vkládat komentář (příkaz CMT) samostatně, už není třeba vložit vatu a tu zapoznámkovat
  • nový příkaz Debug umožňuje krokovat jen v části dávky
  • formulář: oprava editace příkazu dvojklikem, pokud nebyla v rozbalena příslušná skupina příkazů v listboxu se seznamem možných příkazů

2.0.2.6 (23.5.2011) (počet stažení: 228)

  • formulář příkazů: skupinu lze rozbalit/zabalit i prostým kliknutím na ikonku
  • formulář příkazů: změna barvy a fontu pro výpis jména skupiny, vynechané '-'
  • CombineCommand.ini: změna textu, oprava číslovaní skupin
  • ShowMsgBreak: odstraněno tlačítko [Storno]

2.0.2.5 (23.5.2011) (počet stažení: 29)

  • ggi: oprava - volání neexistující funkce, zavlečeno do verze 2.0.2.4
  • ggi: na konci instalace vymaže starou verzi definice dávek (Combine.ini)
  • formulář příkazů: doplněna informace o způsobu rozbalení/sbalení skupiny příkazů
  • formulář příkazů: skupina TAGy, Registry rozdělena na dvě samostatné skupiny

2.0.2.4 (22.5.2011) (počet stažení: 34)

  • všude, kde je možné použít proměnné, je možné použít i proměnné systému (%PATH%, %USERNAME%, %WINDIR%, …)
  • příkazy RunExec a EXE vrací návratovou hodnotu spuštěného programu
  • seznam interních příkazů GeoGetu je rozbalovací po skupinách
  • přerovnání nabídky v CombineCommand.ini - zpřehlednění, drobné korekce textu
  • zobrazení ID příkazu v nabízeném seznamu příkazu k výběru (config.pas: CMDS_SHOWID='1', možnost potlačit)
  • doplnění příkazu pro nastavení TAGů: TagAdd, TagDel, TagClear
  • drobné úpravy ve formuláři pro volbu příkazů GeoGetu

2.0.1.3 (27.3.2011) (počet stažení 291)

  • doplněna zjednodušená (jen string) práce s registry
  • doplněn příkaz pro refresh celého načteného seznamu keší/bodů/WP
  • doplněn příkaz pro ukončení dávky (např. po testu)
  • vrácena funkce ShowMsgBreak (úmyslně nebyla do verze 2.0 převedena)
  • drobná úprava barev zobrazených příkazů
  • řazení seznamu dávek je abecedně podle jména dávky, ale načítání je abecedně podle jména souboru, což vždy není totéž. V některých případech to vedlo k zobrazení (případně i uložení) chybného jména a ikony
  • oprava při převodu starých dávek GGT_SUB/ADD
  • oprava spouštění jiné dávky
  • pár dalších drobností

2.0.0.2 (2011/03/01) (počet stažení: 210)

Změny grafického prostředí

  • oprava barev pro GGT_* a GGS
  • oprava tvorby *.ggs.pas
  • oprava obsluhy tlačítek pro vyhledání souboru nebo adresáře jako parametru pro spuštění exe/bat
  • při krokování dávky doplněna možnost přeskočit příkaz a pokračovat dalším příkazem v dávce
  • doplněna možnost upravit zakomentované řádky (stále nejdou přímo vytvořit, je třeba pozastavit vykonávání nějakého příkazu, ale i tak považuji za užitečné mít možnost dát si do delších dávek komentář)

2.0.0.1 (2011/02/20) (počet stažení: 135)

  • oprava konverze příkazu VarTest (text v uvozovkách)
  • oprava konverze příznaku podmíněného provádění některých příkazů (příznak se nepřenesl do nové dávky)
  • drobné opravičky v ikonách, …

2.0.0 (2011/02/20) (počet stažení: 55)

  • změna v defautl.pas, config.pas
  • změněno uživatelské rozhraní (snad přehlednější)
  • barevné odlišení příkazů, barvy možné definovat úpravou Combine.Colors.ini
  • každá skupina v samostatném souboru v adresáři Batches
  • dávky uložené pro samostatné spouštění jako ggp.pas jsou v adresáři Batches
  • ikony poznamenány jako Base64 v definičním souboru dávky, již nejsou v samostatném souboru
  • počet akcí ve skupině není omezen
  • příkaz identifikován zkratkou (CMD,FILT_*,…) místo jediného znaku (@=+-!), tím je snad dosaženo lepší čitelnosti souboru s dávkou
  • uživatelem definované proměnné lze používat kdekoli v kterémkoli příkazu (třeba jako součást jména souboru)
  • při provádění dávky jsou doplněny některé kontroly a hlášeni chyb

1.2.2.1 (2010/11/23) (počet stažení: 192)

  • oprava kontroly souboru s ikonou, pokud je zanořena v adresáři uvnitř DATADIR
  • informační dialog se stavem zpracování dávky je implicitně skryt, lze jej kdykoli v dávce zapnout a vypnout příkazem ShowRunInfo
  • nový příkaz ListDeleteFromXToEnd (v seznamu v okně GeoGetu nechá jen prvních X bodů)

1.2.1.0 (2010/10/26)

  • oprava popisu funkce DelTree
  • možnost ladění dávky (přerušení před provedením příkazu)
  • nové příkazy EmptyDir, CreateDir, VarDateTime
  • možnost použít proměnné pro datum/čas: %Y% (rok RRRR), %M% (měsíc MM), %D% (den DD), %h% (hodina hh), %m% (minuta mm), %s% (sekunda ss) - nastavují se při startu dávky nebo příkazem VarDateTime
  • možnost použití proměnné %GG_SCRIPTDIR%
  • možnost dočasně potlačit vykonávání příkazu v dávce a později zase aktivovat
  • doplnění okna se stavem zpracování dávky
  • ggf, ggt, ikona se do ini ukládají relativně vůči DATADIR, pokud to nejde, tak absolutně
  • gge, ggp se do ini ukládají relativně vůči SCRIPTDIR

Předchozí verze

  • popis změn v předchozích verzích je podrobně uveden v soubor ChangeLog.txt, který je součástí instalace
user/skript/combine.txt · Last modified: 2012/04/02 09:18 by gord
CC Attribution-Noncommercial 3.0 Unported
www.chimeric.de Driven by DokuWiki Recent changes RSS feed