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)