Table of Contents
Předdefinované funkce
Obecné funkce
function RunExec(Value: string): integer;
- Zavolá externí program a vrací jeho návratový kód.
function RunExecNoWait(Value: string): boolean;
- Zavolá externí program, ale nečeká na jeho ukončení. Spustí jej v novém vlákně. 2.4.0
procedure RunShell(Value: string);
- Zavolá obsah přes shell operačního systému. Například pokud je Value URL adresa webové stránky, bude otevřena ve výchozím internetovém prohlížeči.
function BrowseURL(const URL: string): boolean
- Otevře odkaz v prohlížeči definovaném v nastavení GeoGetu.2.5.15
procedure Sleep(Value: integer);
- Počká definovaný počet milisekund.
function GetTick: longword;
- Vrací hodnotu interního čítače systému. Pokud ale systém umožňuje precizní měření času, funguje s přesností na jednotky milisekund! Rozdíl dvou hodnot se dá použít na měření uplynulého času. 2.4.0
function HttpAsk(const Method, Url, UploadType, Upload: string; var Download: string): boolean;
- Provede HTTP/HTTPS dotaz na nějakou webovou stránku. Method je název HTTP metody, například 'GET', nebo 'POST'. Url je požadované URL. Může obsahovat i HTTP autorizační údaje. UploadType je případný MIME-type pro uploadovaná data. Pokud jej nechcete použít, použijte prázdný string. Upload obsahuje uploadovaná data. A Download obsahuje stáhnutá data. Funkce vrací True, pokud komunikace proběhla v pořádku.
function HttpAskUA(const Method, Url, UploadType, Upload, UserAgent: string; var Download: string): boolean;
- Provede HTTP/HTTPS dotaz na webovou stránku. Na rozdíl od
HttpAsk()
umožňuje nastavit hodnotu User Agent - Hack: funkci lze využít k zadávání i jiných parametrů než je User Agent do hlavičky HTTP/HTTPS požadavku
- za hodnotu User Agent přidejte CRLF a pak další parametr, který má být v hlavičce. Může jich být i několik, odělovačem je vždy CRLF
- pokud nechcete User Agent zadávat, bude na začátku rovnou CRLF
- tento postup pravděpodobně nebude účinný u parametrů, které GeoGet posílá automaticky
- jako příklad muže být odeslání přihlašovacích údajů
//běžně by se použilo Url:=https://uživatel:heslo@server.com/...; //ale je také možné použít běžné Url a nastavit UserAgent:=CRLF+'Authorization uživatel heslo';
- pokud volání webové stránky vrátí chybovou hodnotu, funkce se vrátí hodnotu
false
, do návratové proměnné Download nepřepíše vrácený text a nebude možné zjisti podrobnosti o chybě ani její číslo (do verze 2.11.5), od verze 2.11.6 je výsledný dokument vrácen vždy, pokud bylo něco posláno, i když funkce skončí chybou
HttpResultCode():integerl
- funkce vrací návratovou hodnotu z předchozího volání HttpAsk() nebo HttpAskUA() 2.11.6
HttpResultHeaders():string;
- funkce vrací http hlavičku z předchozího volání HttpAsk() nebo HttpAskUA() 2.11.6
function UDPAsk(target, port, value: AnsiString; timeout:integer): AnsiString;
- provede UPD dotaz a čeká
timeout
milisekund na odpověď, pokud nepřijde, vrací prázdný string 2.9.13 - funguje to jak na obecné UDP, tak i na multicasty
- lze pouzit IPv4 i IPv6
- target je string s IP adresou, nebo doménovým jménem
- port je symbolický název portu nebo jeho číslo (proto je to string)
- value jsou data, která budou odeslána
- timeout je čas v milisekundách, který funkce čeká na odpověď
function FormatFloat(const Format: string; Value: extended): string;
- Převede floating-point číslo do textové podoby. Více viz http://delphi.about.com/library/rtl/blrtlFormatFloat.htm.
function FlToStr(Value: extended): string;
- Převede floating-point číslo do textové podoby. Výsledek vždy obsahuje desetinnou tečku, lhostejno na nastavení systému.
function StrToFl(Value: string): extended;
- Převede floating-point číslo v textové podobě. Je jedno, jestli vstup obsahuje desetinou tečku nebo čárku.
function DateToInt(Value: TDateTime): string;
- Převede datum do formátu yyyymmdd.
function IntToDate(Value: string): TDateTime;
- Převede řetězec ve formátu yyyymmdd na datum.
function SrtmElevation(x, y: extended; srtmpath: string): integer;
- Pokusí se zjistit výšku bodu pomocí SRTM souborů v zadané cestě (musí končit zpětným lomítkem!). Pokud nelze zjistit výšku bodu, je vrácena výška -32768.
ParseWgsStr(const Value: string; var X, Y: extended): boolean;
- Převede souřadnice z
Value
na desetinný formát. Zvládá velké množství formátů souřadnic jako funkce CoordEdit().
procedure WGStoUTM(Lat, Lon: extended; Force33u: boolean; out Northing, Easting: extended; out Zone: integer; out ZoneChar: char);
- Převod souřadnic z WGS-84 do UTM.
procedure UTMtoWGS(Northing, Easting: extended; Zone: integer; Zonechar: char; out Lat, Lon: extended);
- Převod souřadnic z UTM do WGS-84. 2.5.10
procedure UTMtoMCZ(Northing, Easting: extended; out North, East: string);
- Převod UTM souřadnic s vynucenou zónou U33 na souřadnicový systém používaný na serveru mapy.cz.
function FormatCoordNum(X, Y: extended): string;
- Převede souřadnice do textové podoby určené ke čtení člověkem (
N50°12.345' E015°12.345
'). Výstup je kódován v ANSI. Pozor na význam Ansi!
function zCompress(const Value: string): string;
- Zkomprimovat předaná data pomocí knihovny zlib. Vhodné pro přímé zasahování do databáze GeoGetu (pro sloupce, které jsou tímto způsobem komprimovány). 2.2.1
function zDecompress(const Value: string): string;
- Dekomprimovat data pomocí knihovny zlib. Vhodné pro přímé čtení dat z databáze GeoGetu. 2.2.1
function ExpandEnvir(Value: string): string;
- Ve stringu Value nahrazuje sekvence %nazev_promenne% jejich hodnotami. 2.5.7
function GetEnvir(Name: string): string;
- Dostává jen jméno proměnné a vrací její hodnotu. 2.5.7
procedure ConsoleInfo(Value: string);
- Slouží na psaní do chybové konzole. 2.3.7
procedure ConsoleError(Value: string);
- Slouží na psaní do chybové konzole. 2.3.7
function PostMessage(hWnd: integer; Msg: integer; wParam: integer; lParam: integer): longbool;
- Obsluha systémových zpráv Windows. Funkce umožní skriptu obsluhovat libovolnou systémovou zprávu. Použití této funkce vyžaduje znalosti na úrovni programování Windows API. 2.2.6
function SendMessage(hWnd: integer; Msg: integer; wParam: integer; lParam: integer): integer;
- Odeslání zprávy do fronty systémových zpráv k obsluze systémem Windows. To umožňuje např. manipulaci s okny aplikací, nastavování vlastností ovládacím prvkům tam, kde k tomu není k dispozici odpovídající funkce v GeoGetím API. Použití této funkce vyžaduje znalosti na úrovni programování Windows API. 2.2.6
procedure GeoSetFilteredSearch(value: integer);
- Ovládání filtrovaného hledání (hodnota 1 jej zapíná, 0 jej vypíná). S tím souvisí proměnná
Geoget_FilteredSearch
.2.9.1
GetListing(const value: TStrings; prefix: string);
- Metoda TGeo vygeneruje HTML listing a ještě u obrázků přepíše prefix.
SQLiteRegisterUDF(const value: TSQLiteDatabase);
- funkce pro SQL příkazy nad zadanou databází registruje funkce, které nejsou standardně použitelné, ale Geoget je používá
- pro databázi otvíranou přímo Geogetem není volání potřeba, jen pro použití databáze jen v pluginu, pokud jsou takové funkce potřeba
- jedná se např. o funkce:
- komprese, dekomprese (zlib)
- REGEXP v SQL
Funkce GC.Live
Od verze 2.10 již GeoGet funkce GC.Live nepodporuje, proto některé byly převedeny a vnitřně používají GC.API a některé byly zrušeny. Převedené funkce mohou mít funkčnost mírně pozměněnou v závislosti na možnostech GC.API.
function GcLiveGetLogs(const ID: string; Numlogs: integer; StopOnFound, Refine: boolean): integer;
- Stažení logů k bodu s
ID
.2.6.2
procedure GcLiveUpdateStatus(const IDs: string)
- Aktualizovat stav.
ID
je jeden GC kód,IDs
může být více kódů najednou, oddělené odřádkováním.2.6.2
procedure GcLiveUpdateListing(const IDs: string; Lite: boolean)
- Aktualizovat listing.
ID
je jeden GC kód,IDs
může být více kódů najednou, oddělené odřádkováním.2.6.2
procedure GcLiveUpdateListing2(const IDs: string; mode:integer)
- Aktualizovat listing.
ID
je jeden GC kód,IDs
může být více kódů najednou, oddělené odřádkováním.2.9.4 mode
definuje režim získámí dat (0=FULL, 1=LITE, 2=SUMMARY)
procedure GCLiveGetListing(par: TGCLSearch) TGCLSearch = record cx: double; //souřadnice středu kruhu (Latitude), v kterém budou keše vyhledávány cy: double; //(Lognitude) cr: double; //poloměr kruhu v km, hledani podle souradnic se vypne cr=0. islite: boolean; //plný (false) nebo lite (true) listing !! od verze 2.9.2 nahrazeno položkou mode cachetypes: string; //seznam typů keší (plné stringy používané na GC, oddělovač ''CRLF'') cachesizes: string; //seznam požadovaných velikostí (plné stringy používané na GC, oddělovač ''CRLF'') available: integer; //0=jen neaktivní, 1=jen aktivní, 2=aktivní i neaktivní archived: integer; //0=jen nearchivované, 1=jen archivované, 2=archivované i nearchivované pmo: integer; //0=jen nePMO, 1=jen PMO, 2=PMO i nePMO ignorelist: boolean; //true=aplikovat nastavený ignorelist notfoundby: string; //seznam nicků, které keš nesmějí mít nalezenou (oddělovačem je ''CRLF'') hiddenby: string; //seznam nicků ownerů keší (oddělovačem je ''CRLF'') nothiddenby: string; //seznam nicků, kteří nesmějí být ownery keší (oddělovačem je ''CRLF'') //od verze 2.9.2+: mode: integer; //0=full, 1=lite, 2=summary country: string; //seznam jmen států (oddělovačem je ''CRLF'') state: string; //seznam jmen krajů (oddělovačem je ''CRLF'') end;
- Stáhne listingy keší, které odpovídají obsahu vstupní struktury. Nové keše (ty, které ještě nejsou v databázi) jsou do databáze doplněny, ostatní aktulizovány.2.6.4 - 2.9
function GCLiveGetUserLogs(const value: string): integer
- Stáhne všechny logy zadaného uživatele. Jméno uživatele musí být v UTF-8. 2.6.4
function GCLiveUpdateUserLogs(const value: string): integer
- Aktualizuje logy zadaného uživatele. Pokud je zadaný uživatel shodný s uživatelem přihlášeným ke GC.Live, funkce akutalizuje jeho logy. To znamená, že stáhne logy, které jsou na serveru z doby pozdější než kdy byly naposledy načteny nebo aktualizovány. Pokud je zadaný uživatel jiný, je funkce shodná s
GCLiveGetUserLogs
. Jméno uživatele musí být v UTF-8. 2.7.9
function GCLiveSelectBookmark: string
- Vyvolá dialog na výběr bookmarku a pokud bude nějaký vybrán, je vrácen jeho GUID.2.7.2
function GCLiveAddToBookmark(const ids: string; guid: string)
- Přidá seznam GC kódů (oddělené odřádkováním) do bookmarku.2.7.2
procedure GCLiveLoadBookmark(guid: string)
- Zobrazí keše bookmarku do seznamu zobrazených keší. Keše musí být v databázi.2.7.2
procedure GCLiveImportBookmark(guid: string)
- Importuje keše z bookmarku do databáze. Keše, které již v databázi jsou, nejsou znovu importovány.2.7.2
function GCLiveGetBookmark(guid: string): string
- Vrací GC kódy obsažené v bookmarku, jednotlivé GC kódy jsou oddělené pomocí
CRLF
.2.7.3
<html></html>
Funkce API GC
Pro volání jsou třeba parametry:
- ApiMethod - HTTP metoda volání. Používá se GET, PUT, POST, DELETE.
- ApiUri - část URL se specifikací volané funkce. Z bezpečnostních důvodů si Geoget sám doplňuje adresu serveru a první lomítko. tedy například „v1/users“.
- ApiData - Odesílaná data mimo URL.
- ApiDataMime - označení druhu odesílaných dat podle standardu MIME.
- Apiresponse - odpověď serveru
function GCliveRest(ApiMethod, ApiUri, ApiData, ApiDataMime: string; var ApiResponse: string): integer;
- vyvolání funkce API, vrací odpověď a hodnotu chybového stavu2.10
function GCliveRestPaged(ApiMethod, ApiUri, ApiData, ApiDataMime: string; PageSize: integer; var ApiResponse: string): integer;
- vyvolání funkce API, vrací odpověď a hodnotu chybového stavu2.10
- automaticky stránkuje, všechny odpovědi vrací najednou
function GCLImportCachePaged(const value: string): integer;
- vyhledávání keší podle vlastních kritérií2.10
- Volá funkci „v1/geocaches/search“, vstupní hodnota jsou vyhledávací parametry, které se přidají na konec URL. (Nepoužívat parametry take a skip!)
- importuje postupně každou vrácenou stránku s vyhledanými kešemi samostatně (ne najednou všechny stránky)
Parsování JSON odpovědi z API GC
S API se komunikuje výhradně ve formátu JSON. Pro zpracování odpovědí existuje v GeoGetu parser, po jeho vložení
uses simplejson;
je k dispozici objekt:
type TSimpleJSon = class(TObject) public constructor create; procedure Free; function ParseString(value: AnsiString): Boolean; function AsString(path: string): String; function AsInteger(path: string): int64; function AsDouble(path: string): double; function AsArraySize(path: string): integer; end;
Funkce asBoolean neexistuje, lze ji nahradit konstrukcí:
b:boolean; json:TSimpleJSON; ... b:=(json.AsInteger(path)=1);
K jednotlivým prvkům v objektu je pak přístup přes path
, např.:
foo // objekt foo.list // vlastnost objektu foo[123] // prvek pole objektu. Indexováno od nuly, počet prvků pole by mělo vrátit volání metody AsArraySize.
Pro jednodužší zpracování vrácených polí je rozumné vrácenému poli předřadit fiktivní jméno prvku a na něj se pak odkazovat.
uses simplejson; ... var rJson:TSimpleJSon; ... if(GcLiveRest('GET',sRequest,'','',sJson)=200) then begin //predpokladejme, ze je vraceno pole '[{..},{..},...]', udelame z nej pole prvku 'root' sJson:='{root:'+sJson+'}'; rJson:=TSimpleJson.Create(); try if(rJson.ParseString(sJson)) then begin nLogs:=rJSon.AsArraySize('root'); for i:=0 to nLogs-1 do begin //zpracujeme vsechny logy //odkazujeme se na prislusne pole prvku 'root[i]' a jeho vnorenou hodnotu 'geocacheCode' sGcId:=rJson.asString('root['+IntToStr(i)+'].geocacheCode'); ... end; end; finally rJson.Free(); end; end;
Převody data a času
function UTCtoLocal(Value: TDateTime): TDateTime;
- Konverze času z UTC do lokálního časového pásma počítače. Výpočet bere ohled na letní čas v aktuálním nastavení počítače.
function LocalToUTC(Value: TDateTime): TDateTime;
- Konverze času z lokálního časového pásma počítače do UTC. Výpočet bere ohled na letní čas v aktuálním nastavení počítače.
function UTCtoTimezone(Value: TDateTime; Timezone: string): TDateTime;
- Konverze času z UTC do časové zóny. Výpočet bere ohled na letní čas v zadané hodnotě
Value
. 2.7.4
function TimezoneToUTC(Value: TDateTime; Timezone: string): TDateTime;
- Konverze časové zóny do UTC. Výpočet bere ohled na letní čas v zadané hodnotě
Value
. 2.7.4
function GetTimeZoneByCoord(x, y: extended): string;
- Volá službu od Googlu (limit 2500 dotazů za den), která vrátí časovou zónu podle předaných souřadnic 2.7.4
Práce s řetězci
Převody kódování
String
- Od verze 2.8 je proměnná string kodovaná v UNICODE (UTF-16) a pro převod z/do kódování UTF-8 se používá funkce
AnsiToUtf()
neboUtfToAnsi()
. Ansi je ve jménech funkcí zachováno pro zpětnou kompatibilitu s předchozími verzemi GeoGetu. - Ansi ve jméně funkcí tedy znamená spíš string v nativním Geogetím kódování (UNICODE) než string v nativním Windows kódování.
- Utf ve jméně funkcí tedy znamená UTF-8 a ne UNICODE nebo UTF-16
function UtfToAscii(Value: string): string;
- Provede odstranění diakritiky.
function UtfToGps(Value: string): string;
- Odstraní diakritiku, převede řetězec na velká písmena a propustí jen vybranou množinu speciálních symbolů tak, aby výsledný řetězec byl kompatibilní s nejúspornějším šestibitovým kódováním u GPS Garmin.
function UtfToAnsi(Value: string): string;
- Převede řetězec do ANSI kódování. Pozor na význam Ansi!
function AnsiToOem(const Value: string): string;
- Konverze z ANSI do OEM kódové stránky příkazové řádky. Pozor na význam Ansi!
function UtfToCharset(const Value, Charset: string): string;
- Převod z UTF-8 kódování do libovolného jiného.
function CharsetToUtf(const Value, Charset: string): string;
- Převod z libovolného kódování do UTF-8. 2.2.2
function UnicodeBOM(const Charset: string): string;
- Vrací Byte Order Mark pro zvolené kódování. Pokud zvolené kódování nepoužívá BOM, je vrácen prázdný string.
function AnsiToUtf(const Value: string): string;
- Konverze z ANSI do UTF-8 kódové stránky. Pozor na význam Ansi!
function IsUtf(const Value: AnsiString): boolean
- Testuje, zda je vstupní string kódován v UTF-8 kódování. 2.7.7
Práce s texty
function IsValidID(Value: string): boolean;
- Testuje, jestli řetězec může být kód kešky/waypointu.
function IsValidGC(Value: string): boolean;
- Testuje, jestli řetězec může být kód kešky (GCxxxx).
function IsValidWM(Value: string): boolean;
- Testuje, jestli řetězec může být kód waymarku (WMxxxx).
function IsGuid(Value: string): boolean;
- Testuje, jestli řetězec je GUID.
function ReplaceString(Value, Search, Replace: string): string;
- Nahradí v řetězci všechny výskyty jednoto řetězce za druhý.
function Fetch(var Value: string; const Delimiter: string): string;
- Ukousne ze začátku
Value
kus řetězce až po nejbližšíDelimiter
. Po ukousnutí je zbytekValue
ještě zbaven koncových a počátečních bílých znaků (Trim
).
function FetchBin(var Value: string; const Delimiter: string): string;
- Ukousne ze začátku
Value
kus řetězce až po nejbližšíDelimiter
. ZbytekValue
není zbaven počátečních a koncových bílých znaků (Trim
). Vhodné pro zpracování binárních dat.
function SeparateLeft(const Value, Delimiter: string): string;
- Vrací část řetězce
Value
vlevo od zadaného separátoru (Delimiter
).
function SeparateRight(const Value, Delimiter: string): string;
- Vrací část řetězce
Value
vpravo od zadaného separátoru (Delimiter
).
function Rot13(Value: string): string;
- Provede ROT13 kódování.
function Reverse(Value: string): string;
- Obrátí obsah
Value
pozpátku.
function CData(Value: string): string;
- Používá se na zakódování dat pro XML element.
function QuoteStr(const Value: string; Quote: char): string;
- Zabalí řetězec do udaného znaku, a pokud se uvnitř ten znak vyskytuje, zdvojí jej.
function DecodeBase64(const Value: string): string;
- Dekóduje data v kódování BASE64.
function EncodeBase64(const Value: string): string;
- Zakóduje data do kódování BASE64.
function HtmlImg2Link(const Value: string): string;
- Nahradí všechny vložené HTML obrázky na odkazy.
function Html2Text(const Value: string): string;
- Převede HTML na prostý text.
function EncodeUrlElement(const Value: string): string;
- Zakóduje hodnotu tak, aby byla použitelná jako hodnota parametru v URL.
function CompareVer(ValueAsk, ValueCur: string): boolean;
- Metoda pro porovnávání verzí. Jako verze je předáván řetězec čísel oddělených tečkou, např. „2.1.4.1124“. Metoda vrací True, pokud je
ValueAsk
>ValueCur
.
Převody entit
function HtmlEntityDecode(const Value: string): string;
- Dekóduje HTML entity na nativní znaky.
function HtmlEntityEncode(const Value: string): string;
- Zakóduje ne-ASCII znaky do HTML entit.
function HtmlEntityEncodeAll(const Value: string): string;
- Zakóduje ne-ASCII znaky a kritické znaky do HTML entit.
function XMLEntityDecode(const Value: string): string;
- Dekóduje XML entity na nativní znaky.
function XMLEntityEncode(const Value: string): string;
- Zakóduje kritické XML znaky na entity.
function MDtoHTML(value: string): string;
- Převede text zakódovaný v Markdown na HTML.2.9.5
function JSEntityDecode(const value: ansistring): ansistring;
- Dekóduje text zakódovaný do entit ve formátu \xxxx (unicode, css/javascript).2.9.9
function JSEntityEncode(const value: ansistring): ansistring;
- Zakóduje text do entit do formátu \xxxx (unicode, css/javascript).2.9.9
Práce s regulárním výrazy
Regulární výrazy používají syntaxi podobnou Perlu.
function RegexFind(const ARegExpr, AInputStr: string): boolean;
- Zjišťuje, jestli zadaný string odpovídá předané
ARegExpr
masce.
function RegexExtract(const ARegExpr, AInputStr: string): string;
- Vrátí části řetězce, které odpovídají předané
ARegExpr
masce. 2.2.4
function RegexReplace(const ARegExpr, AInputStr, AReplaceStr: string; AUseSubstitution: boolean): string;
- Vše co odpovídá
RegExpr
bude nahrazenoReplaceStr
. Pokud je zapnuta substituce, pakReplaceStr
obsahuje masku pro nahrazení.
function RegexQuote(const AStr: string): string;
- Zakóduje speciální znaky v řetězci tak, aby nemohly kolidovat s regulárními výrazy.
function RegExSubstitute(const Expr, Value, Template: string): string;
- Funkce na získání konkrétního subexpression. 2.4.2
- Příklad:
s:=RegexSubstitute('(?i)<a\s*href="(.*?)">(.*?)</a>','Text pred tagem<a href="url_adresa">jmeno odkazu</a> text za tagem','$2');
vrátí „jmeno odkazu“.
function RegExSplit(const Expr, Value: string): string;
- Rozřádkuje
Value
podle regulárního výrazu. 2.4.2
Práce se soubory
function RenameFile(const OldName, NewName: string): boolean;
- Přejmenuje soubor.
function CopyFile(const OldName, NewName: string): boolean;
- Zkopíruje soubor.
procedure shCopyFile(FromDir, ToDir: string);
- Zkopíruje soubory pomocí příkazu shellu. Kopírování by tedy mělo být úspěšné i na zařízení, která se nechovají úplně jako disky (např. připojený HTC telefon a Android 4.1+) 2.7.7
procedure CopyTree(FromDir, ToDir: string);
- Zkopíruje složku včetně všech podsložek. 2.5.0
function DeleteFile(const FileName: string): boolean;
- Vymaže soubor.
procedure DeleteFiles(Value: string);
- Vymaže soubory podle předané masky.
function FileExists(const FileName: string): boolean;
- Testuje zda soubor existuje.
function DirectoryExists(const Directory: string): boolean;
- Testuje zda adresář existuje.
function ForceDirectories(Dir: string): boolean;
- Vytvoří adresář.
function DelTree(const Path: string): boolean;
- Smaže všechny podsložky a soubory v daném adresáři. 2.3.4
procedure StringToFile(Value, FileName: string);
- Uloží obsah řetězce do souboru.
function FileToString(filename: string): string;
- Načte obsah souboru do řetězce.
procedure FileList(Dir: string; const Value: TStrings);
- Naplní
StringList
seznamem souborů v adresáři. Jména podadresářů končí zpětným lomítkem.
function GetFileSize(Value: string): integer;
- Vrátí velikost souboru.
function GetFileTime(Value: string): TDateTime;
- Vrátí čas poslední modifikace souboru.
function FtpGetFile(const IP, Port, FileName, LocalFile, User, Pass: string): boolean;
- Stažení souboru z FTP (v pasivním režimu). 2.5.0
function FtpPutFile(const IP, Port, FileName, LocalFile, User, Pass: string): boolean;
- Nahrání souboru na FTP (v pasivním režimu). 2.5.0
Práce s disky
function DiskInDrive(Drive: char): boolean;
- Testuje zda je v jednotce
Drive
momentálně přítomen disk? Vhodné např. pro čtečky SD karet a podobně. 2.3.4
function GetDriveTypeStr(const Drive: char): string;
- Vrátí typ dané jednotky. Možné hodnoty jsou: „Unknown drive type“, „Removable Drive“, „Hard Disk“, „Remote Drive“, „CD-ROM“, „RAM-Disk“. 2.3.4
DiskName(Drive: Char): string;
- Vrátí jméno svazku (jméno partition)
Práce s databázemi
procedure GeoDBNames(const Value: TStrings);
- Naplní
StringList
seznamem všech databází (včetně záložních). 2.2.5
procedure GeoDBSelect(Value: string);
- Zavře aktuální databázi a otevře databázi s udaným jménem. Pokud databáze neexistuje, vyrobí se nová. Stávající databáze ale nesmí mít spuštěnu transakci, jinak bude vyvolána výjimka a běh skriptu se zastaví! 2.2.5
- dojde k vymazání obsahu Busy dialogu
Práce s atributy
function AttributeToIcon(Value: string): string;
- Převede popisný text atributu (z PQ, z webu) na jméno ikony. thorns! → thorn-yes. 2.2.3
function AttributeIDToIcon(Value: string): string;
- Převede ID atributu (z PQ) na jméno ikony. 41 → stroller-yes. 2.2.3
function IconToAttributePQ(Value: string): string;
- Převede jméno ikony do jména atributu v PQ. Pokud je atribut „neobsažen“, výsledek začíná znakem „-“. stroller-no → -stroller accessible. 2.2.3
function IconToAttributeWEB(Value: string): string;
- Převede jméno ikony do jména atributu na webu. stroller-no → not stroller accessible. 2.2.3
function IconToAttributeID(Value: string): string;
- Převede jméno ikony do ID v PQ. Pokud je atribut „neobsažen“, výsledek začíná znakem „-“. stroller-no → -41. 2.2.3
Práce s instalačními balíčky
function GeoInstallScriptFile(const FileName: string): string;
- Nainstalovat skript z předaného *.gip balíčku. 2.5.0
function GeoInstallScriptURL(const Url: string): string;
- Nainstalovat skript z dané URL. Soubor *.gip bude nejprve stažen a poté nainstalován. 2.5.0
- Není třeba dělat ručně v instalačním skriptu pro případné závislé skripty. GeoGet se o doinstalování závislostí postará sám (pokud je odkaz ke stažení v patřičném
meta
souboru definován).
function GeoGetPackages: string;
- Vrací pomocí
CRLF
oddělený seznam nainstalovaných balíčků (plné cesty kmeta
souborům). 2.5.0
function GeoGetPackageVersion(PackageMeta: string): string;
- Vrací verzi nainstalovaného balíčku. Parametr
PackageMeta
je plná cesta kmeta
souboru. 2.5.0
function GeoGetPackagePreviousVersion(PackageMeta: string): string;
- Vrací předchozí nainstalovanou verzi balíčku. 2.5.0
- Tato funkce pracuje správně pouze v případě, že je spouštěna z těla metody
InstallWork
instalačního skriptu. V opačném případě vrací verzi aktuálně nainstalovanou. - Historie verzí balíčků je uchovávána v souboru
plver.txt
v datovém adresáři GeoGetu. - Parametrem
PackageMeta
může být plná cesta kmeta
souboru, ale i jen jeho název či název balíčku.
function GeoGetPackageUpdateVersion(PackageMeta: string): string;
- Vrací aktuální (nejvyšší) dostupnou verzi balíčku. Parametr
PackageMeta
je plná cesta kmeta
souboru. 2.5.0
function GeoUpdatePackage(PackageMeta: string): string;
- Stáhnout a nainstalovat aktuální dostupnou verzi balíčku. Parametr
PackageMeta
je plná cesta kmeta
souboru. 2.5.0
function GeoUninstallPackage(PackageMeta: string): boolean;
- Odinstalovat balíček. Parametr
PackageMeta
je plná cesta kmeta
souboru. 2.5.0
procedure GeoReloadPlugins;
- Znovu načíst nainstalované pluginy (tedy prohledat adresář skript, znovu vykreslit menu a nástrojovou lištu s pluginy). 2.5.0
- Akce není provedena ihned, ale až po ukončení skriptu a návratu do prostředí GeoGetu.
procedure GeoRefreshHeaders;
- Znovu načte a uloží aktuální nastavení sloupců. 2.5.12
Práce s menu pluginy a toolbarem plugin
- Parametr
plugin
je vždy plná cesta kGGP
pluginu. - Po použití metod je vhodné vyvolat ještě
refresh toolbaru i menu
pomocí proceduryGeoReloadPlugins
.
function GeoGetToolbar(Plugin: string): boolean;
- Vrací True, pokud je
Plugin
zařazen na toolbar.
procedure GeoSetToolbar(Plugin: string; Value: boolean);
- Zařadí či odstraní
Plugin
z toolbaru.
function GeoGetPluginGroup(Plugin: string): string;
- Vrátí skupinu menu, do které je
Plugin
zařazen.
function GeoGetDefaultGroup: string;
- Vrátí jméno výchozí skupiny, do které jsou automaticky zařazovány nově nainstalované pluginy.
procedure GeoSetPluginGroup(Plugin, Value: string);
- Zařadí
Plugin
do skupinyValue
.
function GeoListPluginGroups: string;
- Vrací pomocí
CRLF
oddělený seznam existujících skupin pluginů.
function GeoGetPopupMenu(plugin: string): boolean;
- Vrací True, pokud je
Plugin
zařazen do popup menu. 2.8.8
procedure GeoSetPopupMenu(plugin: string; value: boolean;
- Zařadí
Plugin
do položkyValue
popup menu. 2.8.8
Práce s tagy
procedure GeoTagDelCategory(Value: string);
- Odstraní z databáze celou kategorii tagů.
TagCategories
, TagHaveCategory
, TagValues
, TagAdd
, TagReplace
, TagReplaceList
, TagDel
, TagClear
metody třídy TGeo.
Práce s body
Všechny funkce této skupiny počítají hodnoty na elipsoidu WGS84.
procedure PointProject(const Px, Py, Angle, Distance: extended; out Nx, Ny: extended);
- Projektovat bod
Nx
,Ny
, který je od zadaného výchozího boduPx
,Py
vzdálenDistance
(v kilometrech) v azimutuAngle
(ve stupních). 2.2.3
function PointDistanceEx(X1, Y1, X2, Y2: extended; var Azimut: extended): extended;
- Vrátí vzdálenost (v kilometrech) mezi dvěma body. V proměnné
Azimut
bude uložen azimut dvou bodů (ve stupních). 2.2.3
function PointDistance(X1, Y1, X2, Y2: extended): extended;
- Vrátí vzdálenost dvou bodů v kilometrech.
function PointAzimuth(X1, Y1, X2, Y2: extended): extended;
- Vrátí azimut dvou bodů ve stupních.
Práce s registry
Možnost použití tříd TRegistry
, TRegIniFile
a TRegistryIniFile
. Pro třídu RootKey se používají tyto hodnoty: (např. reg.RootKey := $80000001;
) 2.4.3
HKEY_CLASSES_ROOT = $80000000; HKEY_CURRENT_USER = $80000001; HKEY_LOCAL_MACHINE = $80000002; HKEY_USERS = $80000003; HKEY_PERFORMANCE_DATA = $80000004; HKEY_CURRENT_CONFIG = $80000005; HKEY_DYN_DATA = $80000006; KEY_READ = 131097;
- RootKey klíčů v registru. 2.5.0
Pro zápis do HKEY_LOCAL_MACHINE
jsou běžně potřeba administrátorská práva. Pokud potřebujete z HKLM pouze číst, pak stačí objektu třídy TRegistry
nastavit property Access
na KEY_READ
. V opačném případě nelze z HKLM
jako běžný uživatel ani číst.
Práce s obrázky
Všechny následující funkce pro manipulaci s obrázky pracují s jejich textovou interpretací (string
) na místo objektů třídy TImage
nebo TBitmap
. Automaticky je rozpoznáno a podporováno mnoho grafických bitmapových formátů.
function ImageResize(const Value: string; Width, Height: integer; FixAspect, HiQuality: boolean): string;
- Změní velikost obrázku.
Width
aHeight
nové rozměry. ParametryFixAspect
aHiQuality
určují, zda má být při změně velikosti zachován poměr stran a zda má být použito kvalitnějšího (a pomalejšího a časově náročnějšího) módu konverze. Návratová hodnota je stringová reprezentace upraveného obrázku. 2.4.0
function ImageRotate(const Value: string; Angle: double): string;
- Otočí obrázek o daný úhel. 2.4.0
function ImageConvert(const Value: string; FileName: string): string;
- Převede obrázek do jiného formátu. Formát je zvolen automaticky dle předané přípony. 2.4.0
procedure ImageInfo(const Value: string; out ImageType: string; out Width, Height, BPP: integer);
ImageType
vrací název druhu obrázku třeba JPEG.Width
aHeight
je snad jasné.BPP
je BitsPerPixel. 2.5.6
procedure ImageGPSRead(const Value: string; out X, Y: extended);
- Do proměnných
X
aY
načte GPS souřadnice z EXIF v obrázku. (X - Lat, Y - Lon). 2.5.6
function ImageGPSWrite(const Value: string; X, Y: extended): string;
- Z proměnných
X
aY
zapíše GPS souřadnice do EXIF v obrázku. (X - Lat, Y - Lon). 2.5.6
function ImageMerge(const background, foreground: string; x, y: integer): string;
- Funkce spojí dva obrázky do jednoho. Do obrázku
background
(libovolného podporovaného typu) je na pozici[x,y]
přenesen obrázekforegroung
. Výsledný obrázek je ve stejném formátu jakobackground
. Funkce má následující podmínky:background
nesmí mít nastavenou průhlednost v alfakanálu (PNG) ani v paletě (GIF)background
musí mít minimálně stejnou barevnou hloubku jakoforeground
foreground
je není možné použít BMP truecolor (24bit). Je třeba použít formát s paletou (BMP 8bit, GIF, …)nebo s alfakanálem (PNG, …)foregroung
může mít průhlednost definovanou v alfakanálu (PNG), v paletě (GIF) nebo pokud není průhlednost definovaná a je použita paleta (BMP), pak se za průhlednou považuje barva FF00FF, kterou interpretují GPS Garmin jako průhlednou.
- 2.7.3
Práce se schránkou
function ClipboardReadText: string;
- Vrací obsah schránky. (Pracuje s nativními unicode stringy. Pro převod načteného textu do UTF-8 je nutno použít
UtfToAnsi()
. Pozor na význam Ansi! 2.8.3
procedure ClipboardWriteText(value: string);
- Vloží obsah
value
do schránky. Pracuje s nativními unicode stringy. Pokud je třeba do schránky zkopírovat UTF-8 string, musí se string napřed převést na na „falešný ansistring“ funkcíUtfToAnsi()
(viz význam Ansi!) 2.8.3
function ClipboardHasText: boolean;
- Vrací
true
pokud schránka obsahuje text. 2.8.3
Ovládání referenčního bodu
procedure RefPointNames(const Value: TStrings);
- Naplní
StringList
seznamem uložených referenčních bodů.
function RefPointSet(Value: string; X, Y: extended): boolean;
- Uloží nový (nebo přepíše existující) referenční bod. Pokud funkce vrátí True, pak bod již existoval a byl přepsán.
function RefPointGet(Value: string; var X, Y: extended): boolean;
- Načte souřadnice referenčního bodu.
function RefPointDel(Value: string): boolean;
- Smaže uložený referenční bod.
function RefPointSelect(Value: string): boolean;
- Vybere uložený referenční bod.
function RefPointSelectTemp(Value: string; X, Y: extended): boolean;
- Vybere jako referenční bod požadované souřadnice a název, aniž by bylo nutné bod ukládat.
function ReferencePointCoord(Name: string, var: X, Y: extended): boolean;
- Do proměnných
X
' aY
' dosadí souřadnice referenčního bodu se jménemName
. Pokud se dosazení povede, vrátítrue
. 2.2.1
function AddReferencePoint(Name: string; X, Y: extended): boolean;
- Přidá do seznamu referenčních bodů nový bod se jménem
Name
a souřadnicemiX
' aY
. Pokud se přidání povede, vrátítrue
. 2.2.1
function LoadReferencePoint(Name: string): boolean;
- Nastaví jako aktuální referenční bod v GeoGetu právě tento. Pokud se nastavení povede, vrátí
true
. 2.2.1
function EditReferencePoint(Name: string; NewX, NewY: extended): boolean;
- Upraví referenčnímu bodu s předaným jménem souřadnice na
newX
anewY
. Pokud se to povede, vrátítrue
. 2.2.1
function RemoveReferencePoint(Name: string): boolean;
- Odebere referenční bod. Pokud se to povede, vrátí
true
. 2.2.1
Dialogy
procedure ShowMessage(const Msg: string);
- Zobrazí uživateli zprávu.
procedure ShowLongMessage(const Caption: string; const Msg: string);
- Zobrazí uživateli dlouhou zprávu s posuvníkem. 2.5.0
procedure ShowHTMLMessage(const Caption: string; const Msg: string);
- Zobrazí uživateli dlouhou zprávu s posuvníkem ale narozdíl od
ShowLongMessage
obsahuje jednoduchý HTML renderer, stejný, v jakém se zobrazují listingy. Takže řetězec může obsahovat HTML tagy.
procedure ShowHTMLMessageSize(const title, value: string; width, height: integer);
- Zobrazí uživateli dlouhou zprávu s posuvníkem ale narozdíl od
ShowLongMessage
obsahuje jednoduchý HTML renderer, stejný, v jakém se zobrazují listingy. Takže řetězec může obsahovat HTML tagy.width
aheight
definuje velikost okna se zobrazenou zprávou. 2.9.4
function InputBox(const ACaption, APrompt, ADefault: string): string;
- Zobrazí uživateli zprávu a vyzve uživatele k zadání řetězce. Pokud uživatel dialog stornuje, vrátí se
ADefault
.
function SaveDlg(Title, InitialDir, Options, Filter: string; var FileName: string):boolean;
- Vyvolá standardní
SaveDialog
.
function OpenDlg(Title, InitialDir, Options, Filter: string; var FileName: string):boolean;
- Vyvolá standardní
OpenDialog
.
function SelectDir(InitialDir, Caption: string): string;
- Vyvolá standardní dialog na výběr složky. Pokud nebude složka vybrána, je vrácen prázdný řetězec.
function MessBox(Text, Caption: string; Flags: integer): integer;
- Vyvolá
MessageBox
. Konstantou veFlags
se určuje, jaká tlačítka budou použita: 0 = OK, 1 = OK+Cancel, 2 = Abort+Retry+Ignore, 3 = Yes+No+Cancel, 4 = Yes+No, 5 = Retry+Cancel. Návratová hodnota určuje, jaké tlačítko bylo zmáčknuto: 1 = OK, 2 = Cancel, 3 = Abort, 4 = Retry, 5 = Ignore, 6 = Yes, 7 = No.
function CoordEdit(const Title, Caption: string; var X, Y: extended): boolean;
- Vyvolá dialog na editaci souřadnic.
Obsluha "busy" dialogu
procedure GeoBusyStart;
- Zobrazí „busy“ dialog. Po skončení skriptu bude automaticky schován.
procedure GeoBusyCaption(Value: string);
- Nastaví nadpis „busy“ dialogu.
procedure GeoBusyKind(Value: string);
- Nastaví účel „busy“ dialogu.
procedure GeoBusyValue(Value: string);
- Nastaví hodnotu „busy“ dialogu místo progressbaru.
procedure GeoBusyProgress(Value, Max: integer);
- Nastaví místo hodnoty progressbar.
function GeoBusyTest: boolean;
- Testuje, jestli uživatel stiskl tlačítko Cancel.
- pokud je plugin realizován modálním formulářem, je tlačítko v Busy dialogu neaktivní (i když se tak netváří) a ani skrytí formuláře jej nezaktivuje. Kliknutí na něj jen vyvolá chybové pípnutí, ale právě probíhající činnost pluginu nijak neovlivní
- pokud je plugin realizován modálním formulářem a obsahuje funkci, která by měla být přerušitelná, je třeba
- zacyklit zobrazení formuláře funkcí
ShowModal()
- formulářový prvek, kterým aktivujete přerušitelnou funkci, musí mít nastavenou nenulovou hodnotu
ModalResult
, tím dojde po volbě funkce k ukončení formuláře - návratovou hodnotu z funkce
ShowModal()
obsloužit spuštěním příslušné funkce a v ní testovatGeoBusyTest()
- (návratová hodnota 2 znamená uzavření formuláře uživatelem kliknutím na křížek v titulkovém pruhu formuláře)
- znovu funkcí
ShowModal()
zobrazit formulář
Lokalizace
function _(const SzMsgId: string): string;
- Přeloží předaný
string
do právě používaného jazyka. Pomocí této funkce je třeba obalit jakýkoliv text v kódu makra, který chcete překládat.
procedure TextDomain(const SzDomain: string);
- Nastavit jinou doménu (výchozí je pojmenována default, jde v podstatě o jméno *.mo souboru s překladem).
function GetCurrentTextDomain: string;
- Vrátí právě používanou doménu (jméno *.mo souboru s překladem).
procedure BindTextDomain(const SzDomain: string; const SzDirectory: string);
- Přidat další možnou textovou doménu a určit složku (obvykle Locale), ve které se mají hledat další složky (CS, … - podle jazyka) se soubory překladu *.mo.
procedure UseLanguage(LanguageCode: string);
- Změnit používaný jazyk na jiný. Jazykové kódy jsou například cs nebo en.
function GetCurrentLanguage: string;
- Zjistit právě používaný jazyk. Výsledkem je jazykový kód, například cs, en, nebo cs_CZ.
- protože vrácená hodnota se může na různých systémech trochu lišit, je vhodné použít jen první 2 znaky
procedure RetranslateComponent(AnObject: TComponent; const TextDomain:string);
- Opětovně přeložit komponentu formuláře. Lze předat i celý formulář.
function GetTranslatorNameAndEmail: widestring;
- Vrátí informace o překladateli - jméno a email.
Ovládání činností
procedure GeoStopWork;
- Nasimuluje stisk klávesy Cancel, tedy
PluginWork
již nebude voláno. 2.2.1
procedure GeoAbort;
- Ukončí běh skriptu. 2.2.1
procedure GeoImportFile(Value: string);
- Importuje data ze souboru do databáze. Umí importovat i archivy (ZIP, 7Z, ARJ, RAR). Funguje tak, že když narazí na archiv, tak si vygeneruje svůj podadresář v adresáři
temp
, kam archiv rozbalí. Mělo by to pracovat i s archivy v archivech.
procedure GeoImportDir(Value: string);
- Importuje soubory ze složky do databáze. Jméno složky musí končit znakem „\“! Jde soubor po souboru a na každý volá
ImportFile
. Pokud je soubor archiv, tak viz. výše, rozbalí se dotemp
a obsah se naimportuje.
procedure GeoImportBegin;
- vynuluje statistiky o importu.
procedure GeoImportEnd;
- zobrazí okno s výsledkem importu. Pokud se funkce nepoužije, okno se nezobrazí.
procedure GeoImportPQ;
- Importuje GPX PQ v podadresari PQ.
procedure GeoDownImportPQ;
- Stáhne z e-mailu a posléze importuje GPX PQ.
procedure GeoExport(Exporter, FileName: string);
- Exportuje výpis za pomoci exportního skriptu
Exporter
do souboruFileName
.
procedure GeoListUpdateID(value: string);
- Aktualizace řádku v načteném seznamu. 2.5.8
procedure GeoListUpdateAll;
- Refresh celého seznamu. 2.5.8
procedure GeoListClear;
- Vymaže celý výpis.
procedure GeoListLoad;
- Naplní výpis podle právě platného filtru.
procedure GeoListLoadAdd;
- Přidá do výpisu záznamy podle právě platného filtru.
procedure GeoListLoadSub;
- Odebere z výpisu záznamy podle právě platného filtru.
procedure GeoFilterLoadFile(Value: string);
- Nahraje sadu filtrů ze souboru.
procedure GeoListFileAdd(Value: string);
- Přidá do výpisu záznamy podle uložené sady.
procedure GeoListFileSub(Value: string);
- Odebere z výpisu záznamy podle uložené sady.
procedure GeoListSave(Value: string);
- Uloží aktuální výpis jako sadu do souboru.
procedure GeoListByFileAdd(Value: string);
- Přidá do výpisu záznamy podle obsahu GPX nebo LOC souboru.
procedure GeoListByFileSub(Value: string);
- Odebere z výpisu záznamy podle obsahu GPX nebo LOC souboru.
Volání skriptu ze skriptu
procedure GeoCallGGP(FileName: string);
- Zavolá jiné makro typu GGP.
procedure GeoCallGGC(FileName: string; const Geo: TGeo);
- Zavolá GGC makro pro předanou geocache.
procedure GeoExport(Exporter, FileName: string);
Databáze států
function GetCountryID(Value: string): integer;
- Přeloží název státu na
CountryID
číslo. 2.2.1
function GetCountryName(Value: string): string;
- Převede zkratku na název státu. 2.2.3
function GetCountryAbbr(Value: string): string;
- Převede název státu na zkratku. 2.2.3
function GetStateID(Value: string): integer;
- Přeloží název území
StateID
číslo. 2.2.1
procedure GetCountryList(const List: TStrings);
- Naplní
StringList
seznamem známých států.
procedure GetStateList(Value: string; const List: TStrings);
- Naplní
StringList
seznamem známých území pro požadovaný stát.
procedure GetDBCountryList(const List: TStrings);
- Naplní
StringList
seznamem států vyskytujících se v databázi kešek.
procedure GetDBStateList(Value: string; const List: TStrings);
- Naplní
StringList
seznamem známých území pro požadovaný stát, podle výskytu v databázi kešek.
Řízení výjimek
Druhy výjimek jsou definovány následujícím výčtovým typem:
TIFException = (ErNoError, ErCannotImport, ErInvalidType, ErInternalError, ErInvalidHeader, ErInvalidOpcode, ErInvalidOpcodeParameter, ErNoMainProc, ErOutOfGlobalVarsRange, ErOutOfProcRange, ErOutOfRange, ErOutOfStackRange, ErTypeMismatch, ErUnexpectedEof, ErVersionError, ErDivideByZero, ErMathError, ErCouldNotCallProc, ErOutofRecordRange, ErOutOfMemory, ErException, ErNullPointerException, ErNullVariantError, ErInterfaceNotSupported, ErCustomError);
Výjimky lze v kódu skriptu odchytit pomocí konstrukce:
try //kód, který chceme chránit except //zde budeme jen když nastala výjimka end;
Vyvolávání výjimek
procedure RaiseLastException;
- Znovu vyvolá poslední výjimku. Například když jsme ji odchytili a usoudili jsme, ze výjimku chceme skutečně vyvolat.
procedure RaiseException(Ex: TIFException; Param: string);
- Uměle vyvolá požadovanou výjimku.
Informace o výjimce
function ExceptionType: TIFException;
- Vrací druh výjimky.
function ExceptionParam: string;
- Vrací parametry výjimky.
function ExceptionToString(er: TIFException; Param: string): string;
- Vygeneruje textovou chybovou hlášku z informací o výjimce.
Hashovací funkce
function Crc32(const Value: AnsiString): integer;
- Vrátí CRC32 součet předané hodnoty. 2.5.6
function MD5(const Value: AnsiString): AnsiString;
- Vrátí MD5 předané hodnoty. 2.5.6
function SHA1(const Value: AnsiString): AnsiString;
- Vrátí SHA1 předané hodnoty. 2.5.6
function MurmurHash(const Value: string): cardinal;
- Vrátí MurmurHash předané hodnoty. 2.5.6
function StrToHex(const Value: Ansistring): string;
- Převádí binární string lezoucí z MD5 nebo SHA1 do hexadecimální podoby. 2.5.6
Matematické funkce
function ArcTan2(const Y, X: extended): extended;
- Calculates the arctangent angle and quadrant of a given number.
- ArcTan2 calculates ArcTan(Y/X), and returns an angle in the correct quadrant. The values of X and Y must be between –2^64 and 2^64. In addition, the value of X can’t be 0. The return value will fall in the range from -Pi to Pi radians.
function Tan(const X: extended): extended;
- Returns the tangent of X.
- Tan returns the tangent of X. Tan(X) = Sin(X) / Cos(X).
function Cotan(const X: extended): extended;
- Call Cotan to obtain the cotangent of X. The cotangent is calculated using the formula 1 / Tan(X).
- Do not call Cotan with X = 0.
function Cot(const X: extended): extended;
- Calculates the cotangent of an angle.
- Call Cot to obtain the cotangent of X. The cotangent is calculated using the formula 1 / Tan(X).
function TanH(const X: extended): extended;
- Returns the hyperbolic tangent of X.
- TanH calculates the hyperbolic tangent of X.
function CotH(const X: extended): extended;
- Calculates the hyperbolic cotangent of an angle.
- Call CotH to obtain the hyperbolic cotangent of X, where X is an angle in Radians.
Standardní funkce
function IntToStr(I: longint): string; function StrToInt(S: string): longint; function StrToIntDef(S: string; Def: longint): longint; function copy(S: string; IFrom, ICount: longint): string; function pos(SubStr, S: string): longint; procedure delete(var S: string; IFrom, ICount: longint); procedure insert(S: string; var S2: string; IPos: longint); function StrGet(var S: string; I: integer): char; function StrGet2(S: string; I: integer): char; procedure StrSet(C: char; I: integer; var S: string); function AnsiUppercase(S: string): string; function AnsiLowercase(S: string): string; function Uppercase(S: string): string; function Lowercase(S: string): string; function Trim(S: string): string; function Length(S: string): longint; procedure SetLength(var S: string; L: longint); function Sin(E: extended): extended; function Cos(E: extended): extended; function Tan(E: extended): extended; function Cot(E: extended): extended; function Sinh(E: extended): extended; function Cosh(E: extended): extended; function Tanh(E: extended): extended; function Coth(E: extended): extended; function ArcSin(E: extended): extended; function ArcCos(E: extended): extended; function ArcTan2(x, y: extended): extended; //ArcTan2 calculates ArcTan(Y/X) function ArcCot(E: extended): extended; function ArcSinh(E: extended): extended; function ArcCosh(E: extended): extended; function ArcTanh(E: extended): extended; function ArcCoth(E: extended): extended; function Power(x, y: extended): extended; //mocnina x^y function Sqrt(E: extended): extended; function Round(E: extended): longint; function Trunc(E: extended): longint; function Int(E: extended): extended; function Frac(const X: extended): extended; function Pi: extended; function Abs(E: extended): extended; function StrToFloat(S: string): extended; function FloatToStr(E: extended): string; function Padl(S: string; I: longInt): string; function Padr(S: string; I: longInt): string; function Padz(S: string; I: longInt): string; function Replicate(C: char; I: longInt): string; function StringOfChar(C: char; I: longInt): string; function StrToInt64(S: string): int64; function Int64ToStr(I: int64): string; function EncodeDate(Year, Month, Day: word): TDateTime; //pro převod String -> Word je možno použít funkci ''StrToInt'' function EncodeTime(Hour, Min, Sec, MSec: word): TDateTime; //pro převod String -> Word je možno použít funkci ''StrToInt'' function TryEncodeDate(Year, Month, Day: word; var Date: TDateTime): boolean; //pro převod String -> Word je možno použít funkci ''StrToInt'' function TryEncodeTime(Hour, Min, Sec, MSec: word; var Time: TDateTime): boolean; //pro převod String -> Word je možno použít funkci ''StrToInt'' procedure DecodeDate(const DateTime: TDateTime; var Year, Month, Day: word); //pro převod String -> Word je možno použít funkci ''StrToInt'' procedure DecodeTime(const DateTime: TDateTime; var Hour, Min, Sec, MSec: word); //pro převod String -> Word je možno použít funkci ''StrToInt'' function DayOfWeek(const DateTime: TDateTime): word; function Date: TDateTime; function Time: TDateTime; function Now: TDateTime; function DateTimeToUnix(D: TDateTime): int64; function UnixToDateTime(U: int64): TDateTime; function DateToStr(D: TDateTime): string; function StrToDate(const S: string): TDateTime; function FormatDateTime(const FMT: string; D: TDateTime): string;