170 likes | 290 Views
VISUAL BASIC. Práce s řetězci. Použitá literatura: Kvoch: Visual Basic 4. CO JE TO ŘETĚZEC. Datový typ String Řetězec libovolných znaků ASCII tabulky 0-127 - standardní ASCII 128 - 255 - v závislosti na národním prostředí Dva typy řetězců: řetězec variabilní délky řetězec pevné délky.
E N D
VISUAL BASIC Práce s řetězci Použitá literatura: Kvoch: Visual Basic 4
CO JE TO ŘETĚZEC • Datový typ String • Řetězec libovolných znaků ASCII tabulky • 0-127 - standardní ASCII • 128 - 255 - v závislosti na národním prostředí • Dva typy řetězců: • řetězec variabilní délky • řetězec pevné délky
- řetězec variabilní délky String (dim jmeno as string) • max. asi 65 000 znaků u 16bitové aplikace (216, asi 16 stran textu) • max. 2 miliony znaků u 32bitové aplikace • lépe využívá paměť než řetězec pevné délky
- řetězec pevné délky String *n (dim jmeno as string*20) • n je celé kladné číslo od 1 do asi 65 000 • Při kratším řetězci je doplněno mezerami. • Vhodné při zpracovávání databází - položky stejné délky. • Zabírá paměť pořád stejnou, i když v něm nic není. • Rychlejší manipulace než u variabilního řetězce.
Zápis řetězců • Řetězce se zapisují do uvozovek Dim st as string .... st = "Ahoj"
Řetězcové operátory Výsledek operace řetězcového operátoru je řetězec (hodnota typu řetězec). • Zřetězení (+) • Zřetězení (&)
Zřetězení (+) • zřetězení řetězců (řetězcových proměnných). "abc" + "def" dá výsledek "abcdef"
Zřetězení (&) • spojení i jiných operandů Dim cislo as Integer Dim msg As string ..... cislo = 10 msg = "počet=" print msg, cislo Vytiskne: počet= 10
Řetězcové funkce - obecně • funkce manipulující s hodnotami řetězcových datových typů • přípona $ znamená, že výsledná hodnota bude typu string.
Řetězcové funkce - • String$(počet, kód) • vrací řetězec, který obsahujepočet znaků s ASCII kódem kód. • String$(5,65) vrátí "AAAAA" • String$(počet,řetězec) • vrací řetězec, který je složen z počet prvního znaku řetězce řetězec. • String$(5,"Beta") vrátí "BBBBB" • Space$(počet) • vrací řetězec s počtem počet mezer.
Řetězcové funkce - • Left$(řetězec,délka) • Right$(řetězec,délka) • Mid$(řetězec,začátek[,délka]) • vrací části řetězce řetězec o délce délka. • Left zleva, Right zprava, Mid zprostředka od začátek Left$("abcdef",3) vrátí "abc" Right$("abcdef",4) vrátí "cdef" Mid$("abcdef",3,2) vrátí "cd" Mid$("abcdef",3) vrátí "cdef"
Ořezávání • Len(řetězec) - vrací délku řetězce Len("abcdef") vrátí 6 • LTrim$, RTrim$, Trim • odřezává levé, pravé, obojí mezery v řetězci Ltrim$(" abc ") vrátí "abc " Rtrim$(" abc ") vrátí " abc" Trim(" abc ") vrátí "abc"
Převod na malá/velká písmena • Lcase$(řetězec), Ucase$(řetězec) • vrátí řetězec převedený na malá, velká písmena • respektuje národní prostředí nastavené ve Windows jmeno = "František Vomáčka" Lcase$(jmeno) - vrátí "františek vomáčka" Ucase$(jmeno) - vrátí "FRANTIŠEK VOMÁČKA"
Konverzní funkce 1/3 Konverze mezi jednotlivými datovými typy • Asc(řetězec) • vrací numerickou hodnotu ASCII kódu prvního znaku řetězce • Chr$(kód) • vrací jednoznakový řetězec podle ASCII tabulky
Konverzní funkce 2/3 • Val(řetězec) • konvertuje hodnoty řetězcového typu (řetězec číslic) na hodnoty numerického typu • povoleny jsou mezery a prefixy soustav • vyhodnocení vstupního řetězce končí ve chvíli, kdy se narazí na první nečíselný znak.
Konverzní funkce 3/3 • Str$(výraz) • konvertuje numerický výraz na řetězec znaků (číslic) • návratový řetězec začín • mezerou - pokud je výraz kladný • znaménkem "-" - pokud je výraz záporný • vrácený řetězec je max 17 znaků dlouhý, včetně znaménka a desetinné tečky.
Zadání úlohy • Sestavte program na vyhodnocení rozhlasových hitparád. • Hlasování posluchačů probíhá prostřednictvím SMS zpráv. V naší úloze to bude zapsání do TextBoxu. • Posluchači dávají hlas písničce, která se jim líbí, prostřednictvím SMS ve tvaru • FPOP číslo -20 písniček v hitparádě • CZ12 číslo -12 písniček v hitparádě • Výsledkem programu bude tabulka, která vypíše čísla písniček a počet jim došlých hlasů