Vyhľadávanie v textovom reťazci
V textovom reťazci môžeme nájsť žiadaný sled znakov(slovo, veta a pod…) pomocou funkcie InStr. Príklad vám napovie viac.
1. príklad: Využitie funkcie InStr
Sub funkciaInStr REM začiatok procedúry Vstup = InputBox("Zadajte text") REM vstup od užívateľa If InStr(1, Vstup, "vesmír", 1) > 0 Then REM využitie funkcie InStr MsgBox "Áno, reťazec vesmír existuje v texte" REM výstup na obrazovke End If REM koniec podmienky End Sub REM koniec procedúry
Vstup od užívateľa
Výsledok
Rozbor makra: Funkciu InStr používame na zistenie hľadaného reťazca v texte. Prvý parameter funkcie InStr je pozícia zľava, odkiaľ má funkcia začať prehľadávať reťazec. Druhý parameter je v prípade nášho makra vstup od užívateľa. Tretí parameter funkcie je definovaný reťazec, ktorý hľadáme. Štvrtý parameter nám určuje, či funkcia zohľadňuje veľkosť písmen. V tomto parametri sú len dve stavy, 0 a 1.
Hodnotou 0 funkcii oznamujeme, že si má všímať veľkosť jednotlivých písmen. Hodnota 1 si veľkosť písmen nevšíma. Napríklad, v našom makre by sme štvrtý parameter z 1 pozmenili na 0 a napísali Vesmír, tak by nám reťazec nenašiel. Pretože hľadáme vesmír s malými písmenami. My sme ale zvolili hodnotu 1, takže veľkosť písmen sa neposudzuje.
Návratová hodnota funkcie InStr je pozícia (zľava) prvého znaku reťazca, ktorého hľadáme.
Porovnávanie reťazcov
Na porovnávanie reťazcov využívame funkciu StrComp. Jej využitie uvidíte v príklade číslo 2.
2. príklad: Využitie funkcie StrComp
Sub porovnatRetazce REM začiatok procedúry Vstup = InputBox("Zadajte text") REM vstup od užívateľa Select Case StrComp(Vstup, "dnešok") REM využitie funkcie StrComp Case -1 MsgBox "Reťazec od používateľa je menší ako reťazec dnešok" Case 0 MsgBox "Používateľ zadal reťazec dnešok" Case 1 MsgBox "Reťazec od používateľa je väčší ako reťazec dnešok" End Select REM koniec podmienok End Sub REM koniec procedúry
Vstup od užívateľa
Výstup
Rozbor makra: Funkcia StrComp porovnáva dva reťazce. Prvý reťazec a zároveň prvý parameter funkcie StrComp je v našom makre vstupný údaj od užívateľa. Druhý parameter je reťazec, ktorý zvolíte vy.
Funkcia StrComp má tri návratové hodnoty. Ak je hodnota 0, tak vstupný reťazec je rovnaký ako definovaný reťazec v makre. Ak je hodnota -1, prvý reťazec (prvý parameter) je menší ako druhý reťazec.
Ak je hodnota 1, tak veľkosť prvého reťazca je väčšia ako u druhého reťazca. Veľkosť sa počíta od vzdialeností jednotlivých písmen v abecede. Čiže ak by sme mali dve slova, ktoré majú rovnaký počet písmen, rozhodovali by jednotlivé písmena podľa abecedy.
Funkcia Format
Pomocou funkcie Format vieme meniť formát čísel.
3. príklad: Využitie funkcie Formát
Sub funkciaFormat REM začiatok procedúry Vstup = InputBox("Zadajte ľubovoľné celé číslo") REM vstup od užívateľa cisloFormat = Format(Vstup, "0.00000") REM využitie funkcie Format MsgBox "Číslo po formátovaní: "&cisloFormat REM výpis na obrazovku End Sub REM koniec procedúry
Vstup od užívateľa
Výstup
Rozbor makra: S funkciou Format vieme meniť formát čísel. V treťom makre nahrádzame celé číslo do formátu čísla s piatimi desatinnými miestami.
Funkcie UCase a LCase
Potrebujete nutné zmeniť všetky písmena v reťazci z malých na veľké? Alebo naopak?
Využijeme na to funkcie UCase a LCase.
4. príklad: Využítie funkcie UCase a Lcase
Sub zmenaVelkostiPismen REM začiatok procedúry Vstup = InputBox("Zadajte ľubovoľný text") REM vstup od užívateľa naVelke = UCase(Vstup) REM využitie funkcie UCase naMale = LCase(Vstup) REM využitie funkcie LCase MsgBox "Reťazec zmenený na veľké písmena: "&naVelke REM výpis na obrazovku MsgBox "Reťazec zmenený na malé písmena: "&naMale End Sub REM koniec procedúry
Vstup od užívateľa
Výstup – veľké písmena
Výstup – malé písmena