GeoGet

Complete geocaching solutions

User Tools

Site Tools


user:skripty:functions

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
user:skripty:functions [2021/02/18 08:37] – [Obecné funkce] gorduser:skripty:functions [2022/06/02 12:43] (current) – [Práce s regulárním výrazy] geby
Line 26: Line 26:
 <code delphi>function HttpAskUA(const Method, Url, UploadType, Upload, UserAgent: string; var Download: string): boolean;</code> <code delphi>function HttpAskUA(const Method, Url, UploadType, Upload, UserAgent: string; var Download: string): boolean;</code>
   * Provede HTTP/HTTPS dotaz na webovou stránku. Na rozdíl od ''HttpAsk()'' umožňuje nastavit hodnotu **User Agent**    * 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+  * <wrap tip>Hack:</wrap> 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     * 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     * pokud nechcete **User Agent** zadávat, bude na začátku rovnou CRLF
-    * jako příklad muže být odeslání přihlašovacích údajů. Běžně by se použilo +    * tento postup pravděpodobně nebude účinný u parametrů, které GeoGet posílá automaticky 
-<WRAP group> +    * jako příklad muže být odeslání přihlašovacích údajů 
-<WRAP 10% column> +<WRAP 92% right> 
-.  +<code delphi>//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'; 
 +</code>
 </WRAP> </WRAP>
-<WRAP 80% column+<WRAP clear></WRAP
-   Url:=uživatel:heslo@https://...+    :!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 <sup>2.11.5</sup>), od verze <sup>2.11.6</sup> je výsledný dokument vrácen vždy, pokud bylo něco posláno, i když funkce skončí chybou  
-   //ale je také možné použí běžné Url a nastavit + 
-   UserAgent:=CRLF+'Authorization živatel heslo';</code> +<code delphi>HttpResultCode():integerl</code> 
-</WRAP+  * funkce vrací návratovou hodnotu z předchozího volání HttpAsk() nebo HttpAskUA() <sup>2.11.6</sup 
-</WRAP+ 
-    tento postup pravděpodobně nebude účinný u parametrů, které automaticky posílá GeoGet+<code delphi>HttpResultHeaders():string;</code
 +  funkce vrací http hlavičku z předchozího volání HttpAsk() nebo HttpAskUA() <sup>2.11.6</sup> 
  
 <code delphi>function UDPAsk(target, port, value: AnsiString; timeout:integer): AnsiString;</code> <code delphi>function UDPAsk(target, port, value: AnsiString; timeout:integer): AnsiString;</code>
Line 233: Line 238:
  
 ==== Parsování JSON odpovědi z API GC ==== ==== Parsování JSON odpovědi z API GC ====
 +<WRAP 97% right>
 S API se komunikuje výhradně ve formátu JSON. Pro zpracování odpovědí existuje v GeoGetu parser, po jeho vložení S API se komunikuje výhradně ve formátu JSON. Pro zpracování odpovědí existuje v GeoGetu parser, po jeho vložení
  
Line 296: Line 302:
 end; end;
 </code> </code>
 +</WRAP> 
 +<WRAP clear></WRAP>
  
  
Line 433: Line 440:
  
 ===== Práce s regulárním výrazy ===== ===== Práce s regulárním výrazy =====
-Regulární výrazy používají [[http://regexpstudio.com/TRegExpr/Help/RegExp_Syntax.html|syntaxi podobnou Perlu]].+Regulární výrazy používají [[https://regex.sorokin.engineer/en/latest/regular_expressions.html|syntaxi podobnou Perlu]].
  
 <code delphi>function RegexFind(const ARegExpr, AInputStr: string): boolean;</code> <code delphi>function RegexFind(const ARegExpr, AInputStr: string): boolean;</code>
Line 522: Line 529:
 <code delphi>procedure GeoDBSelect(Value: string);</code> <code delphi>procedure GeoDBSelect(Value: string);</code>
   * 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í! <sup>2.2.5</sup>   * 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í! <sup>2.2.5</sup>
 +  * <wrap important></wrap> dojde k vymazání obsahu Busy dialogu
 +
  
 ===== Práce s atributy ===== ===== Práce s atributy =====
user/skripty/functions.txt · Last modified: 2022/06/02 12:43 by geby