Funkcia Trim
Funkcia Trim nám odstráni v reťazci začiatočnú a konečnú medzeru. Poďme si ju vyskúšať.
1. príklad: Prvá skúška funkcie Trim
Sub Macro REM začiatok procedúry Dim retazec As String REM deklarácia premennej typu reťazec retazec = " Dnes je ale pekne však? " REM plníme reťazec znakmi MsgBox Trim(retazec) REM využitie funkcie Trim na odstránenie medzier a následný výpis na obrazovku End Sub REM koniec procedúry
Rozbor makra: Makro nám pekne v reťazci odstráni medzery. Ale pozor, neodstráni medzery vo vnútri celého reťazca. Je to pochopiteľné, pretože Trim odstraňuje len začiatočnú a konečnú medzeru v celom reťazci, nie čo sa nachádza vo „vnútri“ samotného reťazca.
2. príklad: Môžme reťazec zadať i do vnútra funkcie Trim
Sub Macro REM začiatok procedúry
Dim retazec As String REM deklarácia premennej typu reťazec
MsgBox Trim(" Slnko je najhmotnejšie teleso v Slnečnej sústave!" ) REM využitie funkcie Trim a výpis na obrazovku
End Sub REM koniec procedúry
3. príklad: Reťazec definovaný užívateľom
Sub Macro REM začiatok procedúry
Dim retazec As String REM deklarácia premennej typu reťazec
retazec = InputBox("Zadaj reťazec taký, že na začiatku a na konci nech je medzera!") REM vstup od užívateľa
If IsNull(retazec) Then Exit Sub REM ak užívateľ nič nezadal, makro končí
If Len(Trim(retazec)) = 0 Then Exit Sub REM ak reťazec má dĺžku 0, inak povedané, užívateľ nič nezadal, makro potom končí
MsgBox Trim(retazec) REM využitie funkcie Trim a výpis na obrazovku
End Sub REM koniec procedúry
Rozbor makra: Pre zopakovanie, funkcia IsNull zisťuje, či bolo vôbec niečo napísané užívateľom. Funkcia Len zisťuje dĺžku reťazca.
4. príklad: Modifikovaný 3. príklad
Sub Macro REM začiatok procedúry Dim retazec As String REM deklarácia premennej typu reťazec Dim i As Integer REM deklarácia premennej typu celočíselného retazec = InputBox("Zadaj reťazec taký, že na začiatku a na konci nech je medzera!") REM vstup od užívateľa If IsNull(retazec) Then Exit Sub REM ak užívateľ nezadá žiadný reťazec, makro končí If Len(Trim(retazec)) = 0 Then Exit Sub For i = 0 To Len(retazec) REM cyklus s počtom iterácii dĺžky poľa retazec = retazec & Trim(retazec) REM využitie funkcie Trim Next REM ďalšia iterácia cyklu MsgBox retazec REM výpis na obrazovku End Sub REM koniec procedúry
Rozbor programu: Tento príklad slúži nato, aby sme videli, že skutočne i z tej pravej častí funkcia Trim odstráni medzeru. Avšak, trpí to neduhami, pretože v cykle vždy uložíme i predchádzajúce reťazce. Nie je to práve zdarná implementácia, ale ako zaujímavá ukážka to postačí. Lepšie táto funkcia vynikne napr. pri bunkách LO Calc, ale to až niekedy v budúcností.
Funkcie LTrim a RTrim
Funkcia Trim odstráni medzeru zľava aj sprava v reťazci. Funkcie LTrim zmaže len zľava a funkcia RTrim zmaže sprava. Podľa toho, akú medzeru by ste chceli odstrániť, vyberiete danú funkciu. V príklade si ukážeme oba funkcie a ich fungovanie.
5. príklad: Testujeme funkcie LTrim a RTrim
Sub Macro REM začiatok procedúry
Dim retazec As String REM deklarácia premenných
Dim retazec1 As String
Dim i As Integer
MsgBox "Definovane retazce programom: " & Chr(10) & LTrim("Pomaranč") & LTrim(" Pomaranč") & Chr(10) & RTrim("Pomaranč ") & RTrim("Pomaranč") REM výstup na obrazovku
retazec = InputBox("Zadaj reťazec!") REM vstup prvý
If IsNull(retazec) Then Exit Sub REM keď uživateľ nič nezadá, makro končí
If Len(Trim(retazec)) = 0 Then Exit Sub
For i = 0 To Len(retazec) REM cyklus
retazec = retazec & LTrim(retazec)
Next
MsgBox retazec
retazec1 = InputBox("Zadaj reťazec!")
If IsNull(retazec1) Then Exit Sub
If Len(Trim(retazec1)) = 0 Then Exit Sub
For i = 0 To Len(retazec1)
retazec1 = retazec1 & LTrim(retazec1)
Next
MsgBox retazec1
End Sub REM koniec procedúry

Potrebujete sa zbaviť nepotrebných medzier? Slúžia nato funkcie Trim a jej deriváty LTrim a RTrim, ktoré si zachviľu
ukážeme.
















