Promotic

Obiekt PmArray (Tablica wartości)

Opis:
Obiekt przedstawia tablię wartości. Obiekt ten jest stosowany w skryptach w języku JavaScript.
Właściwości i metody:
Array1()Wytworzy i wypełnia 1-wymiarową tablicę (array) wartości
Create()Wytworzy tablicę 1- lub 2-wymiarową
Filter()Umożliwia filtrować tablicę 1-wymiarową
GetDim()Wymiar tablicy
GetItem()Zwraca pozycję tablicy
GetSize()Zwraca rozmiar tablicy dla danego wymiaru
GetSubArray()Wytworzy tablicę 1-wymiarową wartości z wybranych pozycji danych tablicy 2-wymiarowej
Insert()Doda jedną lub kilka pozycji do tablicy
Remove()Usunie jedną lub kilka pozycji z tablicy
SetItem()Ustawi wartość w pozycji tablicy
SetSubArray()Przyszeregowanie tablicy 1-wymiarowej wartości wybranym pozycjom danych tablicy 2-wymiarowej
LoadFromVbArray()Napełni tablicę PmArray kopią z tablicy VBScript
SaveToVbArray()Zwraca kopię tablicy PmArray jako tablicę VBScript
Sort()Sortowanie tablicy
Notatka:
- Obiekt można wytworzyć przy pomocy metody Pm.CreatePmArray.
- Obiekt ten działa również w Web panelach.


W JavaScript panelach aplikacji PROMOTIC nie można stosować standardowe tablice języka VBScript ani języka JavaScript (patrz Typy danych języka). W takich panelach wszystkie właściwości i metody stosują tablicę PmArray - patrz Jak pracować z tablicą wartości w systemie PROMOTIC.
Porównanie obiektów w celu trzymania wartości:
Następujące typy obiektów są przeznaczone do trzymania wartości (dowolnego typu danych). Każdy z tych obiektów ma swoje zalety oraz mankamenty a wybór jest zależny od wymaganego zastosowania.
PmArray: Obiekt ten zawiera wartości, które są dostępne indeksem do tablicy - czyli w dowolnej chwili można odczytać dowolną wartość w tym obiekcie. Odczyt oraz zapis wartości jest bardzo szybkie, dodanie wartości jest wszak wolne.
Obiekt ten działa tylko dla języka JavaScript, dla języka VBScript tablica jest w formie typu danych Array.
PmMap: Obiekt ten zawiera wartości, które są dostępne przy pomocy swej nazwy (identyfikator tekstowy). Nazwy tych wartości przedstawiają właściwości obiektu. Zaletą jest, że dzięki nazwom kod w skrypcie jest bardziej "zrozumiały". Mankamentem jest brak możliwości przystępowania do wartości w cyklu, kiedy należy pozyskiwać wartości przy pomocy indeksu.
PmBuffer: Obiekt ten zawiera wartości binarne w bloku danych. Dla zapisu/odczytu pojedyńczej wartości jest konieczne znać jej pozycję (offset) w bloku danych oraz również jej typ danych (wielkość).
Przykład1:
Wytworzy oraz napełni 1-wymiarową tablicę:
JavaScriptWybierz oraz skopiuj do schowka

var arr = Pm.CreatePmArray(1, 4);
arr.SetItem(10, 0);
arr.SetItem(20, 1);
arr.SetItem(30, 2);
arr.SetItem(10, 3);
Przykład2:
Wytworzy oraz napełni 2-wymiarową tablicę:
JavaScriptWybierz oraz skopiuj do schowka

var arr = Pm.CreatePmArray(2, 2, 3);
arr.SetItem(11, 0, 0);
arr.SetItem(12, 1, 0);
arr.SetItem(21, 0, 1);
arr.SetItem(22, 1, 1);
arr.SetItem(31, 0, 2);
arr.SetItem(32, 1, 2);
Przykład3:
Odczyta wartości tablicy 2-wymiarowej:
JavaScriptWybierz oraz skopiuj do schowka

var arr = pMe.PmPanel.Methods().GetDataArray();
var nCol = arr.GetSize(1);   // Patrz (Col,Row) - tablica 2-wymiarowa mniemana jako tablica wierszy
var nRow = arr.GetSize(2);
for (iCol = 0; iCol < nCol; iCol++)
{
for (iRow = 0; iRow < nRow; iRow++)
{
var val = arr.GetItem(iCol, iRow);
}
}

Historia:
Pm9.00.25: Nowe metody GetSubArray oraz SetSubArray do odczytu/zapisu wiersza/kolumny tablicy 2-wymiarowej.
Pm9.00.04: Nowe metody Insert oraz Remove do dodania lub usunięcia pozycji w tablicy.
Pm8.02.00: Wytworzono
© MICROSYS, spol. s r.o.