Files
Rex-EMoolator-docs/docs/pl/reference/GROUP.md
Patryk Gensch 198d9cf477 Finished automatically generated docs
Time to correct it by itself
2026-05-20 22:49:46 +02:00

3.5 KiB

GROUP

Grupa zmiennych, do której można wysyłać zbiorowe wywołania metod. Każda metoda wywołana na obiekcie typu GROUP — która nie należy do własnego API grupy — jest delegowana do każdego elementu po kolei. Jeżeli dany element nie implementuje wywołanej metody, jest pomijany cicho (bez błędu).

Grupa utrzymuje wewnętrzny marker wskazujący jeden z elementów. Pozycja markera jest modyfikowana metodami NEXT, PREV i RESETMARKER. Markerem można posłużyć się do sekwencyjnego przechodzenia po elementach grupy.

Wartość zmiennej (value) typu GROUP to liczba elementów w grupie.

Metody

[nazwa metody]

void <methodName>(mixed param1, ..., mixed paramN)

Każda metoda spoza własnego API grupy jest delegowana do wszystkich elementów grupy z tymi samymi argumentami. Elementy, które nie implementują takiej metody, są pomijane.

Przykłady

GRPHIDE^HIDE();
GRPMOVE^SETPOSITION(VARX,VARY);

ADD

void ADD(STRING varName1, [STRING varName2, ...])

Dodaje do grupy jeden lub więcej elementów po nazwie zmiennej. Próba ponownego dodania elementu już obecnego w grupie jest ignorowana.

Parametry

  • varName1, varName2, … — kolejne nazwy zmiennych do dodania.

Przykłady

GRPHIDE^ADD("ANNREX");
GRPMOVE^ADD("ANNBODY1","ANNWAND1","ANNHEAD1");
GALL^ADD(["ANNPOLA_"+ICLONENO]);

ADDCLONES

void ADDCLONES(STRING varName, INTEGER firstCloneIndex, INTEGER lastCloneIndex)

Dodaje do grupy zakres klonów zmiennej — od firstCloneIndex do lastCloneIndex włącznie. Klony są referencjami po nazwie wygenerowanej według wzorca silnika (sufiks indeksu).

Parametry

  • varName — nazwa zmiennej bazowej.
  • firstCloneIndex — indeks pierwszego klona.
  • lastCloneIndex — indeks ostatniego klona.

Przykłady

GBKG^ADDCLONES("ANNPLANNAK",0,[I1-1]);
GTRASA^ADDCLONES("ANNSKRZYNIA",1,ITMPCLONENO);
GRPLANS^ADDCLONES("IMGPLAN1",1,10);

GETSIZE

INTEGER GETSIZE()

Zwraca liczbę elementów w grupie.

Zwraca: INTEGER — rozmiar grupy.

Przykłady

GRPHIDE^GETSIZE();

NEXT

mixed NEXT()

Przesuwa marker o jedno w prawo (do następnego elementu, ograniczony wartością ostatniego indeksu) i zwraca referencję do elementu wskazywanego po przesunięciu.

Zwraca: referencja do elementu pod nowym markerem.

Przykłady

GENEMIES^NEXT();
GBAZUK^NEXT();

PREV

mixed PREV()

Przesuwa marker o jedno w lewo (do poprzedniego elementu, ograniczony zerem) i zwraca referencję do elementu pod nowym markerem.

Zwraca: referencja do elementu pod nowym markerem.

REMOVE

void REMOVE(STRING varName)

Usuwa z grupy element o podanej nazwie. Jeżeli marker wskazywał na element poza nowym zakresem, zostaje przesunięty na ostatni dostępny element (lub -1, jeśli grupa stała się pusta).

Parametry

  • varName — nazwa zmiennej do usunięcia.

Przykłady

GOBJ^REMOVE(S1);
GOBJ^REMOVE("ANNTNTR");

REMOVEALL

void REMOVEALL()

Czyści grupę z wszystkich elementów i resetuje marker.

Przykłady

GRPHIDE^REMOVEALL();

RESETMARKER

void RESETMARKER()

Ustawia marker na pierwszy element grupy (indeks 0). Dla pustej grupy marker przyjmuje wartość -1.

Przykłady

GENEMIES^RESETMARKER();

Sygnały

ONINIT

Wywoływany w momencie inicjalizacji obiektu.

ONSIGNAL

Wywoływany po otrzymaniu sygnału (zobacz Zdarzenia i sygnały).