Číselná hodnota znakov
Každý znak má číselnú hodnotu v ACII tabuľke. Napríklad znak a má číselnú
hodnotu 97.
Jazyk Basic obsahuje dva funkcie, ktoré zabezpečujú prevod medzi znakom a číselnou hodnotou.
1. príklad: Využitie funkcii pre prevod medzi znakom a číselnou hodnotou.
Sub prevod REM začiatok procedúry
znak = InputBox("Zadajte znak") REM vstup od užívateľa
cislo = Asc(znak) REM prevod zo znaku do číselnej podoby
Print "Číselná hodnota zadaného znaku: "&cislo REM vypísanie na obrazovku
cislo = InputBox("Zadajte číselnú hodnotu znaku") REM vstup od užívateľa
znak = Chr(cislo) REM prevod z číselného podoby do znaku
Print "Zadaná číselná hodnota je znak: "&znak REM vypísanie na obrazovku
End Sub REM koniec procedúry
Výsledok:
Rozbor programu:
Funkcia Asc prevedie znak na číselnú hodnotu,
Funkcia Chr prevedie číselnú hodnotu na znak.
2. príklad: Ešte raz funkcia Chr
Sub prevod REM začiatok procedúry
cislo1 = InputBox("Zadajte prvé číslo") REM prvý vstup od užívateľa
cislo2 = InputBox("Zadajte druhé číslo") REM druhý vstup od užívateľa
Print "Zadané prvé číslo: " & cislo1 & Chr(09) & "Zadane druhe číslo: "& cislo2 REM experiment s funkciou Chr
End Sub REM koniec procedúry
Výsledok:
Rozbor makra:
Makro vypíše na obrazovku najprv prvý textový reťazec, potom funkcia Chr premení hodnotu 09 na znak,
ktorý sa vykoná. Konkrétne v ASCII tabuľke číslo 09 má hodnotu
klávesa Tab.
Vlastnosti textových reťazcov
Poďme si urobiť makro, ktoré zistí pár informácii o textovom reťazci.
3. príklad: Makro, ktoré zistí niektoré informácie o reťazci
Sub vlastnostiTextovehoRetazca REM začiatok procedúry
Text = InputBox("Zadajte text") REM vstup
DlzkaRetazca = Len(Text) REM využitie funkcie Len
MsgBox "Dlzka retazca je: " & DlzkaRetazca REM výpis
PrvyZnak = Left(Text, 1) REM využitie funkcie Left
MsgBox "Prvy znak v reťazci z ľava je: "& PrvyZnak
PosledneZnaky = Right(Text, 3) REM využitie funkcie Right
MsgBox "Posledne tri znaky v reťazci sú: "& PosledneZnaky
TretiZnak = Mid(Text, 3, 1) REM využitie funkcie Mid
MsgBox "Treti znak v retazci je: " & TretiZnak
ciselnaHodnota = Val(Text) REM využitie funkcie Val
MsgBox "Ciselna hodnota textu je: " & ciselnaHodnota
End Sub REM koniec procedúry
Výsledok:
Ďalej už nechám na vás.
Rozbor makra:
V makre využívame funkcie Left, Right,
Mid a Val. Funkcia Left vyhľadáva
znaky v reťazci z ľava.
Zoberme si z makra Left(Text, 1), čiže prvý parameter označuje
reťazec, v ktorom bude funkcia vyhľadávať znaky a druhý parameter je číslo, ktoré udáva počet znakov,
ktoré funkcia Left označí.
Funkcia Right označuje znaky sprava. Význam parametrov funkcie
je rovnaký ako u funkcii Left.
Prvý parameter vo funkcii Mid je vstupný reťazec. Druhý
parameter je poloha prvého znaku, odkiaľ má začať funkcia označovať (ale pozor, počítanie je z ľava!). Tretím
parametrom funkcie Mid je počet znakov, ktoré chceme označiť.
Veľmi zaujímavá je i funkcia Val. Ona vracia
číselnú hodnotu v texte. Čo je ale záludne na tejto funkcii si ukážeme na príklade:
4. príklad: Priblíženie funkčnosti funkcie Val
Sub funkciaVal REM začiatok procedúry
MsgBox Val("Dnes je krásne horúco") REM experimenty s funkciou Val
MsgBox Val("25 krásnych rokov spolu")
MsgBox Val("30 litrov vody a 15 kilo muky")
End Sub REM koniec procedúry
Výsledok:
Rozbor makra:
V prvom riadku máme MsgBox Val("Dnes je krásne horúco")
a výsledok je nula. Funkcia Val začína z ľava a aby vrátila číslo, musia byť prvé znaky číselne.
V druhom riadku máme MsgBox Val("25 krásnych rokov spolu") a
výsledkom je číslo 25. V treťom riadku máme MsgBox Val("30 litrov vody a 15
kilo muky") a zobrazí sa len číslo 30!
Akonáhle, skonči číslo, ďalej funkcia netestuje. V tomto prípade dôjde po
číslovku 0 a keďže ďalším znakom je medzerník, ukončí sa funkcia.

V tomto článku sa budeme venovať základnej práci s textovými reťazcami. Najprv sa pozrieme na prevod znaku na číslo a
obrátene. V druhej časti článku sa zahryzneme do vlastnosti textových reťazcov a ukážeme si na túto tému zaujímave
makra.






















