GlobalVariableCheck
Funkcja sprawdza czy istnieje zmienna globalna określona podaną nazwą wówczas funkcja zwraca true, w przeciwnym razie false.
Składnia:
bool GlobalVariableCheck( string name )
Parametry
name – nazwa zmiennej globalnej terminala
Wartość zwracana
true – jeśli istnieje
fale – jeśli nie istnieje
Przykład:
// sprawdzenie czy istnieje zmienna globalna
if( !GlobalVariableCheck("global_var_1") )
Print("Zmienna globalna ", global_var_1, "jest dostępna");
GlobalVariableDel
Funkcja usuwa zmienną globalną. Jeśli funkcja powiedzie się zwraca wartość true, w przeciwnym razie false. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError().
Składnia:
bool GlobalVariableDel( string name )
Parametry
name – nazwa zmiennej globalnej terminala
Wartość zwracana
true – jeśli prawidłowo usunięto
false – jeśli błąd usunięcia zmiennej globalnej
Przykład:
// usuwamy zmienną globalną "global_var_1"
GlobalVariableDel("global_var_1");
GlobalVariableGet
Funkcja pobiera i zwraca wartość zmiennej globalnej terminala lub zwraca zero (0) jeśli wystąpi błąd. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError().
Składnia:
double GlobalVariableGet( string name )
Parametry
name – nazwa zmiennej globalnej terminala
Wartość zwracana
wartość zmiennej globalnej lub 0 jeśli błąd
Przykład:
double gv1 = GlobalVariableGet("global_var_1");
//---- sprawdzenie czy nie ma błędu
if( GetLastError() != 0) return(false);
//---- wyświetlenie wartości zmiennej jeśli została prawidłowo odczytana
Print("Zmienna globalna o wartość =", global_var_1);
GlobalVariableName
Funkcja pobiera i zwraca nazwę zmiennej globalnej na podstawie indeksu przekazanego, jako parametr wywołania funkcji. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError().
Składnia:
string GlobalVariableName( int index )
Parametry
index – indeks zmiennej globalnej, przyjmujący wartość od 0 do wartości
maksymalnej ilości zmiennych, którą można pobrać funkcją
GlobalVariablesTotal().
Wartość zwracana
nazwa zmiennej globalnej terminala
Przykład:
// wyświetlenie wszystkich nazw zmiennych globalnych na podstawie indeksu
int var_total = GlobalVariablesTotal();
string name;
for(int i=0;i<var_total;i++)
{
name = GlobalVariableName(i);
Print("Zmienna globalna o indeksie ", i, " nazywa się ", name);
}
GlobalVariableSet
Jeśli zmienna istnieje to funkcja ustawia wartość zmiennej globalnej, a jeśli nie istnieje to tworzy nową zmienną i ustawia jej wartość. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError()
Składnia:
datetime GlobalVariableSet( string name, double value)
Parametry
name – nazwa zmiennej globalnej terminala
value – wartość jaka zostanie przypisana zmiennej globalnej
Wartość zwracana
czas zapisu zmiennej globalnej lub 0 jeśli błąd
Przykład:
//---- ustawienie nowej wartości zmiennej
if( GlobalVariableSet("LiczbaSlupkowWykresu",Bars)==0)
return(false);
//---- inne operacje, jeśli prawidłowo ustawiono zmienną globalną
GlobalVariableSetOnCondition
Funkcja ustawia warunkowo wartość zmiennej globalnej wcześniej sprawdzając czy w tej zmiennej jest określona wartość. Jeśli zmienna globalna nie będzie istniała to zwrócony zostanie błąd ERR_GLOBAL_VARIABLE_NOT_FOUND (4058), a funkcja zwróci wartość false. Jeśli zmienna istnieje i warunek jest spełniony to funkcja zwróci wartość true, w przeciwnym razie false. Aby uzyskać szczegółowe informacje o błędach, korzystamy z funkcji GetLastError(). Typowe zastosowanie funkcji to sprawdzanie statusu wykonywanych operacji przez niezależne program np. EA i wskaźnik.
Składnia:
GlobalVariableSetOnCondition( string name, double value, double
check_value )
Parametry
name – nazwa zmiennej globalnej terminala
value – wartość, która ma być przypisane do zmiennej
check_value – wartość, która powinna być w zmiennej, aby warunek został
spełniony i przypisana nowa wartość
Wartość zwracana
true – jeśli przypisano nową wartość
false – jeśli błąd przypisania nowej wartości
Przykład:
// przykład semafora (dostęp do zasobów współdzielonych, na przykładzie
jednoczesnego dostępu do pliku)
int init()
{
//---- tworzymy nową zmienną globalną
GlobalVariableSet("DATAFILE_SEM",0);
//...
}
int start()
{
//---- sprawdzamy czy nie następuje zatrzymanie programu
while(!IsStopped())
{
//---- blokada zasobów (semafor=1)
if(GlobalVariableSetOnCondition("DATAFILE_SEM",1,0)==true) break;
//---- sprawdzamy błędy, może zmienne nie istnieje?
if(GetLastError()==ERR_GLOBAL_VARIABLE_NOT_FOUND) return(0);
//---- odczekujemy 0.5 sekundy i powtarzamy sprawdzanie w pętli
Sleep(500);
}
//---- zasoby zablokowane
// ... operacje na zablokowanych zasobach
//---- poniżej zwalniamy zasoby (semafor = 0)
GlobalVariableSet("DATAFILE_SEM",0);
}
GlobalVariableDeleteAll
Funkcja usuwa wszystkie zmienne globalne terminala określone prefiksem (początkowym tekstem) lub dokładnie wszystkie, jeśli nie podano prefiksu.
Składnia:
int GlobalVariablesDeleteAll( string prefix_name=NULL )
Parametry
prefix_name – nazwa prefiksu (tekst początkowy zmiennych globalnych)
Wartość zwracana
ilość usuniętych zmiennych
Przykład:
Print( GlobalVariablesDeleteAll("test_")," usunięto wszystkie zmienno
kreślone początkowym prefiksem test_");
GlobalVariablesTotal
Funkcja zwraca liczbę wszystkich zmiennych globalnych, które są w pamięci terminala.
Składnia:
int GlobalVariablesTotal()
Parametry
brak
Wartość zwracana
ilość aktualnie dostępnych zmiennych globalnych
Przykład:
Print("Ilość zmiennych globalnych terminal to ", GlobalVariablesTotal());