Promotic
WikipediaLinkedInYoutubeTwitterFacebook

ReadFromWeb - metoda objektu PmaDataTable

Popis:
Čtení dat z Web serveru v XML formátu do tohoto objektu.
Syntaxe:
Boolean ReadFromWeb(String URL, String sParam)
Parametry:
URL(String) URL adresa dat Web serveru, kde jsou umístěna XML data. Aplikace PROMOTIC jako Web server tato data standardně nabízí na cestě (viz karta "PmaDataTable > 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 jako NázevPočítače lze zadat slovo localhost. Port není potřeba zadávat, pokud je Web server na standardním portu 80.

Komunikace funguje i se zabezpečeným WEB serverem na adrese https://....

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

Tato metoda není funkční pro PmFree.

 
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 tom případě z jiného ale stejně nakonfigurovaného objektu PmaDataTable 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 však způsobí že se vyvolá událost onEndOfTransfer. V době přenášení dat (tzn. v době po volání metody ReadFromWeb a předtím než je vyvolána událost onEndOfTransfer) nelze nad objektem volat znovu metodu ReadFromWeb ani metodu WriteToWeb - tehdy metoda vrací hodnotu false. Pomocí vlastnosti WebClientIsReady lze zjistit, zda je objekt připraven na další přenášení.

 
Klient nemůže změnit svůj počet dat metodou ReadFromWeb - například tak, že by přečetl více dat než je nastaveno. 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 obsahující číselnou hodnotu 0 nebo prázdný řetězec "". 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:
JavaScriptVBScriptVyber a zkopíruj do schránky

var oDataTable = pMe.Pm("/DataTable");
if (oDataTable.WebClientIsReady)
oDataTable.ReadFromWeb("http://NázevPočítače:Port/IdKomponenty/data.xml?fmt=purevalue", "user:oper;psw:ABCD;");
else
Pm.Debug("Web klient PARAM is not ready (is still active)");
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice