Files
Patryk Gensch 198d9cf477 Finished automatically generated docs
Time to correct it by itself
2026-05-20 22:49:46 +02:00

3.2 KiB

DATABASE

Baza danych w postaci tabeli — zbiór wierszy o jednolitym schemacie. Schemat definiuje powiązana zmienna STRUCT: jej pole FIELDS wyznacza kolumny tabeli oraz typy danych w poszczególnych kolumnach.

Dostęp do wierszy realizowany jest sekwencyjnie poprzez kursor. Bieżąca pozycja kursora jest zmieniana metodami SELECT (bezpośrednio na indeks), NEXT (kolejny wiersz) i FIND (po wartości w kolumnie). Dane zapisywane są w plikach .DTA w formacie z separatorem | — można je ładować (LOAD) i zapisywać (SAVE).

Pola

MODEL

STRING MODEL

Nazwa zmiennej typu STRUCT definiującej schemat bazy. Pole obowiązkowe — metoda LOAD wymaga, by schemat został wcześniej zsynchronizowany ze STRUCT.

Metody

FIND

INTEGER FIND(STRING columnName, mixed columnValue, INTEGER defaultIndex)

Wyszukuje pierwszy wiersz, w którym kolumna o nazwie columnName ma wartość columnValue. Zwraca jego indeks lub defaultIndex, jeżeli żaden wiersz nie pasuje.

Parametry

  • columnName — nazwa przeszukiwanej kolumny.
  • columnValue — szukana wartość.
  • defaultIndex — indeks zwracany, jeżeli nie znaleziono dopasowania.

Zwraca: INTEGER — indeks znalezionego wiersza lub defaultIndex.

Przykłady

DBOBJECTS^FIND("IDNAME",VARSTAKENAME,0);
DBOBJECTS^FIND("TYPE",102,0);
DBDIALOGI^FIND("ID",SDIALOGNAME,IDIALOGINDEKS);

GETROWSNO

INTEGER GETROWSNO()

Zwraca liczbę wierszy w bazie.

Zwraca: INTEGER — liczba wierszy.

Przykłady

DBOBJECTS^GETROWSNO();

LOAD

void LOAD(STRING dtaName)

Ładuje zawartość bazy z pliku .DTA. Każda linia pliku to jeden wiersz; kolumny w wierszu rozdzielone są znakiem |. Wywołanie metody bez wcześniej zdefiniowanego schematu (MODEL) jest przerywane z komunikatem błędu.

Parametry

  • dtaName — ścieżka do pliku .DTA.

Przykłady

DBOBJECTS^LOAD(VARSCURRARCADE);
DBITEMS^LOAD("$COMMON\ITEMS0.DTA");

NEXT

void NEXT()

Przesuwa kursor do kolejnego wiersza.

Przykłady

DBSCENE^NEXT();

REMOVEALL

void REMOVEALL()

Usuwa wszystkie wiersze z bazy. Schemat (MODEL) pozostaje bez zmian.

Przykłady

DBITEMS^REMOVEALL();

SAVE

void SAVE(STRING dtaName)

Zapisuje aktualną zawartość bazy do pliku .DTA w tym samym formacie, którego oczekuje LOAD (wiersze rozdzielone znakiem nowej linii, kolumny — znakiem |).

Parametry

  • dtaName — ścieżka docelowego pliku .DTA.

Przykłady

DBOBJECTS^SAVE(VARSCURRARCADE);
DBLEVEL^SAVE(["$COMMON\SAVE_BD\BD_CLEV"+VARIACTIVESLOT+".FLD"]);

SELECT

void SELECT(INTEGER rowIndex)

Ustawia kursor na wiersz o podanym indeksie (liczonym od zera).

Parametry

  • rowIndex — indeks docelowego wiersza.

Przykłady

DBOBJECTS^SELECT(0);
DBOBJECTS^SELECT(VARITER);

Sygnały

ONINIT

Wywoływany w momencie inicjalizacji obiektu.

ONSIGNAL

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