Promotic
Zalogowanie logon

ReadFromWeb - metoda obiektu PmaDataTable

Opis:
Odczyt danych ze serwera webowego w formacie XML do tego obiektu.
Składnia:
Boolean ReadFromWeb(String URL, String sParam)
Parametry:
URL(String) Adres URL danych serwera webowego, gdzie znajdują się dane XML. Aplikacja PROMOTIC w funkcji serwera webowego takie dane zazwyczaj oferuje w ścieżce (patrz karta "PmaDataTable > Serwer webowy"):
http://NazwaKomputera:Port/IdKomponentu/data.xml?fmt=purevalue

Uwaga! Początek adresu ("http:") musi zostać wprowadzony! Jeżeli chcesz wprowadzić adres komputera lokalnego, wtedy jako NazwaKomputera można wprowadzić słowo localhost. Nie jest konieczne określenie Port, jeżeli serwer webowy działa pod standardowym portem 80.
Komunikacja działa również z zabezpieczonym Web serwerem pod adresem https://...
sParam(String) Dodatkowe parametry transmisji.
Jest to tekst w formie na przykład "fmt:purevalue;user:NAME1;psw:PASSWORD1;".
Jeżeli nie jest konieczny żaden parametr, wtedy można wprowadzić pusty łańcuch "".
user - Nazwa użytkownika do uwierzytelniania. Patrz uprawnienie "WebRead" na serwerze.
Jeżeli nie jest ustawione oraz jest wymagane uwierzytelnianie, wtedy zostanie wywołane zdarzenie onEndOfTransfer z błędem pEvent.Error=62.
psw - Hasło użytkownika do uwierzytelniania.
Parametr ten jest ignorowany, jeżeli nie jest określony parametr user.
Wartość zwrotna:
true - Metoda pomyślnie zaszeregowała wymóg do odczytu danych z serwera. Po transmisji danych zostanie wywołane zdarzenie onEndOfTransfer.
false - Metoda nie zaszeregowała wymóg do odczytu danych. Prawdopodobnie jeszcze nie został zakończony poprzedni wymóg wysłania/odczytu danych tego obiektu. Zdarzenie onEndOfTransfer nie zostanie wywołane.
Notatka:
Metoda ta nie działa w PmFree.

Przez wywołanie metody ReadFromWeb nad obiektem obiekt ten staje się Web klientem, który odczytuje dane z komponentu serwera webowego - w tym przypadku z innego lecz zgodnie ustawionego obiektu PmaDataTable w innej aplikacji na tym samym lub na innym komputerze.
Metoda tylko zainicjuje transmisję danych, lecz nie jest zapewnione, że po skończeniu tej metody dane zostaną już przeniesione. Koniec transmisji danych jest oznajmiony przez zdarzenie onEndOfTransfer. Podczas transmisji danych (tzn. w czasie po wywołaniu metody ReadFromWeb i przed tym zanim zostanie wywołane zdarzenie onEndOfTransfer) nad obiektem nie można ponownie wywołać metodę ReadFromWeb ani metodę WriteToWeb - w tym przypadku metoda zwraca wartość false. Przy pomocy właściwości WebClientIsReady można stwierdzić, czy obiekt jest przygotowany do kolejnej transmisji.

Klient nie może zmienić swojej liczby danych przy pomocy metody ReadFromWeb - na przykład tak, że klient odczytałby więcej danych, niż jest ustawione. Jeżeli istnieje taki wymóg, wtedy takiej zmiany musi dokonać najpierw sam klient - patrz opis w rozdziale Współdzielenie danych XML.

Kolumny "Tylko do odczytu" (ReadOnly): Każda komórka jest na początku pusta. Pustą komórką jest również komórka z wartością 0 lub pustym łańcuchem "". Do takiej komórki można wpisać nową wartość.
Po zapisie niepustej niezerowej wartości w kolumnie "Tylko do odczytu" dojdzie do "zamknięcia komórki". "Zamknięta komórka" stanie się stałą, bez możliwości zapisu.
Do pozostałych "niezamkniętych" komórek można nadal zapisywać. W przypadku metod, które umożliwiają zapis do większej liczby komórek równocześnie, zostanie wykonany zapis tylko do "niezamkniętych komórek", zawartość "zamkniętych komórek" pozostanie bez zmian.
Przykład:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var oDataTable = pMe.Pm("/DataTable");
if (oDataTable.WebClientIsReady)
{
oDataTable.ReadFromWeb("http://NazwaKomputera:Port/IdKomponentu/data.xml?fmt=purevalue", "user:oper;psw:ABCD;");
}
else
{
Pm.Debug("Klient webowy PARAM is not ready (is still active)");
}
© MICROSYS, spol. s r.o.Update cookies preferences