Update cookies preferences
Promotic

Insert - metoda obiektu PmArray

Opis:
Doda jedną lub więcej pozycji/wierszy do tablicy. Tablica zostanie powiększona o dodane pozycje/wiersze.
Składnia:
Empty Insert(Long nPos, Variant vValues, [Long nType])
Parametry:
nPos(Long) Indeks pozycji/wiersza do dodania. Istniejąca pozycja/wiersz o danym indeksie oraz kolejne następne zostaną przesunięte za dodawane pozycje. Można również podać indeks pierwszej, jeszcze nieistniejącej pozycji/wiersza na końcu tablicy, wtedy pozycje/wiersze zostaną dodane na tą pozycję na końcu tablicy.
Wartość -2 oznacza dodanie na koniec.
vValues(Variant) Reprezentuje wartości pozycji/wierszy do dodania lub ich liczbę. Znaczenie zależy od parametru nType. oraz również od typu tablicy (tablica 1-wymiarowa lub tablica 2-wymiarowa).
nType[opcjonalne] (Long) Parametr określa znaczenie parametru vValues.
0 (domyślnie) - Doda zawsze 1 pozycję/wiersz i ustawi wartości z parametru vValues.
Dla tablicy 1-wymiarowej parametr vValues może zawierać dowolną wartość i zostanie ona dodana jako pojedynczy wpis.
Dla tablicy 2-wymiarowej parametr vValues musi zawierać pojedynczy wiersz (tablica 1-wymiarowa). a ten zostanie dodany jako pojedynczy wiersz. Rozmiar dodawanej tablicy musi być równy liczbie kolumn tablicy.
1 - Doda kilka pozycji/wierszy jednocześnie i ustawi wartości z parametru vValues.
Dla tablicy 1-wymiarowej, parametr vValues musi zawierać tablica 1-wymiarowa z pozycjami.
Dla tablicy 2-wymiarowej, parametr vValues musi zawierać tablica 2-wymiarowa z wierszami. Ilość kolumn dodanej tablicy musi być równa liczbie kolumn tablicy.
2 - Doda jedną lub kilka pozycji/wierszy i pozycjom ustawi puste wartości (undefined).
Dla tablicy 1-wymiarowej, parametr vValues musi zawierać liczbę określającą ilość dodawanych pustych pozycji.
Dla tablicy 2-wymiarowej, parametr vValues musi zawierać liczbę określającą ilość dodawanych pustych wierszy.
Notatka:
Metoda Insert umożliwia dodawanie pozycji na początek, na koniec oraz w dowolne miejsce istniejącej tablicy a metoda Remove umożliwia usuwanie pozycji od początku, końca oraz dowolnego miejsca istniejącej tablicy.
 
Metoda ta jest jednak bardzo powolna w przypadku dużych tablic i nie nadaje się do szybkiego automatycznego przetwarzania tablic danych. Lepiej wcześniej zadeklarować większy rozmiar tablicy i po jego wypełnieniu wartościami usunąć puste elementy przy pomocy metody Remove. Patrz Przykład2.
 
W przypadku tablicy 2-wymiarowej konieczne jest przestrzeganie zasady prawidłowej kolejności wymiarów tablicy (kolumny, wiersze). Patrz (Col,Row) - tablica 2-wymiarowa mniemana jako tablica wierszy.

Metoda ta działa także w Web panelach.
Przykład1:
Doda tablicę a2 do tablicy a1 na pozyję 2
JavaScriptWybierz oraz skopiuj do schowka

var a1 = Pm.Array1(0, 10, 20, 30);
var a2 = Pm.Array1(12, 13, 14);
a1.Insert(2, a2, 0);   // Wynik: (0, 10, (12, 13, 14), 20, 30)
// lub
a1.Insert(2, a2, 1);   // Wynik: (0, 10, 12, 13, 14, 20, 30)
Przykład2:
Doda trzy puste pozycje na koniec tablicy 1-wymiarowej (undefined)
JavaScriptWybierz oraz skopiuj do schowka

var a1 = Pm.Array1(0, 10, 20, 30);
a1.Insert(-2, 3, 2);   // Wynik: (0, 10, 20, 30, , , )
Przykład3:
Włoży wiersz do tablicy 2-wymiarowej
JavaScriptWybierz oraz skopiuj do schowka

var a1 = Pm.CreatePmArray(2, 2, 3);
a1.SetItem(1, 0, 0);
a1.SetItem(11, 1, 0);
a1.SetItem(2, 0, 1);
a1.SetItem(22, 1, 1);
a1.SetItem(3, 0, 2);
a1.SetItem(33, 1, 2);

var a2 = Pm.Array1(9, 99);

// Włoży wiersz do tablicy 2-wymiarowej
// na początek
a1.Insert(0, a2, 0);

// Doda tablicę a2 do tablicy a1 na pozyję 2
a1.Insert(2, a2, 0);

// na koniec
a1.Insert(-2, a2, 0);

// 3 wiersze z pustymi wartościami na pozycji 2
a1.Insert(2, 3, 2);
Przykład4:
Wstawi inną tablicę 2-wymiarową do tablicy 2-wymiarowej
JavaScriptWybierz oraz skopiuj do schowka

var a1 = Pm.CreatePmArray(2, 2, 3);
a1.SetItem(1, 0, 0);
a1.SetItem(11, 1, 0);
a1.SetItem(2, 0, 1);
a1.SetItem(22, 1, 1);
a1.SetItem(3, 0, 2);
a1.SetItem(33, 1, 2);

var a2 = Pm.CreatePmArray(2, 2, 2);
a2.SetItem(9, 0, 0);
a2.SetItem(99, 1, 0);
a2.SetItem(8, 0, 1);
a2.SetItem(88, 1, 1);

// Wstawi inną tablicę 2-wymiarową do tablicy 2-wymiarowej
// na początek
a1.Insert(0, a2, 0);

// na pozycji 2
a1.Insert(2, a2, 0);

// na koniec
a1.Insert(-2, a2, 0);

Historia:
Pm9.00.29:
- Dodano wsparcie dla dodawania wierszy do tablice 2-wymiarowej.
- Nowa opcja 2 w parametrze nType umożliwiająca dodanie pustej pozycji/wiersza.
Pm9.00.04: Wytworzono
© MICROSYS, spol. s r.o.