PoΦφtaΦovΘ hry
Software
Hardware
Internet
P°φb∞hy
UΦebna
MyÜmaÜ
Top story
Editorial
Redakce
Archiv Φlßnk∙

Hlavnφ strßnka

UΦebna: Visual Basic - Jazyk

U ╚ E B N A  

Dnes si povφme n∞co o vlastnφm jazyku: pou₧itφ syntaxφ, Procedur, Prom∞nn²ch a dalÜφch prvk∙ VB.

Omlouvßm se, ₧e druhß Φßst serißlu je hotovß a₧ nynφ, ale v Φervenci jsem p°evß₧n∞ nebyl doma. Dnes si povφme n∞co o vlastnφm jazyku: pou₧itφ syntaxφ, Procedur, Prom∞nn²ch a dalÜφch prvk∙ VB.

Abyste byli schopni dob°e programovat, pot°ebujete se dob°e u₧ivatelsky orientovat v OperaΦnφm systΘmu. Kdy₧ vytvß°φte u₧ivatelskΘ rozhranφ pro sv∙j program, je t°eba dbßt na p°ehlednΘ uspo°ßdßnφ ovlßdacφch prvk∙. NejlepÜφ, jak toho dosßhnout, je nechat n∞koho (t°eba z rodiny), aby si vyzkouÜel, jak se s programem pracuje, samoz°ejm∞ v prvΘ °ad∞ si odzkouÜejte program sami. Poslednφ, bez Φeho nikdo nic nevytvo°φ, je znalost syntaxφ (p°φkaz∙), ale v jakΘ mφ°e, to vßm p°esn∞ ne°eknu, proto₧e n∞komu staΦφ jen ty nejpou₧φvan∞jÜφ, ale pro opravdovΘ profesionßlnφ programovßnφ pot°ebujete znßt (a um∞t pou₧φt!) v∞tÜinu syntaxφ a samoz°ejm∞ i pou₧itφ Objekt∙. Spousta autor∙ p°φruΦek i samotn²ch v²vojß°∙ tvrdφ, ₧e p°φruΦka k programovacφmu jazyku najde uplatn∞nφ u ka₧dΘho v²vojß°e, tedy vßm doporuΦuji, pokud zaΦφnßte s VB, po°i∩te si n∞jakou p°φruΦku.

Psanφ syntaxφ ve Visual Basicu, to je po°ßd dokola. V₧dy (nebo alespo≥ ve v∞tÜin∞ p°φpad∙) pφÜete jmΘno objektu, pokud je umφst∞n na jinΘm Formulß°i i jmΘno danΘho Formulß°e, pak Metodu (- funkΦnφ p°φkaz) nebo Vlastnost. VÜechny jednotlivΘ prvky v p°φkazu jsou odd∞leny teΦkou. Za Metodu se v p°φpad∞ nutnosti p°idßvajφ parametry (argumenty), kterΘ ji dola∩ujφ - je pak provedena s r∙znou konfiguracφ. Vlastnosti se v₧dy definujφ, tudφ₧ za jejich jmΘnem za rovnφtko musφte umφstit novou hodnotu. V n∞kter²ch p°φpadech se pφÜe p°φmo Metoda s p°φpadn²mi parametry, t∞mi m∙₧e b²t jednak hodnota i objekt.

Ukßzka k≤du:
Formulß°.Objekt.Vlastnost = Hodnota
Formulß°.Objekt.Metoda Argument1, Argument2, ...
Metoda Argument1, Argument2

Cel² program je rozd∞len do jednotliv²ch Φßstφ, t∞mi jsou Procedury a Funkce. Procedury (- Podprogramy) obsluhujφ zejmΘna objekty (nap°. po kliknutφ myÜφ). M∙₧ete si samoz°ejm∞ zalo₧it svΘ vlastnφ a p°i°adit jim n∞jak² k≤d. Procedury se vyu₧φvajφ k provedenφ operace u kterΘ nepot°ebujeme v²sledek. Zato Funkce sv²m jmΘnem vracφ urΦitou hodnotu nap°. "Abs(x)" vracφ absolutnφ hodnotu ΦφselnΘ hodnoty "x". Ji₧ zabudovanΘ Funkce do VB si m∙₧ete v∞tÜinou upravit, ale vlastnφ si p°izp∙sobφte zcela, abych uvedl op∞t p°φklad:

Vytvo°φte si Funkci se jmΘnem nap°. "Nastavenφ", kterß vßm podle argumentu, jφm₧ je oznaΦenφ vlastnosti, vrßtφ hodnotu ulo₧enou v souboru s nastavenφm. A vy jen musφte touto hodnotou nastavit danou vlastnost vaÜeho programu (nap°. mß-li se p°i startu zobrazovat ·vodnφ logo). Rozsah platnosti Funkcφ a Procedur zßle₧φ na tom jak a kde jsou deklarovßny. Pokud je deklarujete na ·rovni Formulß°e, jejich rozsah je omezen v₧dy jen na dan² formulß°. P°i deklaraci na ·rovni Modulu, abyste je mohli vyu₧φvat v celΘm programu, je musφte nastavit jako Globßlnφ (Global Sub/Function ...).

Ukßzka k≤du:
Volßnφ Funkce
N∞jakßProm∞nnß = NßzevFunkce(Argument1, Argument2, ...)
"Volßnφ Procedury
NßzevProcedury P°edanßHodnota1, P°edanßHodnota2, ...

Velkou Φßstφ jazyka Visual Basic jsou Prom∞nnΘ a Konstanky. O rozsahu platnosti to je stejnΘ jako u Procedur a Funkcφ. Prom∞nnß p°edstavuje polo₧ku urΦitΘho (Φi obecnΘho) typu, kterß obsahuje n∞jakou hodnotu a tu m∙₧ete m∞nit. Zßkladnφ typy jsou:
String - znakov² °et∞zec;
Long - Φφselnß hodnota s desetin²mi mφsty;
Integer - Φφselnß hodnota v cel²ch Φφslech;
Boolean - obsahuje pouze hodnoty True (pravda) a False (nepravda);
Variant - obecn² typ Prom∞nnΘ, m∙₧ete mu p°i°adit hodnotu jakΘhokoli typu. U Konstant se pou₧φvajφ stejnΘ typy, ale pevn∞ je vytvo°φte a jejich hodnotu nelze zm∞nit. NejΦast∞ji se definujφ v deklaraΦnφ Φßsti Modulu Nebo Formulß°e. Pokud pot°ebujet mφt n∞jakou slo₧itou hodnotu - 3.1415... vÜichni znßme, je dobrΘ pou₧φt prßv∞ Konstanty, nebo¥ se nemusφte stßle vypisovat s dlouh²m Φφslem, takΘ p°φstup k nφ oproti Prom∞nnΘ je mnohem rychlejÜφ, proto₧e ji mß program p°φmo jako hodnotu a ne jako adresu k hodnot∞ v pam∞ti.

Ukßzka k≤du:
"Jednoduchß deklarace
Dim Prom∞nnß As Typ
"Globßlnφ (pouze v Modulu)
Global Prom∞nnß As Typ
"Konstanta
Const Konstanta As Typ = Hodnota
Ve VB jsou (automaticky) zavedeny zßkladnφ Knihovny (Libraries). Ka₧dß obsahuje T°φdy (Classes) a ty pak obsahujφ bu∩ systΘmovΘ Konstanty, Metody nebo Objekty - v∞tÜinou od ka₧dΘho n∞co. Pro informaci vyjmenuji zßkladnφ Knihovny: "VB" (Objekty a Procedury), "VBA" (VB pro Aplikace - Word, Excel), "VBRUN" (run-time Objekty a Procedury - p°evß₧n∞ Konstanty OS) a "stdole" (Automatizace OLE). ProΦ jsem zaΦal mluvit o Knihovnßch? Jednak v nich najdete (pomocφ Prohlφ₧eΦe Objekt∙ (Object Browser)) nßzvy u₧iteΦn²ch Konstant, v²pis vÜech Metod, Vlastnostφ a Objekt∙ a proto₧e jsem se cht∞l v∞novat Knihovn∞ VBA a konkrΘtn∞ T°φd∞ FileSystem (SystΘm soubor∙), kterß obsahuje vÜechny pot°ebnΘ Metody pro prßci se soubory a adresß°i.

Co nejvφce vyu₧ijete je uklßdßnφ dat do soubor∙ na disku. Nejvφce se uklßdß nastavenφ programu, a to do INI soubor∙. Pracovat s tφmto formßtem soubor∙ pomocφ Metod T°φdy FileSystem, by bylo p°φliÜ nßroΦnΘ a proto existujφ API Funkce, kterΘ se o to postarajφ. To jen pro vaÜφ informaci, jeliko₧ jsem cht∞l mluvit o zde zamφtnutΘm zp∙sobu uklßdßnφ a Φtenφ dat. NejjednoduÜÜφ je zapisovat do soubor∙ typu Random. P°i vytvo°enφ souboru Random udßte dΘlku zßznamu (pokud ne, standardnφ je 128 Byte) a pak jen p°istupujete k jednotliv²m zßznam∙m pomocφ jejich po°adovΘho Φφsla. K vlastnφmu souboru p°istupujete pomocφ Φφsla, pod kter²m jste jej otev°eli. Aby nedochßzelo k chybßm, Funkce FreeFile() vracφ nejni₧Üφ volnΘ Φφslo pro otev°enφ souboru. Pro zßpis je Metoda Put a pro Φtenφ Get. V₧dy ale musφte otev°en² soubor uzav°φt p°φkazem Close (- neuzav°enφm souboru by mohlo v OS dochßzet k chybßm), jeho₧ parametrem je Φφslo zavφranΘho souboru, bez parametru uzav°e vÜechny otev°enΘ soubory. Pou₧φvßnφ ostatnφch typ∙ soubor∙ mi p°ipadß slo₧it∞jÜφ, nebo alespo≥ pou₧φvßnφ Random je pohodln∞jÜφ. Ostatnφ typy (- druhy vstupu a v²stupu) tedy jsou: Binary (binßrnφ), Input (vstup ze souboru) a Output (v²stup do souboru), ale o nich se vφce zmi≥ovat nebudu.

Ukßzka k≤du:
Dim Num As Integer, ╚φsloZßznamu As Integer, Data1 As String, Data2 As String
Num = FreeFile()
╚φsloZßznamu = 1
Data1 = "n∞jakß data"
Open "soubor.dat" For Random As Num Len = DΘlkaZßznamu
Put Num, ╚φsloZßznamu, Data1 "Zßpis
Get Num, ╚φsloZßznamu, Data2 "NaΦtenφ do prom∞nnΘ, pokud jste zapsali °et∞zec,
"musφte prom∞nnou definovat jako String, jinak dostanete Φφselnou hodnotu
MsgBox Data2 "Zobrazenφ dat
Close Num

Pro vytvß°enφ, kopφrovßnφ, mazßnφ a p°esouvßnφ soubor∙ a adresß°∙ jsou Metody ve v∞tÜin∞ p°φpad∙ stejnΘ jako p°φkazy v DOSu a jeliko₧ ji₧ nemßm moc mφsta pro podrobn² popis, pokud mßte mo₧nost alespo≥ nahlΘdnout do IDE (IntegrovanΘ V²vojovΘ Prost°edφ) Visual Basicu, otev°ete si Object Browser, dejte si vyhledat FileSystem a vÜe si prohlΘdn∞te.

Tφmto dneÜnφ dφl uzav°eme, p°φÜt∞ vßm povφm n∞co o Win32API a o AktiveX.

Adam HoÜek
clanky@atlas.cz
Publikovßno dne: 6.8.2000


AKTU┴LN═ ╚L┴NKY

  • Bou°livΘ zm∞ny ve Speed Expressu

  • Vφce pen∞z za mΘn∞ prßce

  • ╚φm horÜφ kvalita, tφm dra₧Üφ slu₧by

  • D∞ti, Internet a televize

  • Varovßnφ: Psanφ Φlßnku nezp∙sobuje rakovinu !

  • Jako z VesmφrnΘ Odysey

  •  

     

    NEJ╞TEN╠Jèφ ╚L┴NKY

  • Napster odsouzen k zastavenφ svΘ Φinnosti (185)

  • ProΦ nemßm rßd Windows (157)

  • 3:25 - Mr.Linx Hacknut ! (Update 13:00) (138)