Ovladač slouží ke komunikaci s libovolným HTTP
serverem.
Seznam sekcí: - Činnost ovladače
- Parametry ovladače
- Kanály ovladače
- Procedury ovladače
- Zpracování a stavy výjimek ovladače
- Chybové kódy
Činnost ovladače
Ovladač se připojí na požadované URL a prostřednictvím řetězců
vrací do aplikace obsah dané HTML stránky. Ke komunikaci s HTTP
serverm používá metody Get a Post. O průběhu spojování a
komunikace se serverem se aplikace dozví prostřednictvím výjimek
od ovladače. Výjimky se řadí do fronty a aplikace si je může
postupně zpracovávat. Data se do aplikace přenášejí jako textové
řetězce.
Parametry ovladače
Ovladač se konfiguruje pomocí souboru parametrů, který se
načítá při spouštění aplikace. Je to textový soubor, který je
možno upravovat běžným textovým editorem. Parametry mohou být
rozděleny do několika skupin - sekcí. Každá sekce má svoje jméno
uvedené v hranatých závorkách a dále seznam několika parametrů
tvořených jménem parametru oddělovacím znakem (rovnítko) a jednou
nebo více hodnotami parametru.
Upozornění: U zápisu názvu sekcí a parametrů záleží na způsobu
psaní velkých a malých písmen.
Parametry pro základní nastavení ovladače — sekce [Settings]
Tato sekce obsahuje parametry, které slouží ke konfiguraci
ovladače z hlediska komunikace. Způsob zápisu parametrů a
jejich možné hodnoty:
AccessType | určuje typ požadovaného přístupu. Může mít jednu z
následujících hodnot: DIRECT - řeší
všechna jména hostitele na lokální úrovni. PRECONFIG
- získá konfiguraci s registrační databáze. NOAUTOPROXY
- získá konfiguraci z registrační databáze a zabrání použití
JScript nebo INS souborů. PROXY - předává
požadavky do proxy s použítím proxy bypass seznamu. | ProxyName | zadává jméno proxy serveru | ProxyBypass | seznam jmen nebo IP adres hostitelů, kteří by neměli být
směrováni přes proxy. |
Tyto parametry nejsou povinné. Parametr AccessType
je implicitně nastaven na hodnotu DIRECT.
Kanály ovladače
Ovladač v současné době nemá žádné kanály.
Procedury ovladače
Aplikace může volat ovladači určité procedury, pomocí nichž je
možno řídit chování ovladače nebo získat důležité informace. To se
děje prostřednictvím systémové procedury:
core.DriverQueryProc( DriverName : string; Param1 : any; &Param2 : any );
Její parametry mají následující význam:
DriverName je symbolické jméno ovladače,
definované v aplikaci.
Param1 slouží k zadání povelu (jména
procedury ovladače).
Param2 je použit jako parametr nebo návratová
hodnota.
Přehled a význam jednotlivých procedur ovladače (parametr Param1)
- GetVersion
-
Vrací v Param2 řetězec popisující jméno a verzi ovladače.
Param2 je typu string.
- GetMajorVersion
-
Vrací v Param2 řetězec popisující jméno a verzi ovladače.
Param2 je typu string.
- GetMinorVersion
-
Vrací vyšší slovo verze produktu Control Web. Param2 je libovolného číselného typu.
- GetAPIMajorVersion
-
Vrací nižší slovo verze produktu Control Web. Param2 je libovolného číselného typu.
- GetAPIMinorVersion
-
Vrací nižší slovo verze API produktu Control Web. Param2 je libovolného číselného typu.
- EnableException
-
Voláním této procedury se povolí další výjimka od
ovladače. Param2 nemá žádný význam.
- GetExceptionError
-
Vrací číslo chyby právě zpracovávané výjimky ovladače.
Param2 je libovolného číselného typu
- GetExceptionStatus
-
Vrací kód právě zpracovávané výjimky ovladače. Param2 je
libovolného číselného typu.
- ConnectUrl
-
Procedura slouží k navázání spojení s požadovanou URL.
Param2 je řetězec s URL. Pozavolání této procedury je možno
číst nebo zapisovat data na HTTP server (procedury Get
a Post). Po ukončení těchto operací by se měla
zavolat procedura Disconnect
- Disconnect
-
Procedura zruší spojení s HTTP serverem. Param2 nemá
význam.
- SetHttpVersion
-
Pomocí této procedury se nastavuje verze HTTP protokolu
pro spojení. Hodnoty parametru Param2 jsou 0 pro verzi HTTP
1.0 nebo 1 pro verzi HTTP 1.1
- SetUrl
-
Procedura umožní nastavit novou URL pro příkaz Get.
Spojení se serverem vytvořené pomocí procedury ConnectUrl
může zůstat zachováno.
- Get
-
Procedura načte data z připojeného serveru. Param2 je
volitelná část povelu. Je typu string a může obsahovat data,
která budou zapsána do serveru.
- Post
-
Procedura pošle data do připojeného serveru. Param2 je
typu string a obsahuje data povelu, která budou zapsána do
serveru.
- GetStatusCode
-
Procedura vrátí HTTP status proběhlé operace. Param2 je
číselného typu.
- GetDataFileLength
-
Procedura vrací v Param2 velikost datového souboru na
dané URL.
- ReadLine
-
Procedura vrací v Param2 typu string jeden řádek,
přečtený z datového souboru. Čtení řádků probíhá
sekvenčně.
- ReadItem
-
Procedura vrací v Param2 typu string jednu položku
přečtenou z datového souboru. Čtení položek probíhá
sekvenčně. Položky jsou podřetězce oddělené některým ze
znaků mezera, CR, LF.
- QuitOnEndHtml
-
Procedura nastavuje způsob ukončení komunikace s HTTP
serverem. Param2 je typu boolean a hodnota true způsobí
ukončení čtení stránky při nalezení odpovídající položky
(</html>). Zadání hodnoty false,
popřípadě není-li procedura zavolaná způsobí čtení až do
konce souboru. Tato procedura se musí volat bezprostředně po
volání procedury ConnectUrl pro každé spojení
zvlášť.
Zpracování a stavy výjimek ovladače
Při vzniku události v ovladači vznikne výjimka, kterou ovladač
může předat do aplikace. V aplikaci musí být definován objekt
(virtuální přístroj), který má definován parametr driver_exception
resp. activity — driver se
symbolickým jménem tohoto ovladače. V tomto případě je takový
přístroj výjimkou aktivován. V rámci jeho činnosti je třeba
zavolat proceduru ovladače EnableException. Tím se
povolí vyvolání další výjimky, jakmile nastane nebo pokud není
fronta výjimek prázdná. Voláním procedury GetExceptionStatus
je možno zjistit stav výjimky.
Kódy pro stavy výjimek ovladače
Tato sekce obsahuje parametry, které slouží ke konfiguraci
ovladače z hlediska komunikace. Způsob zápisu parametrů a
jejich možné hodnoty:
0 | stNone — žádná výjimka od
ovladače | 1 | stConnect — výjimka
signalizuje spojení s požadovanou URL. | 2 | stGetComplete — výjimka
signalizuje dokončení operace Get. | 3 | stPostComplete — výjimka
signalizuje dokončení operace Post. |
Chybové kódy
erOK = 0
erTimeout = 1
erValue = 2
Další možné chybové kódy jsou definovány protokolem
HTTP.
|