Promotic

Objekt PmArray (Pole hodnot)

Popis:
Objekt představuje pole hodnot. Tento objekt se používá ve skriptech v jazyce JavaScript.
Vlastnosti a metody:
Array1()Vytvoří a naplní 1-rozměrné pole hodnotami
Create()Vytvoří 1- nebo 2-rozměrné pole
Filter()Umožňuje filtrovat 1-rozměrné pole
GetDim()Rozměr pole
GetItem()Vrací položku pole
GetSize()Vrací velikost pole v daném rozměru
GetSubArray()Vytvoří 1-rozměrné pole hodnot ze zvolených datových položek 2-rozměrného pole
Insert()Přidá jednu nebo více položek do pole
Remove()Odstraní jeden nebo více položek z pole
SetItem()Nastaví hodnotu v položce pole
SetSubArray()Přiřazení 1-rozměrného pole hodnot zvoleným datovým položkám 2-rozměrného pole
LoadFromVbArray()Naplní PmArray pole kopií z VBScript pole
SaveToVbArray()Vrací kopii PmArray pole jako VBScript pole
Sort()Třídění pole
Poznámka:
- Objekt lze vytvořit metodou Pm.CreatePmArray.
- Tento objekt je funkční i ve Web obrazech.


V JavaScript obrazech aplikace PROMOTIC nelze využívat standardní pole jazyka VBScript ani jazyka JavaScript (viz Datové typy jazyka). V těchto obrazech všechny vlastnosti a metody používají pole PmArray - viz Jak pracovat s polem hodnot v systému PROMOTIC.
Porovnání objektů pro držení hodnot:
Následující typy objektů jsou určené k držení hodnot (libovolného datového typu). Každý z těchto objektů má své výhody a nevýhody a volba závisí na požadovaném používání.
PmArray: Tento objekt obsahuje hodnoty, které jsou přístupné indexem do pole - lze tedy kdykoli přečíst jakoukoli hodnotu v tomto objektu. Čtení a zápis hodnoty je velmi rychlé, přidávání hodnot je však pomalé.
Tento objekt je funkční pouze pro jazyk JavaScript, pro jazyk VBScript je pole v podobě datového typu Array.
PmMap: Tento objekt obsahuje hodnoty, které jsou přístupné svým názvem (textovým identifikátorem). Názvy těchto hodnot představují vlastnosti objektu. Výhoda je, že díky názvům je kód ve skriptu "čitelnější". Nevýhoda je, že nelze přistupovat k hodnotám v cyklu, kdy je potřeba získávat hodnoty pomocí indexu.
PmBuffer: Tento objekt obsahuje binární hodnoty v datovém bloku. Pro čtení/zápis jednotlivé hodnoty je nutno znát její pozici (offset) v datovém bloku a také její datový typ (velikost).
Příklad1:
Vytvoří a naplní 1-rozměrné pole:
JavaScriptVyber a zkopíruj do schránky

var arr = Pm.CreatePmArray(1, 4);
arr.SetItem(10, 0);
arr.SetItem(20, 1);
arr.SetItem(30, 2);
arr.SetItem(10, 3);
Příklad2:
Vytvoří a naplní 2-rozměrné pole:
JavaScriptVyber a zkopíruj do schránky

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);
Příklad3:
Vyčte hodnoty 2-rozměrného pole:
JavaScriptVyber a zkopíruj do schránky

var arr = pMe.PmPanel.Methods().GetDataArray();
var nCol = arr.GetSize(1);   // Viz (Col,Row) - 2-rozměrné pole s významem pole řádků
var nRow = arr.GetSize(2);
for (iCol = 0; iCol < nCol; iCol++)
{
for (iRow = 0; iRow < nRow; iRow++)
{
var val = arr.GetItem(iCol, iRow);
}
}

Historie:
Pm9.00.25: Nové metody GetSubArray a SetSubArray pro čtení/zápis řádku/sloupce 2-rozměrného pole.
Pm9.00.04: Nové metody Insert a Remove pro přidání a ubrání položky v poli.
Pm8.02.00: Vytvořeno
© MICROSYS, spol. s r.o.