Promotic
WikipediaLinkedInYoutubeTwitterFacebook

ReadFromWeb - metoda objektu PmDataTable

Popis:
Čtení dat z WEB serveru v podobě XML do tohoto objektu.
Syntaxe:
ReadFromWeb(URL As String, sParam As String) As Boolean
Volání:
b = oDataTable.ReadFromWeb("http://NázevPočítače/IdKomponenty/data.xml?fmt=purevalue", sParam)
Parametry:
URL(String) URL adresa dat Web serveru, kde jsou umístěna XML data. PROMOTIC aplikace jako Web server tato data standardně nabízí na cestě (viz záložka PmDataTable > Web Server):
http://NázevPočítače:Port/IdKomponenty/data.xml?fmt=purevalue

Upozornění! Začátek adresy ("http:") se musí zadat! Pokud chcete zadat adresu lokálního počítače, pak lze zadat jako NázevPočítače slovo localhost. Port není potřeba zadávat, pokud je WEB server na standardním portu 80.

sParam(String) Dodatečné parametry přenosu. Je to text ve tvaru například "user:NAME1;psw:PASSWORD1;". Pokud není nutné použít žádný parametr, lze zadat prázdný text "".
user - Jméno uživatele pro autentizaci. Viz oprávnění WebRead na straně serveru. Jestliže tento parametr není zadán a je vyžadována autentizace, pak se událost onEndOfTransfer vyvolá s chybou pEvent.Error=40.
psw - Heslo uživatele pro autentizaci. Tento parametr je ignorován, pokud parametr user není zadán.
Vrácená hodnota:
true - Metoda úspěšně zařadila požadavek na čtení dat ze serveru. Po přenosu dat se vyvolá událost onEndOfTransfer.
false - Metoda nezařadila požadavek na čtení. Pravděpodobně ještě nebyla dokončena předchozí žádost o vysílání/příjmu tohoto objektu. Událost onEndOfTransfer se nevyvolá.
Poznámka:

Tím, že se nad objektem volá metoda ReadFromWeb, považuje se tento objekt za Web klient, který čte data z komponenty Web serveru, v tomto případě z jiného ale stejně nakonfigurovaného objektu PmDataTable v jiné aplikaci na stejném nebo jiném počítači.

Metoda dá jen podnět k přenosu dat, ale není vůbec zaručeno, že po ukončení této metody jsou již data přenesena. Konec přenosu dat je oznámen událostí onEndOfTransfer. V době přenášení dat (tzn. v době po vyvolání metody ReadFromWeb a před vyvoláním události onEndOfTransfer) nelze nad objektem volat znovu metodu ReadFromWeb ani metodu WriteToWeb - tehdy metoda vrátí hodnotu false. Pomocí vlastnosti WebClientIsReady lze zjistit, zda je objekt připraven na další přenášení.

 
Metodou ReadFromWeb klient nemůže změnit svůj počet dat - například tak, že by přečetl více dat než je nakonfigurováno. Pokud je toto požadováno, pak tuto změnu musí nejdřív klient provést sám - viz popis v kapitole Sdílení XML dat.
 
Sloupce "Jen pro čtení" (ReadOnly): Každá buňka je na začátku prázdná. Za prázdnou se považuje i buňka s číselnou hodnotou 0, prázdným řetězcem "". Do takové buňky lze zapsat novou hodnotu. Po zápisu neprázdné nenulové hodnoty ve sloupci "Jen pro čtení" dochází k "zamčení buňky". "Zamčená buňka" se stane konstantou, nelze už do ní psát. Do ostatních "nezamčených" buněk však lze dále psát. U metod, které zapisují do více buněk, se zapíše pouze do "nezamčených buněk", obsah "zamčených buněk" zůstane beze změny.
Příklad:
Dim oData
Set oData = pMe.Pm("Data/Param1")
If oData.WebClientIsReady Then
  oData.ReadFromWeb "http://localhost/param/data.xml?fmt=purevalue", "user:oper;psw:ABCD;"
Else
  Pm.Debug "Object Data/Param1 is not ready (Web is still active)"
End If
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice