BASIC - skorowidz funkcji operujących na tekście

Stronę tą wyświetlono już: 422 razy

W Libre Office Basic tekst zapisywany jest w zmiennych typu String deklarowanych w następujący sposób:

Listing 1
  1. Dim nazwa_zmiennej as string

Dostępne są następujące funkcje operujące na tekście:

Listing 2
  1. Len( tekst as string)

Jest to funkcja zwracająca liczbę znaków zawartych w zmiennej tekst

Listing 3
  1. Mid(tekst as string, poczatek as integer, dlugosc as integer)

Funkcja zwraca wycięty z wnętrza zmiennej tekst fragment tekstu zaczynającego się od miejsca wskazanego przez zmienną początek (indeksowanie od 1) o długości równej zmiennej długość.

Przykład:

Listing 4
  1. Mid( "tekst do przycięcia", 7, 2)

Powyższy kod zwróci wartość do.

Listing 5
  1. Left(tekst as string, dlugosc as integer)

Zwraca wycięty fragment tekstu z zmiennej tekst o długości równej zmiennej dlugosc liczonej od lewej strony tekstu.

Przykład:

Listing 6
  1. Left( "tekst do przycięcia", 5)

Powyższy kod zwróci wartość: tekst

Listing 7
  1. Right(tekst as string, dlugosc as integer)

Zwraca wycięty fragment tekstu z zmiennej tekst o długości równej zmiennej dlugosc liczonej od prawej strony tekstu.

Przykład:

Listing 8
  1. Right( "tekst do przycięcia", 10)

Powyższy kod zwróci wartość: przycięcia

Listing 9
  1. Chr(ascii as integer)

Zwraca znak jako zmienną typu String odpowiadający kodowi ASCII dla ośmiobitowych znaków tekstowych.

Przykłady:

Listing 10
  1. Chr(9)

Powyższy kod zwróci wartość a

Listing 11
  1. Chr(-1)

Zwraca błąd, bo kod ASCII zawiera znaki o wartościach kodu od 0 do 255.

Listing 12
  1. Chr(256)

Również błąd, bo wykracza poza zakres kodu ASCII

Listing 13
  1. Asc(znak as string)

Funkcja zwraca kod pierwszego znaku, jaki zawiera zmienna znak jako zmienną typu Integer zawierającą kod ASCII tejże zmiennej. Jeżeli długość zmiennej znak jest równa zero, to funkcja zawiedzie.

Listing 14
  1. InStr(początek as long, tekst_przeszukiwany as string, tekst_szukany as string)

Funkcja zwracająca położenie znalezionego tekstu ze zmiennej tekst_szukany w zmiennej tekst_przeszukiwany począwszy od miejsca wskazanego przez zmienną początek, która musi przyjmować wartość większą od zera. Jeżeli szukany tekst nie zostanie znaleziony funkcja zwraca 0.

Listing 15
  1. LCase(tekst as string)

Funkcja zamienia wszystkie duże literki w zmiennej tekst na małe.

Listing 16
  1. UCase(tekst as string)

Funkcja zamienia wszystkie małe literki w zmiennej tekst na duże.

Listing 17
  1. LTrim(tekst as string)

Funkcja usuwająca zbędne spacje z lewej strony zmiennej tekst.

Listing 18
  1. RTrim(tekst as string)

Funkcja usuwająca zbędne spacje z prawej strony zmiennej tekst.

Listing 19
  1. Trim(tekst as string)

Funkcja usuwająca zbędne spacje występujące w zmiennej tekst.

Listing 20
  1. Replace(tekst as string, znajdź as string, zamień_na as string [opcjonalnie: początek as long] [opcjonalnie: licznik as long])

Funkcja znajdująca tekst zapisany w zmiennej znajdź w zmiennej tekst i zamieniająca go na zawartość zmiennej zamień_na. Opcjonalnie można podać początek przeszukiwania tekstu (liczba większa od 0) oraz licznik określający, ile razy ma być tekst znajdź zamieniony na zamień_na.

Listing 21
  1. StrReverse(tekst as string)

Powyższa funkcja nie istnieje w zasobach. a ma ona za zadanie odwracać zawarty w zmiennej tekst ciąg znaków. Dla przykładu tekst Donald zwiał z Zielonej Wyspy zamieni na ypsyW jenoleiZ z łaiwz dlanoD. Implementacja funkcji wygląda następująco:

Listing 22
  1. Function StrReverse(tekst as string) as string
  2. Dim size as integer
  3. size = Len(tekst)
  4. If size = 0 Then
  5. StrReverse = ""
  6. Exit Function
  7. End If
  8. Dim s as string
  9. s = mid(tekst,size,1)
  10. For i = size - 1 To 1 Step -1
  11. s = s & mid(tekst, i, 1)
  12. Next i
  13. StrReverse = s
  14. End Function

Komentarze