Promotic
WikipediaLinkedInYoutubeTwitterFacebook

WriteToWeb - metoda objektu PmData

Popis:
Poslání hodnot proměnných (viz záložka "Data") tohoto objektu do PROMOTIC WEB serveru v podobě XML.
Syntaxe:
WriteToWeb(URL As String, sParam As String) As Boolean
Volání:
oData.WriteToWeb "http://NázevPočítače/IdKomponenty/data.xml", sParam
Parametry:
URL(String)

URL adresa dat Web serveru, kam se mají XML data poslat. PROMOTIC aplikace jako Web server tato data standardně nabízí na cestě (viz záložka PmData > Web Server):

http://NázevPočítače:Port/IdKomponenty/data.xml

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: "fmt:purevalue;user:NAME1;psw:PASSWORD1;".
fmt (povinné) - Pojmenovaný formát posílaných XML dat.
purevalue - Zkrácený textový formát obsahující pouze hodnoty oddělené středníkem. Tento formát je vhodný na posílání hodnot všech proměnných.
full - Rozšířený textový XML format obsahující hodnoty a názvy proměnných. Tento formát je vhodný na posílání hodnot vybraných proměnných (viz parametr vars).
user - Jméno uživatele pro autentizaci. Viz oprávnění WebWrite 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.
vars - Seznam názvů proměnných, které se mají zaslat. Tento parametr lze zadat jen když parametr fmt má hodnotu full.
Vrácená hodnota:
true - Metoda úspěšně zařadila požadavek na zaslání dat do serveru. Po přenosu dat se vyvolá událost onEndOfTransfer.
false - Metoda nezařadila požadavek na zaslání. 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 WriteToWeb, považuje se tento objekt za Web klient, který zapisuje do komponenty Web serveru, v tomto případě do jiného ale stejně nakonfigurovaného objektu PmData 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 WriteToWeb a před vyvoláním události onEndOfTransfer) nelze nad objektem volat znovu metodu WriteToWeb ani metodu ReadFromWeb - tehdy metoda vrátí hodnotu false. Pomocí vlastnosti WebClientIsReady lze zjistit, zda je objekt připraven na další přenášení.

 
Až do verze Pm8.2.7 měla metoda o dva parametry navíc a 2. parametr "sParam" měl jiný význam (2. parametr byl fmt, 3. parametr byl user a 4. parametr byl psw). Například

oData.WriteToWeb "http://NázevPočítače/IdKomponenty/data.xml", "purevalue", "User", "Password"

Tento způsob volání je však již zastaralý (i když pořád funkční).

Příklad1:
Zaslání hodnot všech proměnných
If oData.WebClientIsReady Then
  oData.WriteToWeb "http://localhost/temperatures/data.xml", "fmt:purevalue;user:oper;psw:abcd;"
Else
  ' WebClient is not ready (is still active)
End If
Příklad2:
Zaslání hodnot pouze vybraných proměnných temp1,v3,press
If oData.WebClientIsReady Then
  oData.WriteToWeb "http://localhost/boiler/data.xml", "fmt:full;vars:temp1,v3,press;user:oper;psw:abcd;"
Else
  ' WebClient is not ready (is still active)
End If
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice