V nove verzi beta23 byl uvolnen k testovani novy system pro exportni skripty. Jeste ale nejsou hotove vsechny planovane nastroje, ani nen hotova zadna dokumentace.
Lecos se da ale okoukat z ukazkovych ctyr exportu, ktere jsou soucasti instalace a ze zdejsich prispevku.
Exportni skripty
Vytvořeno od
HaLuMa
, zář 13 2007 15:16
5 odpovědí na toto téma
#1
Publikováno 13 září 2007 - 15:16
#2
Publikováno 13 září 2007 - 15:32
Skriptovaci jazyk je Pascal.
Jako exportni skript je detekovany kazdy soubor se jmenem *.gge.pas v datovem adresari Geogetu. Pripona .pas je tam z toho duvodu, aby se skripty daly pohodne editovat nastroji se zvyraznovanim syntxe podle pripony.
Pokud bude ve skripty syntakticka chyba, nebude se nabizet k pouziti. Nastroje na odladovani skriptu do geogetu planuji, ale jeste nejsou. Vydrzte.
Kazdy skript musi definovat funkce:
function ExportExtension: string;
- definuje priponu exportovaneho souboru
function ExportDescription: string;
- definuje slovni popis exportu
function ExportHeader: string;
- definuje co se ma zapsat na zacatek exportovaneho souboru
function ExportFooter: string;
- definuje co se ma zapsat na konec exportovaneho souboru
function ExportPoint: string;
-je volano pro kazdy exportovany bod a definuje co se ma zapsat do exportovaneho souboru
function ExportAfter(value: string): string;
- volitelna fuknce, ktera je zavolana po finalnim zapsani exportovaneho souboru na disk. Jmeno tohoto zapsaneho souboru je predavano jako parametr.
Pri volani kazde exportni funkce je predvyplneno mnoho promennych s informacema. Napriklad promenne zacinajici na GC_ obsahuji informace o exportovanem bodu. Jsou k dispozic take uzitecne funkce. Oboje je okoukatelne v existujicich exportnich makrech.
Seznam promennych sem nekdy take hodim, stejne jako seznam funkci. Ten planuji navic postupne jeste rozsirovat.
#3
Publikováno 14 září 2007 - 8:14
Nyni neco o promennych pouzitelnych ve skriptech. Vsechny promenne jsou v UTF-8 kodovani. Pokud potrebujete jine kodovani, musi se pouzit nejaka z konverznich funkci, o kterych bude rec nekdy priste.
Tak tedy:
Geoget_Version
- Retezec s verzi GeoGetu.
CRLF
- retezec obsahujici odradkovani.
GC_ID
- kod waypointu geocache, tedy takove to GC12345
GC_Lat
- retezec se zemepisnou sirkou ve formatu 50.12345
GC_Lon
- retezec se zemepisnou delkou ve formatu 14.12345
GC_GUID
- GUID identifikator cache. V pripade pridaneho waypintu odkazuje na rodicovskou cache.
GC_URL
- URL odkaz na listing na serveru www.geocaching.com U waypointu je to odkaz na rodicovskou cache.
GC_Name
- jmeno cache ci waypointu.
GC_ParentName
- u waypointu obsahuje jmeno rodicovske cache.
GC_Author
- jmeno autora cache
GC_Type
- druh cache
GC_Size
- slovni popis velikosti cache
GC_Difficulty
- obtiznost cache jako retezec ve formatu napriklad 1.5
GC_Terrain
- obtiznost terenu cache jako retezec ve formatu napriklad 1.5
GC_Comment
- uzivatelova poznamka
GC_ShortDescription
- kratky popis z listingu
GC_LongDescription
- dlouhy popis z listingu
GC_Hint
- dekodovany hint. Pkud jej chcete v zakodovane forme, lze na to pouzit konverzni funkce!
GC_IsDisabled
- true, pokud je cache prave disablovana
GC_IsArchived
- true, pokud je cache prave archivovana
GC_Hidden
- TDateTime s datumem ukryti cache
GC_LastFound
- TDateTime s datumem posledniho nalezu
GC_Updated
- TDateTime s datumem posledni aktualizace zaznamu v databazi
GC_Found
- TDateTime s datumem vaseho nalezu.
GC_FoundTime
- TDateTime s casem vaseho nalezu.
GC_IsFound
- True, pokud je cache vami nalezena
GC_IsWaypoint
- True, pokud se jedna o waypoint a ne o cache.
GC_IsUserWaypoint
- True, pokud se jedna o uzivateem pridany waypoint.
GC_TypeID
- jednopismenne oznaceni druhu cache.
GC_IsValidCoord
- true, pokud souradnice splnuji omezeni definovane v konfiguraci geogetu.
GC_Tag
- zkratkovite oznaceni druhu velikosti a obtiznosti cache v podobe ctyr znaku. Napriklad TM12, UL44, atd.
GC_FullName
- u cache obsahuje totez co GC_Name. V pripade waypointu je za nim jeste v zavorce jmeno rodicovske cache.
GC_HaveListing
- true, jestlize je znam listing cache.
GC_HaveFinal
- true, jetlize je pritomen waypoint s nazvem 'final'
GC_NameSplit
- posledni znak kody waypointu cache.
GC_HaveWaypoint
- true, pokud cache ma nejake waypointy.
#4
Publikováno 14 září 2007 - 8:19
Funkce s popisem cache:
function GC_LogCount: integer
- vraci pocet pritomnych uzivatelskych logu. pres cyklus "for n := 0 to GC_LogCount - 1 do" lze pak projit vsechny logy a promennou n pouzit jako index pro nasledujici funkce.
function GC_LogType(value: integer): string
- druh logu. ('found it', atd.)
function GC_LogDate(value: integer): TDateTime
- datum logu
function GC_LogFinder(value: integer): string
- jmeno autora logu
function GC_LogText(value: integer): string
- vlastni text logu
#5
Publikováno 14 září 2007 - 8:24
krome mnoha standardnich funkci skriptovaciho engine jsou k dispozizi tyto specielni funkce:
function UtfToAscii(Value: string): string
- provede odstraneni diakritiky
function UtfToGps(Value: string): string
- odstran diakritiku, prevede retezec na velka pismena a propusti jen vybranou mnozinu specielnich symbolu tak, aby vysledn retezec byl kompatibilni s nejuspornejsim sestibitovym kodovanim u Garmin GPS.
function UtfToAnsi(Value: string): string
- prevede retezec do ANSI kodovani.
function CData(Value: string): string
- pouziva se na zakodovani dat pro XML element.
function Rot13(Value: string): string
- provede ROT13 kodovani
function Reverse(Value: string): string
- obrati obsah pozpatku.
function RunExec(Value: string): integer
- zavola externi program a vraci jeho navratovy kod.
procedure RunShell(Value: string)
- zavola obsah pres shel operacniho systemu. Napriklad pokud je value URL adresa webove stranky, bude otevrena ve vasem defaultnim prohlizeci.
function RenameFile(const OldName, NewName: string): Boolean
- prejmenuje soubor
function CopyFile(const OldName, NewName: string): Boolean
- zkopiruje soubor
function DeleteFile(const FileName: string): Boolean
- vymaze soubor
function FileExists(const FileName: string): Boolean
- test, jestli soubor existuje
function QuoteStr(const Value: string; Quote: Char): string
- zabali retezec do udaneho znaku, a pokud se uvnitr ten znak vyskytuje, zdvoji jej.
function ReplaceString(Value, Search, Replace: string): string
- nahradi v retezci vsechny vyskyty jednoto retezce za druhy.
#6
Publikováno 29 říjen 2007 - 12:50
Aktualni dokumentace je dostupna na novych webovych strankach GeoGetu.
0 uživatel(ů) prochází toto téma
0 uživatelů, 0 návštěvníků 0 anonymních uživatelů