- Bossafx.pl
- Edukacja
- Automatyzacja handlu MQL4
- Funkcje MQL4
- Funkcje operujące na zmiennych tekstowych
StringConcatenate
Funkcja łączy stringi, które są przekazane jako parametry wywołania funkcji i w wyniku zwraca jeden string. Maksymalna ilość przekazywanych parametrów do funkcji nie może przekroczyć 64. Podobnie jak funkcja StringConcatente działają funkcje Print(), Alert(), Comment(). Zalecane jest stosowanie tej funkcji ponieważ jest ona znacznie szybsza niż łączenie tekstu z wykorzystaniem sumowania (+).
Składnia:
string StringConcatenate(str1,str2,str3,...,strn)
Parametry
str1,str2,str3,...,strn – ciągi znaków typu string, nie więcej niż 64 ciągi
Wartość zwracana
pojedynczy strong z tych przekazywanych jako parametry
Przykład:
string text;
text=StringConcatenate("Wolne środki ", AccountFreeMargin(), "Aktualny
czas ", TimeToStr(TimeCurrent()));
// to samo tylko wykonywane znacznie wolniej text="Wolne środki ",
AccountFreeMargin(), "Aktualny czas ", TimeToStr(TimeCurrent())
Print(text);
StringFind
Funkcja szuka podciągu zwraca pozycję pierwszego elementu w podciągu lub -1 jeśli nie znajdzie.
Składnia:
int StringFind( string text, string matched_text, int start=0 )
Parametry
text – przeszukiwany ciąg
matched_text – podciąg, który ma być wyszukany
start – pozycja w przeszukiwanym ciągu od której ma zostać szukany podciąg
Wartość zwracana
indeks wskazujący na pierwszą pozycję podciągu
Przykład:
string text="Programowanie w MQL4 jest bardzo łatwe";
int index=StringFind(text, "jest bardzo", 0);
Print("Indeks początku podciągu =",index);
StringGetChar
Funkcja zwraca kod ASCII znaku ze stringu określonego za pomocą indeksu pozycji w stringa.
Składnia:
int StringGetChar( string text, int pos )
Parametry
text – ciąg znaków
pos – pozycja w stringu musi być po między 0, a StringLen(text)-1.
Wartość zwracana
kod ASCII znaku
Przykład:
int char_code = StringGetChar("abcdefgh", 3);
// kod znaku 'c' to 99
StringLen
Funkcja zwraca długość ciągu znaków.
Składnia:
int StringLen( string text )
Parametry
text – tekst, którego długość będzie wyznaczona
Wartość zwracana
długość ciągu znaków
Przykład:
string str="jakiś tekst";
if(StringLen(str)<5) return(0);
StringSetChar
Funkcja zwraca kopię ciągu znaków w którym zmieniona została pozycja znaku określonego indeksem i nowym kodem znaku w postaci ASCII.
Składnia:
string StringSetChar( string text, int pos, int value )
Parametry
text – string w którym zostanie zmieniony znak
pos – indeks pozycji znaku do zmiany
value – kod znaku w ASCII
Wartość zwracana
string ze zmienionym znakiem
Przykład:
string str1="abcdefgh";
string str1=StringSetChar(str, 3, 'D');
// nowa wartość zmiennej str1 to "abcDefgh"
StringSubstr
Funkcja zwraca podciąg z ciągu tekstowego, zaczynając od określonej pozycji oraz zwraca określoną iilość znaków.
Składnia:
string StringSubstr( string text, int start, int length=0 )
Parametry
text – ciąg znaków z którego będzie pobierany podciąg
start – indeks początku podciągu, może być od 0 do StringLen(text)-1.
length – długość ciągu, która będzie odczytana. Jeśli pozostawimy domyślną
wartość length równą 0 to zostanie odczytany ciąg od aktualnej pozycji
określonej przez start do końca stringu.
Wartość zwracana
odczytany podciąg
Przykład:
string text="Programowanie w MQL4 jest bardzo łatwe";
string substr=StringSubstr(text, 16, 4);
// podciąg to "MQL4"
StringTrimLeft
Funkcja zwraca kopię łańcucha znaków z usuniętymi z lewej strony znakami pustymi (spacje, znaki końca linii), jeśli wykonała się prawidłowo lub pusty ciąg znaków, jeśli błąd.
Składnia:
string StringTrimLeft( string text )
Parametry
text – tekst z którego będą usunięte puste znaki z lewej
Wartość zwracana
ciąg z usuniętymi znakami pustymi z lewej
Przykład:
string str1=" Witaj świecie ";
string str2=StringTrimLeft(str);
// w wyniku otrzymamy string "Witaj świecie "
StringTrimRight
Funkcja zwraca kopię łańcucha znaków z usuniętymi z prawej strony znakami pustymi (spacje, znaki końca linii), jeśli wykonała się prawidłowo lub pusty ciąg znaków, jeśli błąd
Składnia:
string StringTrimRight( string text )
Parametry
text - tekst z którego będą usunięte puste znaki z prawej
Wartość zwracana
ciąg z usuniętymi znakami pustymi z prawej
Przykład:
string str1=" Witaj świecie ";
string str2=StringTrimLeft(str);
// w wyniku otrzymamy string " Witaj świecie"
Niniejszy materiał, przygotowany przez DM BOŚ S.A. ma charakter wyłącznie informacyjny, prezentowany jest w celach edukacyjnych i nie stanowi porady prawnej oraz nie jest rekomendacją osobistą w ramach świadczenia usługi doradztwa inwestycyjnego zgodnie z przepisami prawa. DM BOŚ S.A. nie udziela gwarancji dokładności, aktualności, oraz kompletności niniejszych informacji. Zaleca się przeprowadzenie we własnym zakresie niezależnego przeglądu informacji z niniejszego materiału.