FLASH rychle a snadno 17.

Objekt String – analytika řetězců v praxi, jak na kontrolu korektní e-mailové adresy, zkrátka další díl seriálu Flash rychle a snadno!

Objekt String

Tento objekt se, jak už bylo předesláno, používá pro analýzu a práci s řetězcovými a datovými typy. Může zjistit pozici určitého znaku, nebo znak na určité pozici, umožňuje štěpení řetězců na podřetězce a spojování řetězců. Také umí měnit malá a velká písmenka a různé části řetězce. Stejně jako o objektu Select si i tentokrát nejprve uvedeme přehled vlastností tohoto objektu:

Metoda nebo vlastnost Popis
indexOf(searchString, fromIndex) Prohledá řetězec a vrátí místo prvního výskytu podřetězce searchString, volitelná je počáteční pozice vyhledávání fromIndex.
LastIndexOf(searchString, fromIndex) Prohledá řetězec a vrátí místo posledního výskytu podřetězce searchString, opět začátek hledání určuje nepovinně fromIndex.
charAt(index) Vrátí znak ležící na určitém indexu.
substring(indexA, indexB) Vrátí řetězec mezi indexemA a indexemB.
substr(start, length) Vrátí řetězec o délce length od indexu start.
concat(string1, …, stringN) Zřetězí určené řetězce.
toLowerCase() Převede všechny znaky na malá písmenka.
toUpperCase Převede všechny znaky na velká písmenka.
length Vrací délku řetězce.

Práce s metodami objektu String Všechny zmiňované operace s řetězci lze dělat bez nutnosti vytváření instance objektu String, protože Flash vytváří a ruší automaticky přechodný objekt String v případě, že pracujeme s jeho metodami. Pozice znaků jsou určovány opět obdobně jako u objektu Selection, totiž první znak má index 0 a druhý 1. Pokud bychom chtěli hodnotu jakékoliv proměnné, výrazu či objektu převést na řetězec, slouží nám k tomu funkce String:

String(zaskrtavaciTlacitko)

Analýza řetězců objektem String

Objekt String si představíme na kontrole Znaku a znaků v řetězci. Ukážeme si totiž postup, jak určit, zda uživatel zadal požadované informace.

  1. Vytvoříme si na scéně textové pole.
  2. Navolíme si na něm Input text a Single Line.
  3. Pojmenujeme si ho Pole.
  4. Vyrobíme další obdobné textové pole Znak, do něhož se bude zadávat hledaný znak.
  5. Nakonec dotvoříme scénu textovým polem Pozice, do něhož se bude vypisovat první nalezená pozice našeho znaku.
  6. Vytvoříme si symbol tlačítka na scéně.
  7. Vložíme na něj akci on release.
  8. Vybereme dále Actions -> set variable.
  9. V poli Variable napíšeme jméno naší proměnné Pozice.
  10. Do pole Value napíšeme jméno naší proměnné Pole.
  11. Dále v poli Value zvolíme Objects -> String -> indexOf.
  12. Nyní můžeme pracovat s parametry searchString, to je námi hledaný znak Znak, a fromIndex – volitelná startovní pozice pro naše hledání.
  13. Nahradím tedy proměnnou Znak, jenž chceme hledat, parametr searchString (pokud bychom psali přímo znak, musí být v uvozovkách! aby byl rozlišen od proměnných).
  14. Smažeme parametr fromIndex.
  15. Zaškrtneme políčko Expression vedle pole Value – abychom nevypisovali pouze text.

Jak se již stalo dobrým zvykem, příklad si TADY můžete stáhnout a níže prohlédnout a otestovat:).

Další informace

Důležité je vědět, že použitím indexOf získáme pouze první pozici daného znaku. Pokud chceme zjistit všechny výskytu znaku, docílíme toho opakovaným používání metody indexOf, kdy jako volitelný parametr začátku hledání zadáme předcházející nalezenou pozici + 1. Potom by použití vypadalo asi takto:

Tecka1 = vstup.indexOf („.“)
Tecka2 = vstup.indexOf („.“, Tecka1+1)

Pro určení poslední pozice znaku v řetězci slouží metody lastIndexOF. Díky tomu můžeme tedy v rámci cyklu while procházet a zjišťovat počet výskytů znaku v řetězci do té doby, než dojdeme k hodnotě totožné s lastIndexOF:

Příklad je ke stáhnutí ZDE.

Kontrola emailové adresy

Takováto kontrola opět vychází z již předvedených vlastností – zjistíme totiž, zde v řetězec obsahuje zavináč, tečku a zda vůbec není nulový. Pro první dvě podmínky využije stav, kdy hodnota indexOf je –1 při nenalezení znaku. Pro další podmínku nám postačí zjistit aktuální délku vepsaného řetězce. Podívejme se tedy rovnou na samotný skript:

Při konstrukci samotné scény jsme použili tedy jedno textové pole Email pro elektronickou adresu, dále jedno tlačítko, na němž jsou výše uvedené akce a která vyvolává kontrolu a potom také místo pro popisek o vykonané operaci. Scéna tedy vypadá takto:

I tento příklad si můžete STÁHNOUT.

Logické operátory

Možná by se někdo mohl divit, co znamenalo v předchozí konstrukci skriptu toto: || - co tento dvojznak ve skriptů dělá? Proto si připomeneme základní logické operátory, se kterými jsme se dnes mohli setkat:

and - && - a současně

or - | - nebo

not - ! - negace

Ve výše uvedeném příkladu tedy musí platit, že a je větší jak b a zároveň b je větší jak c, nebo že c je větší jak nula a zároveň není rovno a. Takže první podmínce by odpovídalo například : a=3, b=2, c=1 a druhé a=3, b=2, c=2.

Za týden

V příštím pokračování povídání objektu String se zaměříme na přeskupování řetězců.

Diskuze (1) Další článek: U AMD se snižovaly ceny

Témata článku: , , , , , , , , , , , , , , , ,