Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
BulgaraCeha slovacaCroataEnglezaEstonaFinlandezaFranceza
GermanaItalianaLetonaLituanianaMaghiaraOlandezaPoloneza
SarbaSlovenaSpaniolaSuedezaTurcaUcraineana

BiologieBudovaChemieEkologieEkonomieElektøinaFinanceFyzikální
GramatikaHistorieHudbaJídloKnihyKomunikaceKosmetikaLékaøství
LiteraturaManagementMarketingMatematikaObchodPoèítaèùPolitikaPrávo
PsychologieRùznéReceptySociologieSportSprávaTechnikaúèetní
VzdìláníZemìdìlstvíZemìpisžurnalistika

VisualBasic - Úvod do Visual Basic

poèítaèù



+ Font mai mare | - Font mai mic



DOCUMENTE SIMILARE

TERMENI importanti pentru acest document

:

VisualBasic

Historie programovacích jazykù



Úvod do Visual Basic

Základní pojmy

Vývojové prostøedí VB

Project Explorer

ToolBox

Kde hledat informace o objektech

Promìnné

Øídící struktury

Algoritmizace základních úloh

Procedury a funkce

Zásady psaní programového kódu

Vlastnosti objektù

Výrazy

Funkce VB

Matematické funkce

Funkce pro vstup a výstup údajù :

Funkce datumu a èasu

Funkce pro práci s øetìzci

Kreslení

Události ve VB

Vlastnosti projektu

Formátování èísel, øetìzcù, èasu

Menu Editor (Vytváøení menu)

ToolBar (Nástrojová lišta)

Práce se soubory

Pøístup k datùm v databázích

Chyby a ladìní programu

Kompilaèní a logické chyby

Odchytávání chyb za bìhu programu

Objekty VB

Form

Command Button (Pøíkazové tlaèítko)

Text Box (Pole textu)

Label (Nepøístupný text)

Check Box (Možnost)

Option Button (Volba mezi)

Frame (Rámeèek)

Picture Box (Obrázek)

Image (Obrazové tlaèítko)

Line (Èára)

Shape (Tvar)

List Box

Combo Box

Timer (Èasovaè)

Horizontal Scroll Bar, Vertical Scoll Bar (Posuvníky)

Drive List Box (Seznam jednotek)

Directory List Box (Seznam adresáøù)

File List Box (Seznam souborù)

Common Dialog (Standardní dialog)

Dialogy Open a Save As

Tvorba tøídy (class modul)

MapObjects

Doporuèená literatura

Historie programovacích jazykù

Každý procesor má svou sadu programovacích instrukcí, které lze použít pro psaní programù. Tìmto jazykùm se øíká strojový jazyk - assembler. Programování v nìm je pracné, proto byly vytvoøeny vyšší programovací jazyky. Prvním z nich byl jazyk FORTRAN (z Formula Translation) vyvinuty v USA v 60. letech 20.století. Dalším velice oblíbeným a rozšíøeným vyšším programovacím jazykem byl PASCAL. Tento jazyk byl urèen pro výuku programování. Vyznaèuje se tzv. strukturovaným programováním. Dalšími programovacím jazykem, který se používá je jazyk C a jeho novìjší varianty C+, C++, C#. Firma Microsoft vyvinula svùj programovací jazyk Visual Basic, který bude popisován dále.

Úvod do Visual Basic

Ještì dnes si mnoho lidí spojuje Basic s Visual Basicem (dále jen VB). Je pravdou, že z nìj VB pùvodnì vycházel. Dnes už mnoho spoleèného nemají. VB je plnohodnotným programovacím jazykem. VB umožòuje rychle vytváøet a implementovat distribuované aplikace a programovat webové aplikace s využitím známých nástrojù a funkcí VB.

VB obsahuje nástroje a objekty pro používání databází (DAO, ADO, ODBC, OLEDB atd.). Souèástí tìchto nástrojù je také plnohodnotný jazyk SQL. VB také podporuje mechanizmy OLE, neboli OLE Automation (Object Linking and Embedding), pomocí nichž je možno používat objekty jiných aplikací (napø. dokument Wordu), dále také mechanizmus DDE (Dynamic Data Exchange), který umožòuje výmìnu dat mezi aplikacemi. Dále VB obsahuje mnoho objektù pro rùzné akce, napø. komunikace v síti, s tiskárnami, grafické a multimediální prvky atd.

Dnes lze VB verze 6 koupit ve tøech verzích, Learning, Professional a Enterprise. Verze Learning, jak napovídá název, je urèena spíše pro uèení se jazyku. Ze všech tøech je nejlevnìjší. Navíc oproti dvìma dalším verzím má na CD interaktivní uèebnici. Pokud však mají být programy prodávány, èi jinak distribuovány, je nezbytné zvolit verzi Professional nebo Enterprise. Obì tyto verze umožòují vše, co je uvedeno výše, obsahují integrované nástroje pro pøístup k databázím atd. Verze Enterprise obsahuje navíc rùzné nástroje pro vyvíjení aplikací client-server, pro programátorské týmy apod. Cenovì se rovná asi dvojnásobku verze Professional.

Slovo Visual v názvu znamená vytváøení programu vizuálnì, tedy hlavnì za pomocí myši a vyplòování rùzných dialogù. Není to až tak úplnì pravda, za pomocí myši a dialogù vytvoøíte grafické rozhranní aplikace, a maximálnì nìjaké základní úkoly. Pokud však chcete vytvoøit trochu složitìjší aplikaci, bez psaní kódu se neobejdete.

Základní pojmy

Objekt, vlastnost, metoda, událost

Jazyk VB pracuje s objekty.

Objekt je urèitá simulace (malé) èásti reálného nebo abstraktního svìta, která je dána:

  • vlastnostmi (properties)
  • metodami  (methods)
  • událostmi (events).

Pøíkladem reálného objektu mùže být napøíklad èlovìk. Jeho vlastnostmi jsou: vìk, barva oèí, výška, … Kromì vlastností má èlovìk i urèité „schopnosti“ nebo „zpùsoby chování“, napøíklad umí chodit. Z hlediska programátora mohou být vlastnosti objektu chápány jako specifické promìnné s daným typem objektu. Metody jsou pak podprogramy pracující nad tìmito (ale i jinými) promìnnými.

Dalším pøíkladem objektu mùže být obyèejný nafukovací balónek. Ten má vlastnosti barvu, rozmìr, stav nafouknutý (ano/ne), vypuštìný, stáøí (což je neviditelná vlastnost). Metody, které mùžeme na balónku uplatnit jsou na nafukování, vyfukování. Událost, která mùže nastat je propíchnutí špendlíkem. Reakcí na tuto událost je splasknutí a protržení balónku a rána. Je to reakce objektu na vnìjší událost.

Tøída objektu

Tøída objektu pøedstavuje obecnou definici objektu – jeho vlastností a metod a událostí. To znamená, že je napøíklad stanoveno, že auto má barvu (obecnì) spolu s uvedením všech možných barev, které auto mùže mít. Tøída objektu je vzorem (šablonou) pro vytváøení instancí objektu.

Tøídou objektu jsou okno operaèního systému Windows.

Instance objektu

Instance objektu jedná se o konkrétní objekt - výskyt objektu. Tedy auto se státní poznávací znaèkou OVD 45 21, èíslem motoru 445821E, … Vlastnosti instance objektu už tedy nabývají konkrétních hodnot a objekt je jednoznaènì identifikovatelný. Taktéž dialogové okno Windows, které v kterém je dotaz na Restart, vypnutí poèítaèe, má své rozmìry, barvu, umístìní na obrazovce, jméno.

Metoda

Objekty mají definované metody. Metody jsou spojovány s chováním objektu. Dynamická stránka objektu je vyjádøena jako množina operací, které objekt mùže provádìt za urèitých podmínek. Metody objektu jsou procedury nebo funkce, které vykonávají urèitou èinnost nad vnitøní pamìtí objektu. Nad objektem lze vykonat jen metody, které má definované.

Událost

Bìh programu, èi jeho èásti je aktivován tzv. událostmi. Událost nastane po nìjaké specifické akci uživatele nebo systému. Napø. metoda zobrazení formuláøe je reakcí na urèitý podnìt uživatele (kliknutí na tlaèítko „Otevøi“, nebo stisknutí nìjaké klávesy na klávesnici – událost na tlaèítku, nebo na klávesnici) Bìžící program èeká na událost. Poté co událost nastane, spustí se kód, který je zapsán do procedury (podprogramu) svázané s touto událostí.

Principy a výhody objektovì orientovaného programování (dále OOP)

  1. Opakovatelnost použití objektu – je-li definována tøída objektu, lze snadno vytvoøit „nekoneènì mnoho“ instancí tøídy. Napø. je-li obecnì nadefinováno tlaèítko, které má urèitý vzhled a chování, je možné na základì této definice vytvoøit více tlaèítek (tlaèítko OK, Cancel, Retry, )
  1. Identita objektù – každý objekt musí být jednoznaènì identifikovatelný.
  1. Dìdiènost (inheritance)– jedna tøída objektu mùže být odvozena od jiné – nadøazené tøídy, dìdí poté vlastnosti a metody nadøazené tøídy. Vznikají urèité hierarchie tøíd objektù. Napøíklad je-li definována tøída „Dopravní prostøedek“ s vlastnostmi „poèet pøepravovaných osob“ a „maximální rychlost“, mohou být od ní odvozeny nové tøídy napø. „letadlo“, „loï“, „automobil“ atd., které daní vlastnosti dìdí. (ve VB je dìdiènost realizována pomìrnì složitými postupy)
  1. Rozšiøitelnost extensibility) – definici tøíd lze dále doplòovat a upravovat. Nová tøída automobil by pak mohla mít rozšíøena o vlastnosti jako: „poèet kol“, „poèet válcù“ atd.
  1. Zapouzdøení (encapsulation)– objekt by mìl být samostatnou jednotkou a mìl by mít jasné hranice. Zapouzdøujeme k objektu jeho  vlastnosti, metody a mùžeme k tomuto objektu pøistoupit jej pøes tyto metody. Tímto zpùsobem vlastnì objekt chráníme (zapouzdøíme), aby jej nebylo možné ovládat jinak, než pøes jeho vlastní metody.
  1. Polymorfismus – Nová tøída má stejné metody (jejich názvy) jako u nadøazené tøídy podle principu dìdiènosti. Avšak metoda stejného jména mùže mít jinou funkcionalitu. Platnost lokální metody má vyšší prioritu než zdìdìna metoda.

Visual Basic a objekty

Ve VB jsou pøeddefinované objekty  nebo objekty novì definované uživatelem.

Všechny ovládací prvky jsou pøedefinované objekty.

Pøíklady objektù : formuláøe (form), textová pole (Text Box)(pro zadávání i zobrazování), pøíkazová tlaèítka (CommandButton), popisky (Label), menu, atd.

Pomocí pøeddefinovaných objektù komponent lze vytvoøit program snadnìji a rychleji. Jedním z nejèastìji používaných objektù v programech je tlaèítko. Jestliže tedy máme k dispozici definici tøídy tlaèítko, které je nadefinováno jako obdélník s urèitými rozmìry, vzhledem, barvou, popisem atd., není tøeba pøi každém použití tlaèítka v programu znovu pracnì definovat tyto vlastnosti. Navíc jsou tyto kódy již odladìny, takže nevznikají další chyby. Pøi použití programové komponenty uživatel nepracuje pøímo s kódem, ale pøes komunikaèní prostøení programovacího jazyka pøistupuje pøímo k vlastnostem, metodám a událostem dané tøídy. Definice tøídy by mìla být univerzální pro širší použití, ale lze nalézt i zcela úzce zamìøené komponenty. Korektní použití programové komponenty zajišuje pøesná dokumentace.

Pøedstavíme-li si formuláø jako jedno z oken ve Windows, potom jako vlastnost mùžeme uvést barvu, titulek, velikost okna, atd. … a metodu napøíklad zobrazení formuláøe na obrazovce poèítaèe.

Objekty mají také obvykle nìjaké vztahy s okolím. Napøíklad okno jež je souèástí nìjaké aplikace ve Windows lze zavøít kliknutím na køížek v pravém rohu tohoto okna, ale také uzavøením celé aplikace, protože je vázáno na bìh aplikace (je její souèástí).

ALGORITMIZACE A ALGORITMUS

Problémem (úlohou) se nazývá stav, ve kterém vznikla potøeba doplnit existující systém poznatkù z jisté oblasti (tzv. problémové prostøedí) o nový poznatek – øešení problému.

Pøíklady:

Problémové prostøedí

Problém

Matematické výpoèty

Výbìr maximálního ze tøí èísel,

Øešení soustavy lineárních rovnic

Pøíprava pokrmù

Uvaøení èaje, upeèení bábovky, aj.

Doprava

Úspìšný pøechod vozovky

Postup, kterým se z pùvodního systému poznatkù dosáhne øešení problému, se nazývá postup øešení problému.

Znalost postupu øešení problému umožòuje vyøešit problém vždy, když se znovu objeví.

Postup øešení uvedeného typu se nazývá algoritmus.

Definice: Algoritmus je soubor pøesnì definovaných pravidel urèující poøadí vykonávání koneèného poètu elementárních operací, který zabezpeèuje øešení všech úloh urèitého typu.

Algoritmus lze charakterizovat tìmito základními vlastnostmi:

Elementárnost skládá se z koneèného poètu jednoduchých, snadno realizovatelných èinností (krokù)

Determinovanost (urèenost) – po skonèení realizace každého kroku lze urèit, zda realizace algoritmu skonèila a jestliže neskonèila, tak který krok je tøeba vykonat jako následující

Koneènost – každý krok algoritmu se vykoná pouze koneèný poèet kraát. Èinnost popsaná algoritmem tedy v koneèném èase skonèí.

Rezultativnost – úlohou algoritmu je vést postup øešení od daných (vstupních) údajù k výsledku.

Hromadnost algoritmus je urèen peo øešení velké skupiny problémù stejného typu.

Algoritmus musí být zapsán ve tvaru srozumitelnému procesoru. Stanovený zpùsob zápisu algoritmù se nazývá algoritmický jazyk. Vìty algoritmického jazyka pøikazují zmìnit stav procesu tak, aby postoupil blíže k øešení. Proto se vìty nazývají pøíkazy.

Jestliže je nalezen nìjaký postup øešení – algoritmus, je obvyklé, že existují i jiné, z urèitého hlediska lepší algoritmy (jednodušší, rychlejší atd.). V krajním pøípadì se mùže ukázat, že øešení problému vùbec neexistuje.

Vývojový diagram

Vývojový diagram je grafický zpùsob zápisu algoritmù, v nìmž jsou k zápisu jednotlivých krokù použity znaèky, které se spojují vodorovnými nebo svislými spojnicemi. Do znaèek se slovnì vpisují operace (skupiny operací) nebo symboly, blíže urèující význam znaèek.

Vývojové prostøedí VB


Lišta nástrojù – seskupení rozbalovacích nabídek (menu) a tlaèítek, pomocí kterých je projekt ovládán.

ToolBox – nabídka ovládacích nástrojù z nichž je program sestavován.

Okno Projektu – uvnitø se zobrazují formuláøe, které projekt obsahuje. Okno formuláøe pøedstavuje grafickou podobu (reprezentaci) dialogového okna (formuláøe) vytváøeného programu.

Form Layout – informace o tom, kde se bude právì aktivní formuláø nacházet na obrazovce pøi bìhu programu.

Okno Properties – pøehled vlastností a jejich poèáteèního nastavení k právì aktivnímu ovládacímu prvku.

Project Explorer – pøehled všech èástí (formuláøù) ze kterých daný projekt skládá.
Okno Immediate – okno sloužící k testování èástí programového kódu.

Okno Watches – okno pro sledování hodnot promìnných bìhem ladìní programu.

Pokud je nìkteré z výše uvedených oken zavøeno, lze jej znovu otevøít pomocí nabídky v rozbalovacím menu View.

V rozbalovací nabídce File jsou umístìny nabídky pro vytvoøení

  • nového projektu (New Project),
  • otevøení již existujícího projektu (Open Project),
  • otevøení dalšího projektu (Add Project),
  • odstranìní projektu (Remove Project),
  • uložení projektu (Save Project, Save Project As),
  • uložení právì aktivního formuláøe (Save Form a Save Form As),
  • tisk formuláøe (Print),
  • vytvoøení samospustitelného souboru *.exe (Make),
  • ukonèení bìhu VB (Exit) atd.

Project Explorer

V prohlížeèi (Exploreru) projektu jsou seskupeny všechny èásti projektu. Mohou zde být umístìny tyto èásti projektu:

  1. Formuláøe (Forms) – formuláø je objekt, okno, které vytváøí souèást uživatelského rozhranní vytváøené aplikace. Mùže obsahovat (a také vìtšinou obsahuje) zdrojový kód. Na formuláø mùžete umísovat libovolné ovládací prvky (tlaèítka, obrázky atd., dále menu, titulek, minimalizaèní, maximalizaèní a uzavírací tlaèítka).

MDIForm je tzv. rodièovský formuláø. To znamená, že mùže sdružovat (tvoøit pozadí pro) nìkolik dceøinných formuláøù.

Grafické okno formuláøe  Zápis programového kódu

  1. Moduly (Modules modul je pouze 'schránka', která obsahuje procedury, funkce a deklarace, tzn. na rozdíl od formuláøe má pouze tu èást, která obsahuje programový kód, neosahuje žádnou grafickou èást, která by se zobrazovala pøi bìhu programu. (slouží pøedevším pro definování globálních promìnných, uživatelských datových typù, procedur a funkcí – viz pozdìji)
  1. Tøídy (Class Modules) - pøedloha pro vytváøení instancí objektù - jedná se o vzor pro vytváøení konkrétních objektù.
  1. ActiveX prvek (ActiveX Control) - objekt, který mùže být souèástí aplikace nebo mùže být samostatnou aplikací (v tomto pøípadì má pøíponu OCX). ActiveX prvky se zobrazují v oknì Toolbar.

Projekt - soubor formuláøù (oken), modulù, tøíd atd. (viz dále), jednoduše soubor rùzných èástí, ze kterých se skládá celá aplikace.

Z èeho se skládá projekt:

Pøi ukládání projektu na disk se ukládají jednotlivé èásti projektu do samostatných souborù. Jedná se o soubory s následujícími pøíponami:

.VBP – obsahuje seznam všech èástí projektu, jako napø. formuláøù, objektù, a dále nastavení vlastností, napø. verze, název atd.

FRM – modul formuláøe – viditelná èást

.FRX – je automaticky vytvoøen, pokud formuláø obsahuje ikony a obrázky

.BAS – standardní modul (basický), jen zdrojový kód formuláøe

.CLS – modul tøídy

.EXE – samospustitelný soubor

.DOB, .CTL, .PAG, … - pro ActiveX

ToolBox

Obsahuje základní nabídku ovládacích prvkù. Tyto lze pøidávat èi odebírat pomocí pravého tlaèítka na myši (pøíp. klávesové zkratky CTRL-T, nebo v rozbalovací nabídce Project/Components).

Label (popisek, návìští) – pro texty, které uživatel za bìhu programu nemìní.

Text box (textové pole) – pro texty, které uživatel vkládá za bìhu programu

Command button (tlaèítko)

Line (èára) – pro grafické oddìlení jednotlivých èástí formuláøe

Shape (tvar) – pro kreslení geometrických tvarù na formuláø

Image (obrazové tlaèítko) – k zobrazení grafiky, ale mùže sloužit i jako tlaèítko

Picture box (obrázek) – k zobrazení grafiky

Frame (rámeèek) – pro grafické oddìlení (seskupení) tématicky shodnì zamìøených prvkù na formuláøi.

Option button (volba mezi) - výbìr z možností

Check box (zaškrkávací políèko)

File list box (seznam souborù)

Directory list box (seznam adresáøù)

Drive list box (seznam diskù)

List box (seznam)

Combo box (rozbalovací seznam)

Horizontal scroll bar (vodorovný posuvník)

Vertical scroll bar (svislý posuvník)

Timer (èasovaè)

Data (data)

OLE container (OLE kontejner)

Ovládací prvky se umisují na formuláø (grafickou èást), tak že se pøíslušný ovládací prvek oznaèí v ToolBoxu a kurzorem se poté oznaèí jeho umístìní na formuláøi, nebo dvojtým poklikáním na daný ovladaè v ToolBoxu.

- toto pole je v ToolBoxu automaticky oznaèováno po pøenesení ovládacího prvku na formuláø. Je-li vybráno, je u aktivního ovládacího prvku na formuláøi (u toho, v jehož obrys je vyznaèen ètvereèky) možné mìnit umístìní a velikost tohoto prvku pomocí myši (napø. potáhnutím rohového ètvereèku).

Kde hledat informace o objektech

Object Browser – zobrazuje všechny údaje o objektu (vlastnosti, metody, události, konstanty) s popisem, ale jen struènì a bez souvislostí a hranièních podmínek.

Okno Properties – ukazuje vlastnosti a jejich možné hodnoty s popisem. Neukazuje metody a události a z vlastností jen ty, které jsou pøi návrhu dostupné.

Help – podrobný popis vèetnì poznámek, souvislostí a pøíkladù (mnohdy obtížné hledání)

Další (Internet – msdn.microfost.com)

Promìnné

Promìnné slouží k doèasnému uchování hodnot bìhem vykonávání programového kódu.

Jsou definovány názvem, datovým typem, rozsahem platnostidobou platnosti.

Pravidla pro názvy promìnných a konstant:

nepoužívat klíèová slova, nesmí obsahovat: mezeru, èárku, &, #, @, $, %, !

musí zaèínat písmenem

bez diakritiky

jména promìnných, konstant a podprogramù musí být kratší než 255 znakù

jména formuláøù, ovladaèù, tøíd a modulù musí být kratší než 40 znakù – bez diakritiky, zaèínají písmenem, neklíèová slova

Datové typy

Datový typ

T

Rozsah hodnot

Pamì

v bytech

Byte

Boolean

True, False

Integer

-32 768 až 32 767

Long

&

-2 147 483 648 až 2 147 483 647

Single

-3,402 823E+38 až –1,401 298E-45 1,401 298E-45 až 3,402 823E+38

Double

-1,797 693 134 862 32E+308 až –4, 940 656 458 412 47E-324;

4,94065645841247E-324 až 1,79769313486232E308

Currency

-922 337 203 685 477,5808 až 922 337 203 685 477,5807

Decimal

96bitová èísla bez znaménka 

Date

1.1.100 až 31.12.9999

Object

Odkaz na jakýkoliv objekt v aplikaci nebo jiných aplikacích

String

0 až 2 miliardy znakù

10+délka øetìzce

String*délka

1 až 65 400 znakù

délka øetìzce

Variant

èíselná promìnná až do rozsahu Double

String promìnné délky

22+délka øetìzce

Uživatelsky definovaný

rozsah pro každý prvek je shodný s rozsahem jeho datového typu

Pole jakéhokoli datového typu zabírají 20B pamìti a 4B pro každý rozmìr pole, plus poèet bytù zabraných vlastními daty.

Rozsah platnosti

Udává, ve které èásti – a v jak velké èásti – aplikace má jméno promìnné (konstanty) vazbu na tutéž entitu (promìnnou, objekt …).

Lokální – platí v dané proceduøe, èi funkci. Deklarují se uvnitø procedury pøíkazem Dim.

Modální – platí v daném formuláøi. Deklarují se v záhlaví modulu formuláøe pøíkazem Dim.

Globální – platí v celém projektu. Deklarují se v basickém modulu pøíkazem Public.

Doba platnosti

Deklarace Dim – promìnná existuje pouze pøi bìhu procedury, pøi novém spuštìní se znovu inicializuje.

Static – hodnota se uchová i po skonèení bìhu procedury a vstupuje do ní i pøi jejím dalším volání.

Deklarace promìnné

Deklarace nejsou povinné, avšak po zápisu klíèového slova Option Explicit jsou vyžadovány. Promìnná se musí deklarovat pøed prvním použitím. Má tu výhodu, že pøedejdeme pøeklepùm v názvech promìnných.

Není-li promìnná deklarována je typu Variant.

a)        Jednoduchá promìnná

Deklarace se provádí zápisem

jméno_promìnné [As typ]

napø.

Dim sestra As String

Public jmeno As String * 20 ‘definována pevná délka 8 znakù

b)        Uživatelem definovaný typ

Deklaruje se pouze v deklaraèní èásti basického modulu nikoliv procedur.

Napø.

Type zamestnanec

Jmeno As string

Prijmeni As string

Vykonnost As integer

End type

Po vytvoøení tohoto uživatelského typu – deklarace promìnné delnik:

Dim delnik As zamìstnanec

Použití:

delnik.jmeno = „Jan“

c)        Pole

Promìnná na jejíž prvky se odkazujeme indexem. Jeho prvky mají stejný datový typ (výjimka je variant).

Deklarace: jméno_pole[([indexy])] [As typ][*]

jednorozmìrná pole

Napø.:

Dim intPole (20) As Integer

Dim Pole(1 To 5) As String

Pole

aaaa

bbbb

cccc

dddd

eeee

Pole(1) Pole(2) Pole(3) Pole(4) Pole(5)

vícerozmìrná pole pro uložení matic

Napø.

Dim matice (1 To 10, 1 To 10) As Integer

dynamická pole - pro pøípad, kdy neznáme rozmìr a meze pole a jsou upøesnìny až za bìhu programu

deklarace : Dim intPole() As Integer

pøed prvním použitím klíèové slovo ReDim

N=20

ReDim intPole (1 To N) As Integer

ReDim intPole(0) ‘ odalokace pamìti

d)        Konstanty

Uživatel mùže definovat vlastní konstanty následující deklarací :

[Public][Private] Const názevkonstanty [ As typ] = výraz

Const pi = 3.14159265358979

Const Sto=100

Sám VB má množství konstant, které jsou veøejné.

Poèáteèní hodnoty promìnných

Numerické promìnné => 0

Øetìzce promìnné délky => øetìzec nulové délky

Øetìzce pevné délky => øetìzec obsahující binární nuly

Variant => Empty

Øídící struktury

Programátor potøebuje ovládat tok provádìní pøíkazù, jinak se pøíkazy provádìjí v poøadí zleva doprava a shora dolù. Øídící struktury umožòují  vìtvení programu. Øídící struktura mìní poøadí pøíkazù a poèet vykonání.

Dìlíme je na rozhodovací struktury a smyèky (cykly).

Rozhodovací struktury

If podmínka Then pøíkaz

If podmínka Then

pøíkazy

Else

pøíkazy

End If

If podm1 Then

blok pøíkazù1

ElseIf podm2 Then

blok pøíkazù2

Else

blok pøíkazù 3

End If

Select Case testovací výraz

Case výraz2

pøíkazy1

Case výraz2

pøíkaz2

Case Else

Pøíkazn

End Select

Struktury cyklu

Do While podmínka

pøíkazy

Loop

Do

Pøíkazy

Loop While podmínka ‘provede se aspoò jednou

For poèítadlo=start To konec [Step p rùstek]

Pøíkazy

Next [poèítadlo]

For Each prvek In skupina

Pøíkazy

Next prvek

Opuštìní øídící struktury Exit For, Exit Do

Návìští - umožní skok na jiné (oznaèené) místo programu.

pøíklad: Pokracuj: Sem: Znovu: Konec:

Go To Konec

Série pøíkazù s objektem:

With objekt

[pøíkazy]

End With

Algoritmizace základních úloh

Úkol è.1

Naleznìte maximum a minimum ze tøí vstupních èísel A,B,C.

Øešení je naznaèeno následujícím vývojovým diagramem.

Úkol è.2: Setøiïte vstupní posloupnost n èísel od nejvìtšího k nejmenšímu.

Pro øešení je použit algoritmus Bubble sort.

BubbleSorting

Promìnné :

a(i) – vstupní pole

N – poèt vstupních èísel

pom – pomocná promìnná

k – poèet utøídìných prvkù posloupnosti

IZ – indikace zámìny prvkù

setøiïuje od nejvìtšího k nejmenšímu

maxima probublávájí vlevo, minima vpravo

Procedury a funkce

Procedura je menší logický celek, kterým èleníme program. Mùžeme øíci, že je stavebním prvkem, který je urèen pro opakované použití.

Dìlíme na procedury:

  • událostní (event procedures)

Pøipojeny k událostem jednotlivých ovládacích prvkù, vyvolají se až pøi události

  • obecné (mùže ji volat událostní procedura) general

Není pøipojena k objektu.

Typy jsou následující:

  1. SUB - uvozené klíèovým slovem Subroutine – podprogram

nevrací po svém ukonèení žádnou hodnotu

ukonèeno klíèovým slovem End Sub

  1. Funkce - uvozené klíèovým slovem Function vrací hodnotu

funkce je zvláštní pøípad procedury pro provádìní výpoètù

  1. Property vrací hodnoty a pøiøazují hodnoty, nastavují odkazy na objekty

Událostní procedury

Události mohou napøíklad být kliknutí na tlaèítko, stisk klávesy atd.

Ve VB jsou vytváøeny programy øízené událostmi. To znamená, že po spuštìní programu se objeví komunikaèní prostøedí programu a VB èeká na akci (událost) uživatele. Objekt na danou událost reaguje podle toho, co nadefinoval programátor (co je uvnitø procedury, která se spustí, když nastane daná událost)

Název událostní procedury je sestaven z názvu objektu podtržítka a jména události.

Pøíklad 1: Výpis na formuláø slova „Ahoj programátore“, tlaèítka Konec a Vypis

Private Sub Cmdvypis_Click()

Print “Ahoj programátore“
End Sub

Private Sub Cmdkonec_Click()

End

End Sub

Definice a použítí funkcí

[Private] [Public] [Static] Function jméno_procedury (parametry) [As typ]

pøíkazy

End Function

Pøíklad definice :

  1. Function Mocnina (a As Single) As Single

Mocnina=a*a

End Function

  1. Public Function Kontrola(JménoUživatele As String, heslo As String) As String

Pøíklad použití :

  1. K=Mocnina(5)
  1. návrat = Kontrola(txtUserName.Text, txtPassword.Text)

Pokud chybí definice návratové hodnoty pak je variant.

Zásady psaní programového kódu

Styl psaní kódu ve VB je jedna z nejtìžších èástí, protože budete-li potøebovat nìkde najít chybu èi pøidat další kód, musíte se v kódu výbornì vyznat. To není tìžké, když program píšete jeden den, ale když už program píšete déle, zaruèenì si nebudete pamatovat význam všech døíve psaných funkcí. Od toho jsou tzv. komentáøe, které mùžete libovolnì do kódu vkládat. V návrhu se zobrazují jako èást kódu, ale pøekladaè je pøeskakuje, jako kdyby šlo o prázdné øádky. Komentáøe se vkládají za znak ' nebo Rem a ve vývojovém prostøedí se poté komentáø zbarví na zelenou barvu. Komentáøe používejte takøka všude, kde to jde, protože vám tím zpøehledòují kód a výslednou velikost souboru neovlivní.

Komentáøe:

Komentáøe se pro záhlaví modulu obsahují: název modulu, název souboru, kdo jej vytvoøil, zda a kdo jej kontroloval a kdy. Komentáø pro záhlaví funkce obsahuje: co funkce dìlá, jaké má parametry, …

Komentáøe pro deklaraci promìnných vysvìtlují význam, úèel a použití deklarovaných promìnných.

Komentáø je jen jedna z nìkolika položek, které vám zpøehlední kód. Další dùležitou položkou je vkládání prázdných øádek a odsazování.

Pravidla pro správné psaní kódu:

Rozkouskujte kód pomocí prázdných øádkù.
Nepištì pøíliš dlouhé, nepøehledné procedury - pokud možno by jejich délka nemìla pøesáhnout jednu obrazovku.
Nepøehánìjte odsazování. Máte-li problémy s pøíliš dlouhými øádky kódu, je možné, že máte pøíliš velké odsazení.
Pro vylepšení èitelnosti kódu závorkujte. Nikdo z tìch, co po vás kód ètou, by nemìl bádat nad tím, co jste to vlastnì napsal.
Udržujte obrazovku ve vizuálnì dobrém stavu. Pøi vytváøení dlouhých øetìzcù bude lepší tento vytvoøit øadou postupných pøiøazení.

Barevné znaèení v editoru programového kódu:

klíèová slova

Modøe

názvy operátorù, pøíkazù, funkcí, metod

komentáø

Zelenì

‘ nebo Rem ( remark)

Ostatní

Èernì

Chyby

Èervenì

Typové pøedpony:

Deklarujete-li promìnné na zaèátcích procedur, mùže se vám stát, že si nebudete pamatovat, jaký datový typ promìnná obsahuje, a museli byste se koukat na zaèátek procedury, jaký datový typ jí byl pøidìlen. Abyste se tomuto vyhnuli, používejte tzv. typové pøedpony. Typová pøedpona je nìkolik znakù, které se napíší pøed promìnnou a vy budete ihned vìdìt, jaký datový typ promìnná má.

Pøíklad použití typové pøedpony:

Dim strFile As String
Dim bolExist As Boolean

Tabulka typových pøedpon

byt

Byte

bol

Boolean

cur

Currency

dbl

Double

dte

Date

sng

Single

lng

Long

int

Integer

obj

Object

str

String

var

Variant

Pøedpony nejsou jenom typové, ale dají se použít i u prvkù. Takovým promìnným se øíká pøedpony ovladaèù. Vzhledem k tomu, že prvkù mùže být ve Visual Basicu tolik, kolik si nainstalujete, tak je zde uvedeno jen nìkolik základních pøedpon.

Tabulka pøedpon ovladaèù

pic

PictureBox

lbl

Label

txt

TextBox

fra

Frame

cmd

CommandButton

chk

ChechBox

opt

OptionButton

cbo

ComboBox

lst

ListBox

hsb

HScrollBar

vsb

VScrollBar

tmr

Timer

drv

DriveListBox

dir

DirListBox

fil

FileListBox

shp

Shape

lin

Line

img

ImageBox

dat

Data

ole

OLE

Zápis vlastností, metod, funkcí

Zpùsob

pøíklad

Funkce

staèí zapsat název funkce a parametry

MAX(a,b),  COS (3,1415)

Metoda

nazevobjektu.metoda parametry]

frmdalsi.show

Vlastnost

nazevobjektu.vlastnost = hodnota vlatnosti

frmdalsi.caption = “Další formuláø“

Název událostní procedury

nazevobjektu_udalost

frmhlavni_load

Dva pøíkazy na jednom øádku – oddìleny „:“ => pøíkaz1:pøíkaz2, ale pozor

If p=1 then x = 1 : y = 1

není to samé jako

If p=1 then x=1

y=1

Je-li tøeba rozdìlit jeden pøíkaz na více øádkù – konec øádku je ukonèen mezerou a podtržítkem. Viz. pøíklad 15min.vbp.

Vlastnosti objektù

Vlastnosti udávají vzhled a chování ovládacího prvku v aplikaci.

pø. textové pole má definován název, font, velikost pole, jeho umístìní ve formuláøi, pøístupnost (Enabled) atd.

kategorie vlastností : vzhled (appearance), chování (behaviour), vazba na databázová data

vlastnosti podle dostupnosti :

lze nastavit jednou pøi zakreslování do formuláøe, nelze mìnit programovým kódem,

pouze za bìhu programu

jak pøi tvorbì formuláøe, tak pøi bìhu programu (vìtšina vlastnost

Nejèastìjší vlastnosti: name (identifikátor), appearance (tvar) – zobrazení ploché, plastické, caption (popisek), backcolor (barva pozadí), forecolor (barva popøedí, napø. textu, tvaru, èáry), font (font písma pro psaní na objekt), enabled (pøístupnost objektu), visible (viditelnost), with (šíøka), height (výška), left (odsazení levé hrany objektu od hrany formuláøe), Top (odsazení horní hrany), mousepointer (podoba kurzoru), Tag (uživatelský údaj - jakýkoliv)

Pøíklad 2: Nastavování vlastnosti WindowState formuláøe pomocí tlaèítka Zvìtšit/Zmenšit.

Private Sub Cmdveokna_Click() 

Frmokno.cls ‘vymaže formuláø

If Frmokno.WindowState = 2 Then

Frmokno.WindowState = 0 

Cmdvelikost.Caption = “Zvìtšit” 

Print “Okno je zmenšené“ 

Else If Frmokno.WindowState = 0 Then

Frmokno.WindowState = 2  

Cmdvelikost.Caption = “Zvìtšit”  

Print “Okno je zvìtšené“ 

End If

Výrazy

operand1 operátor operand2

Operátory:

Matematické - +, -, *, /, (celoèíselné dìlení), MOD (zbytek po celoèíselném dìlení)

porovnávací - =, <, >, <>, <=, >=, Is (rovnost objektù), Like (porovnání se šablonou)

logické - not, and, or, eqv, xor, imp

øetìzící - &, + (spojování øetìzcù)

Precedence oprátorù (pøednost)

matematické, porovnávací, logické

zleva doprava

zmìna precedence pomocí závorek

Pøíklad 3a: Výpis osoby – uživatel zapíše jméno, pøíjmení a rok narození a vše se vypíše na formuláø (do Labelu).

Private Sub cmdvypis_Click()

Dim strjmeno As String

Dim strprijmeni As String

Dim strpohlavi As String

Dim intnarozeni As Integer

strjmeno = txtjmeno.Text

strprijmeni = txtprijmeni.Text

intnarozeni = txtnarozeni.Text

lblvypis.Caption = strjmeno & “ “ & strprijmeni & “ narozen(a) “ & intnarozeni

End Sub

Funkce VB

Matematické funkce

Znaménko Sgn(èíslo)

Absolutní hodnota Abs(èíslo)

Zaokrouhlení dolù Int(èíslo)

Zaokrouhlení nahoru Chnt(èíslo)

Odøíznutí celé èásti Fix(èíslo)

Maximum Max(a, b, …)

Minimum Min(a, b, …)

Sinus Sin(a)

Cosinus  Cos(beta)

Funkce IsNumeric, IsDate vrací True nebo False

IsEmpty – zda-li byla pøiøazena hodnota o zaèátku spuštìní programu

IsNull - dosud neurèená data

varVariant = Null , varVariant=Empty

Funkce pro vstup a výstup údajù :

Funkce InputBox – vstup údajù. Do okna se naèítá øetìzcová promìnná.

Pø. strJmeno=InputBox(„Zadej jméno osoby“)

Funkce MsgBox slouží pro výstup. Zobrazí okno se zprávou, okno obsahuje : text, tlaèítka, ikony.

MsgBox(text[, tlaèítka] [, nápis-title] [, helpfile, context])

Argumenty:

vbOKOnly - jen tlaèítko OK

vbOKCancel - tlaèítka OK a Cancel

vbAbortRetryIgnore - tlaèítka Abort, Retry a Ignore

vbYesNoCancel - tlaèítka Yes, No a Cancel

vbYesNo - tlaèítkaYes a No

vbRetryCance - tlaèítka Retry a Cancel

vbCritical - tlaèítko OK s ikonou kritické zprávy

vbQuestion - varování s ikonou otazník

vbExclamation - ikona varování

vbInformatin - informaèní okno

Napø. MsgBox (“Zpráva pro uživatele”, vbOKCancel+vbExclamation,”Okno se zprávou”)

Funkce datumu a èasu

funkce Now – právì aktuální datum a èas

Format (Now,“hh:mm“) vrací 14:20

Funkce pro práci s øetìzci

Práce je s øetìzci je èastou úlohou. Typickými úlohami je

  • spojení (”dobrý“ & “den”), rozdìlení øetìzcù 
  • zjištìní podøetìzce z daného øetìzce, zjištìní výskytu

Klíèové slovo Popis Pøíklad

Ucase Zmìní písmena v øetìzci na velká Ucase (“Pavel“) vrátí PAVEL

Lcase Zmìní písmena v øetìzci na malá

Len Vrací délku øetìzce Len (“Mississippi“) vrátí 11

Right Vrací z øetìzce do n-tého znaku zprava Right (“Kašpárek“,5) vrátí párek

Left Vrací z øetìzce do n-tého znaku zleva Left (“Ahoj“,3) vrátí Aho

Mid Vrací z øetìzce urèitý poèet znakù od pozice start Mid (“kašpárek,4,3) vrátí pár

InStr Hledá podøetìzec v daném øetìzci

String Vrátí zadaný poèet urèených znakù String(8,*) vrátí ********

Space Vrátí zadaný poèet mezer Space(5)

Asc Vrátí kód ASCII zadaného písmene Asc (“A“) vrátí 64

Chr  Vrátí písmeno odpovídající ASCII kódu Chr(97) = a

Xor  Provádí mezi dvìma èísly operaci výluèného nebo 65 Xor 50 vrátí 115

115 Xor 50 vrátí 65

Trim Odøízne mezery z obou stran Trim(“ ahoj “) vrátí “ahoj“

Ltrim Odøízne mezery zleva Ltrim(“ ahoj “) vrátí “ahoj “

Rtrim Odøízne mezery zprava Rtrim( “ ahoj “) vrátí “ ahoj“

Lset Pøi opakovaném naplnìní promìnné je velikost len() stejná zprava retez=“aaa“; Lset retez=“abcde“ vrátí “abc“

Rset Pøi opakovaném naplnìní promìnné je velikost len() stejná zleva retez=“aaa“; Rset retez=“abcde“ vrátí “cde“

Cstr Pøevod na øetìz Cstr (“A” < “B” ) vrátí “true”

Str Pøevede èíslo na øetìzec

Val Inverzní k Str Val („ 2 45 78“)

Cint pøevod øetìzce na èíslo datového typu integer

Funkce lze vnoøit do sebe.

Znaková sada ASCII obsahuje

0-31 øídící znaky

32-127 základní sada

128 –255 graf. symboly a cizojazyèné abecedy

Operátory porovnávání textových øetìzcù jsou <>, =, >, <, <=, >=

pøíklad : “A” < “B” true

“A” < “a” true

“Matìj” < “Martin” se vyhodnotí jako False!

x

 
Kreslení

Kam : do objektu formuláøe nebo do objetu picture box (konvence oznaèování pic)

Rozmìry Height, With zjistíme ve vlastnostech ( u obou objektù).

y

 
(picObraz.print “Toto je text“, picObraz.cls)

Události : paint, click, dblclick

Poèátek souøadnic je levý horní roh, má souøadnice 0,0.

Mìøítko - jednotka 1 twip (1/20 bodu na tiskárnì). 1palec=1440 twipù 1 cm=567twipù

Rozmìry na tiskárnì, na obrazovce se liší velikostí monitoru a rozlišením.

Jednotka vykreslování lze mìnit vlastností ScaleMode.

picObraz.ScaleMode = 3 ‘stupnice v pixlech

Nastavení mìøítka:

  • pro vykreslování objektù na formuláø - x, y, polomìr, tlouška èáry
  • pro vlastnosti formuláøe a ovládacích prvkù jako jsou with, height, top, left
  • Form1.ScaleMode - výbìr ze sedmi možností
  • 1 - Twip = 1440 inches
  • 2 - Point = 72 inches
  • 3 -Pixel - bod výstupního zaøízení
  • 4 - Character: horizontal =120 twips per unit; vertical = 240 twips per unit
  • 5 - Inch
  • 6 - Milimeter
  • 7 - Centimeter

0 - User - vlastní mìøítko pak je nutné nastavení vlastností ScaleLeft, ScaleTop, ScaleWidth, ScaleHeight

Metoda line – kreslení èáry

Objekt.Line (souradnice poèáteèního bodu) – (souøadnice koncového bodu)

Objekt.Line (x1,y1) - (x2,y2)

Pø. picObraz.Line (0,0) – (1000,1000)

metoda Pset nastaví barvu pro individuální pixel

picObraz.Pset (x,y) [,color]

Funkce RGB(0,0,255) jasnì modrá

Pø. Generovaní libovolné barvy

Public Function barva() As Double

r = 255 * Rnd

b = 255 * Rnd

g = 255 * Rnd

barva = RGB(r, g, b)

End Function

Metoda circle

a)         kreslení kruhu

Objekt.circle (stredx, stredy),polomìr

. PicObraz.circle (1500,1500),1000

b)        kreslení oblouku

metoda circle (stredx, stredy),polomer,barva,pocatecni_ uhel, koncovy_uhel

poèátek a konec v radiánech)

Pø.: PicObraz.circle (1500,1500),1000, PI/2,PI

c)         kreslení elipsy

metoda circle (stredx, stredy),polomìr, barva,start, end, aspect

aspect je pomìr horizontálních a vertikálních rozmìrù

pøi udání start a end se vykreslí èást elipsy aspect >1 0<aspect<1

Pø. : PicObraz.circle (1500,1500),1000, , , 2

d)        kreslení n-úhelníku

nakreslíme pomocí metody line

x

y

1.bod

1000

2.bod

3.bod

n-tý bod

Pole (1, 1) x - ová souøadnice 1. bodu

Pole (1, 2) y - ová souøadnice 1. bodu

Pøíklad:

‘kreslení pìtiúhelníku

For i = 1 To 4

PicObraz.Line (pole(i, 1), pole(i, 2))-(pole(i + 1, 1), pole(i + 1, 2))

Next i

‘ cara od posledniho bodu k prvnimu

PicObraz.Line (pole(5, 1), pole(5, 2))-(pole(1, 1), pole(1, 2))

Vlastnosti objektu (form nebo picture) :

  • síla kresleného objektu - Form1.DrawWidth. 1 je implicitní.
  • barva kresleného objektu Form1.ForeColor
  • styl èáry - Form1.DrawStyle - výbìr ze 6-ti konstant (Plná - implicitní, Èárkovaná, …)
  • výplò kruhu (elipsy) - Form1.FillStyle - výbìr ze sedmi kategorií (Plná, Prùhledná - implicitní, Pøíèné šrafování, ..)
  • barva výplnì - Form1.FillColor - jako ForeColor

Psaní textu na formuláø

Print - Platí nastavení ForeColor

Lze nastavit font - vlastnosti nebo Form1.Font.Parametr

Lze umísovat pomocí nastavení vlastností Form.CurrentX a Form.CurrentY. Jinak se kreslí do poslednì použitého místa na formuláøi.

Mazání nakresleného textu a objektù

Pokud není vlastnost formuláøe AutoRedraw nastavená na hodnotu true dojde ke smazání vždy pøi pøekreslení okna. Jinak lze použít metodu Form.Cls

Všechny pøedchozí kreslící techniky lze využít pro kreslení do objektu PictureBox.

Pøíklad 9: Vytvoøte pozadí formuláøe, které plynule pøechází od modré do èerné.

Private Sub Frmhlavni_Paint()
Dim lngporadi As Long


Frmhlavni.DrawWidth = Int(Frmhlavni.Height / 256)
For lngporadi = 1 To Frmhlavni.Height Step Frmhlavni.DrawWidth
Frmhlavni.Line (0, lngporadi)-(Frmhlavni.Width, lngporadi), _

RGB(0, 0, 256 - 256 * lngporadi / Frmhlavni.Height)
Next lngporadi
End Sub

Události ve VB

Události jsou urèeny pøedevším k tomu, aby zachytily èinnost uživatele, která není deterministická a program nemùže pøedvídat, kdy nastane. Události lze ovšem aktivovat i programovì. Øadu událostí lze také spustit nepøímo, zmìnou vlastnosti prvkù.

  • Vyvolané myší
  • Vyvolané klávesou
  • DragDrop, DragOver
  • Vyvolané z externích zaøízení

Události myši

Click – nastane, když uživatel stiskne klávesu myši a opìt ji uvolní, to vše nad objektem. Mùže též nastat pøi zmìnì hodnoty. Pro objekt formuláø nastane, když uživatel klepne buï na prázdnou oblast mimo ovládací prvky, nebo na zablokovaný (disabled) prvek. Kromì prvkù CheckBox, CommandButton, ListBox a OptionButton natane událost pøi klapnutí na levou i pravou klávesu myši.

Prvek

Akce uživatele

Akce programu

CheckBox

klapnutí levou klávesou, když je prvek v ohnisku, mezerník

Zmìna vlastnosti value

CommandButton

klapnutí levou klávesou, když je prvek v ohnisku, mezerník. ENTER a vlastnost Default=True; ESC a vlastnost Cancel=True

Zmìna vlastnosti value na True

OptionButton

klapnutí levou klávesou, když je prvek v ohnisku, mezerník

Zmìna vlastnosti value na True

ListBox

klapnutí levou klávesou, výbìr položky ze seznamu

ComboBox

klapnutí klávesou myši, výbìr položky ze seznamu

ostatní

klapnutí klávesou myši

DoubleClick – nastane, když uživatel po sobì klikne nad objektem. Pro ovládací prvky platí:

dvojklik na prvku levou klávesou myši

dvojklik na položce seznamu levou klávesou myši – prvky ComboBox stylu 1, FileListBox, ListBox , DBComb, DBList.

MouseDown – nastane, když nad prvkem uživatel stiskne klávesu myši.

MouseUp

MouseMove – nastává, když uživatel pohybuje myší. Objekt dostává tyto události pøi každém pohybu ukazatele nad sebou; jakmile ukazatel pøejede nad jiný objekt, zaène dostávat události MouseMove ten.

Change – indikuje zmìnu obsahu ovládacího prvku. Jak a kdy tato událost nastane to závisí na druhu ovládacího prvku.

Prvek

Akce uživatele

Akce programu

ComboBox

zmìna textu v poli textu, jen u stylù 0 a 1, kde je povoleno do pole textu zapisovat

zmìna textu programem

DirListBox

dvojklik nového ardesáøe

zmìna vlastnosti Path

DriveListBox

výbìr nové jednotky

zmìna vlastnosti Drive

HScrollBar

pohyb knoflíku jakoukoliv metodou

zmìna vlastnosti Value

VScrollBar

pohyb knoflíku jakoukoliv metodou

zmìna vlastnosti Value

Label

zmìna dat vazbou DDE

zmìna vlastnosti Caption

PictureBox

zmìna dat vazbou DDE zmìna vlastnosti Picture

TextBox

zmìna textu

zmìna dat vazbou DDE zmìna vlastnosti Text

Události z klávesnice

KeyDown – nastane na prvek ležící v ohnisku, když uživatel stiskne klávesu. Poskytuje kódy všech kláves Shift, Ctrl a Alt. Neposkytne výsledné znaky (k tomu je urèena událost KeyPress).

KeyUp – nastane na prvek ležící v ohnisku, když uživatel uvolní stisknutou klávesu. Dále platí vše, co pro událost KeyDown.

KeyPress - nastane pro objekt v ohnisku, když uživatel stiskne a uvolní ANSI klávesu. Kromì kláves viditelných znakù to mùže být i jejich klávesová kombinace a Ctrl a klávesy Enter a BackSpace. Událost pøedává znak, držení pøedøadných kláves nebo stisk øídících kláves (jako argument procedury). Úhoz se pøeloží na znak pomocí funkce Chr(KeyAscii) popø. Zpìt funkcí Asc(znak).

KeyPreview - vrací nebo nastaví hodnotu, které urèuje, která událost na klávesnici probìhla na formuláøi pøed událostí na ovladaèi (

Returns or sets a value that determines whether keyboard events for forms are invoked before keyboard events for controls. The keyboard events are KeyDown, KeyUp, and KeyPress.)

Kódy kláves

Constant Value Description

vbKeyLButton 1 Left mouse button

vbKeyRButton 2 Right mouse button

vbKeyCancel 3 CANCEL key

vbKeyMButton 4 Middle mouse button

vbKeyBack 8 BACKSPACE key

vbKeyTab 9 TAB key

vbKeyClear 12 CLEAR key

vbKeyReturn 13 ENTER key

Pøíklad 7:

Vytvoøení horkých kláves: F1, F2, Shift - F3, Ctrl - F3, Alt - F3

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = vbKeyF1 Then Print 'F1'

If KeyCode = vbKeyF2 Then Print 'F2'

If KeyCode = vbKeyF3 Then

If (Shift And vbCtrlMask) Then

Print 'CTRL - F3'

ElseIf (Shift And vbShiftMask) Then

Print 'SHIFT - F3'

ElseIf (Shift And vbAltMask) Then

Print 'ALT - F3'

Else: Print 'F3'

End If

End If

Událost DragDrop

Nastane po dokonèení operace tažení (drag-over), když je ukonèena nad objektem uvolnìním klávesy myši. Také použitím metody Drag s argumentem akce 2 (Drop).

Private Sub Form_DragDrop(source As Control, x As Single, y As Single)

Source = prvek, který byl potahován

Pøíklad 8: Procvièení událostí DragDrop a DragOver

Image 1
Picture c:WindowsSystemicocdrom02.ico
DragIcon c:WindowsSystemicocdrom02.ico
DragMode 1-Automatic

Private Sub imgcdrom_DragDrop(Source As Control, X As Single, Y As Single)

Source.Visible = True

End Sub

Private Sub imgcdrom_DragOver(Source As Control, X As Single, Y As Single, State As Integer)

Source.Visible = False

End Sub

Private Sub imgkos_DragDrop(Source As _ Control, X As Single, Y As Single)
Source.Visible = False
If Source.Tag = 'Fire' Then
imgkos.Picture = imgkoshori.Picture
picmrak.Visible = True
Timer1.Enabled = True
End If
End Sub

Private Sub Timer1_Timer()

picmrak.Move picmrak.Left - 50, picmrak.Top - 75

End Sub

Událost DragOver

Nastává bìhem tažení. Událost lze použít ke zmìnì ukazatele myši nad možným cílovým objektem (je urèen polohou myši, což je jeden z argumentù události DragOver)

Private Sub Form_DragOver(source As Control, x As Single, y As Single, state As Integer)

Source = prvek, který byl potahován

State = 0 - Enter (vstupuje - source control is being dragged within the range of a target)

State = 1 - Leave (vystupuje - source control is being dragged out of the range of a target)

State = 2 - Over (je nad - source control has moved from one position in the target to another)

Událost DropDown - nastává u prvku ComboBox stylù 0 a 2 pøi rozbalení zavøeného seznamu. Lze použít k pøípravì seznamu.

Error - nastává pouze jako dùsledek chyby pøístupu k databázi v prvkù Data a DBGrid, když se neprovádí žádný program Visual Basic. Èíslo chyby se pøedá jako argument.

GotFocus - nastává, když objekt obdrží ohnisko buï akcí uživatele, nebo programovì metodou SetFocus. Jsou-li všechny viditelné prvky blokovány (disabled), mùže ohnisko dostat i objekt Formuláø.

LostFocus - nastane pøi odsunu ohniska z objektu buï v dùsledku akce uživatele, nebo programovou zmìnou metodou SetFocus.

Paint - nastává po vykreslení (èásti) objektu po jeho pøemístìní, nebo zvìtšení, pøípadnì po jeho odkrytí odsunutím jiného okénka.

PathChange - nastane u prvku FileListBox po zmìnì cesty nastavením vlastností FileName nebo Path programovì.

PatternChange - nastane u prvku FileListBox po zmìnì šablony jmen souborù nastavením vlastností FileName nebo Pattern programovì.

Reposition - nastane u prvku Data, když je nastaven nový aktuální záznam.

Resize - nastane, je-li objekt zobrazen poprvé nebo se zmìní stav jeho okénka (minimalizací, maximalizací, obnovou)

Scroll - nastane, když se knoflík posuvníku, nebo objekt obsahující posuvník, posune nebo pøemístí.

Timer - nastane u prvku Timer po uplynutí èasového intervalu nastaveného vlastností Interval.

Validate - nastane u prvku Data, než se jiný záznam stane aktuálním záznamem; pøed metodou update (kromì uložení dat metodou UpdataRecord) a pøed operacemi Delete, Unload a Close.

Vlastnosti projektu

Pøi otevírání okna probíhají události:

Form_Initialize – inicializace formuláøe, probíhá vytváøí-li aplikace novou instanci objektu Form

Form_Load – natažení do pamìti

Form_Resize – zmìna velikosti, nastane pøi prvním zobrazení a pøi zmìnì velikosti

Form_Activate – aktivování formuláøe, když se formuláø stává aktivním oknem

Form_Paint – vykreslení/pøekreslení

Pøíklad 10: Zmìna velikosti tlaèítka pøi zmìnì velikosti formuláøe - potáhnutí myší

Kam umístit (do které události) pøíkazy ke zmìnì velikosti formuláøe?–Inicialize, Load, Resize, Activate, Paint. Které vlastnosti objektu Form (objektu Command) se budou mìnit?

Private Sub Frmhlavni_Resize()
Cmdkonec.Height = 0.2 * Frmhlavni.Height
Cmdkonec.Width = 0.2 * Frmhlavni.Width

Cmdkonec.Top = Frmhlavni.Height - Cmdkonec.Height - 1000 

Cmdkonec.Left = Frmhlavni.Width - Cmdkonec.Width - 500

End Sub

Formátování èísel, øetìzcù, èasu

Format(výraz, formát)

Formátování èasu

Funkce(time, day, year, now)

Cas = Format(Time, “format_èasu“)

c – v dlouhem tvaru  >>> 12:38:25 (hodiny, minuty, sekundy)

d – den, jako èíslice od 1 do 31

dd - den, jako èíslice od 01 do 31

ddd - den, jako po – ne

dddd - den, jako pondìlí – nedìle

ddddd – krátké datum jako je nastavené v registrech d.m.yyyy

w – den v týdnu 1-7

ww – týden 1-53

m – mìsíc 1-12

mm – mìsíc 01-12

mmm – led-pros

mmmm – leden-prosinec

q – ètvrtletí 1-4

y – den 1-366

yy – kalendáøní rok 00-99

yyy – rok 1900-2040

h – hodiny 0-23

hh – 00-23

m – minuty 0-59

mm – 00-59

s – sekundy 0-59

ss – 00-59

ttttt – mm:ss

AM/PM

A/P

Pøíklad 11: Vypište aktuální den a hodinu ve formátu: Dnes je pátek 26.øíjna 8.00 hodin.

Cas = “Dnes je “ & Format(Now, “dddd” & “ d.mmmm” & “ h.mm”) & “ hodin.”

Formátování èísel

Format(8315.4, '00000.00') >>> 08315.40

Format(8315.4, '#####.##') >>> 8315.4

Format(8315.4, '##,##0.00') >>> 8,315.40

Format(315.4,'$##0.00') >>> $315.40

Format(5, '0.00%') >>> '500.00%'.

Formátování øetìzcù

Format('HELLO', '<') >>> 'hello'.

Format('This is it', '>') >>> 'THIS IS IT'.

Další funkce pro formátování

FormatDateTime

Format Number

FormatPercent

FormatCurrency

Menu Editor (Vytváøení menu)

Systém roletových menu k aktuálnímu formuláøi se doplòuje prostøedkem Menu Editor v nabídce Tools (nebo odpovídajícím tlaèítkem).

Lze zde vytvoøit celou stromovou strukturu menu, pøiøadit horké klávesy, kombinace akcelerátoru i znaèky zapnuté/vypnuté funkce („fajfky“).

Jsou zadávány tyto údaje:

  • Caption – název položky v menu. Znak & pøed písmenem udává horkou klávesu (písmeno bude v menu podtrženo
  • Name – jméno položky pro použití programem
  • Index – identifikaèní èíslo položky, nepovinné (pokud nejde o pole). Bývá zvykem èíslovat ji s krokem 10.
  • Checked – položka bude zaškrknuta
  • Enabled – položka bude aktivní
  • Visible – položka bude viditelná
  • WindowList – urèuje položku hlavního menu, která bude obsahovat seznam
  • dokumentovaných okének (napø. Window)
  • Shortcut – pøiøadí položce klávesu/kombinaci akcelerátoru
  • HelpContextId – èíslo pro návaznost pro kontextovou nápovìdu
  • NegotiatePosition – urèuje, zda pøípadné položky hlavního menu poskytnuté objekty OLE budou zobrazeny a pokud ano, kam se pøiøadí. Podle konvekce bývá menu Soubor zcela vlevo a Nápovìda zcela vpravo.

Ve spodní èásti okna se vykresluje vytváøená struktura menu.

&File

….&Open…

….&Close

….E&xit

&Help

….Help &Topics

….&Index

….&About…

Øádky zaèínající pøímo slovem (bez teèek) jsou položky hlavního menu.

& urèuje horkou klávesu – aplikace se spustí na první úrovni pøi stisku Alt, na dalších pøímým úhozem.

K dispozici jsou 4 tlaèítka se šipkami pro posouvání se ve struktuøe menu.

Další tøi tlaèítka umožòují posunout se na další položku (Next), vložit novou položku (Insert) a rušit položku (Delete).

Položka oddìlovaèe v menu je položka jejíž Caption se sestává z jednoho znaku „-“. Musí mít vyplnìno Name i Index a musí mít další standardní vlastnosti Enabled a Visible zaškrknutý.

ToolBar (Nástrojová lišta)

Poskytuje pruhy s nástroji (vèetnì ToolTips), skupiny tlaèítek a jejich pøepínání. Nástrojová lišta obvykle obsahuje tlaèítka korespondující s položkami z nabídkového pruhu aplikace. Pro každé tlaèítko mùžete zadat obrázek (i s textem), nápis tlaèítka a text pro ToolTip. Kód se vkládá do události ButtonClick. Pomocí SelectCase (vlastnosti Index nebo Key) urèíte, o které tlaèítko se jedná.

Typy tlaèítek:

Styl

Konstanta

Popis

Obyèejné tlaèítko

tbrDefault

Bìžné tlaèítko

Oznaèené tlaèítko

tbrCheck

Oznaèené tlaèítko

Skupina Tlaèítek

tbrButtonGroup

Jen jedno tlaèítko ze skupiny mùže být vybráno

Skryté tlaèítko

TbrSeparator

Skryté tlaèítko mùžete použít k oddìlení tlaèítek (zajišuje mezeru velikosti 8 bodù)

Placeholder

TbrPlaceHolder

Slouží pro vyhrazení místa pro jiný ovládací prvek, jako je napø. seznam.

Tlaèítka lze z programu do nástrojového pruhu pomocí metod Add a Remove objektu Button pøidávat resp. odstranit.

Obrázky pro jednotlivá tlaèítka se nejdøíve umístí do objektu ImageList a pak se z nìj pomocí indexù vybírají do nástrojového pruhu.

ToolTip se zapíše do Description (musí být zaškrknuta vlastnost ShowTips).

Práce se soubory

Textový soubor – obsahuje jen textové znaky, je bez formátování (ne Word)

Napø. z Notepadu, vìtšinou má koncovku .txt .ini .bat atd.

Ètení a ukládání je sekvenèní (mg. Tape audio, video)

Open cesta/ jm.souboru For mode As èíslo

mode : Input, Output, Append, Random, Binary, Shared

èíslo : 1 až 255

Open C:TEMPtest.txt For Input As #1 ‘otevøení textového souboru pro vstup

Open C:TEMPtest.txt For Output As ‘otevøení textového souboru pro vstup

Line Input #1, retez naètení øádku textového souboru do promìnné

Retez

znak=Input (1,#1) naètení jednoho znaku do promìnné znak

Write #1  vloží samostatný øádek

EOF(#1) Funkce, která testuje konec souboru end of file

Close #1  Uzavøení textového souboru

Lze otevøít více souborù zároveò #1, #2

V módu binary jsou operace ètení a zápisu Get a Put.

Pøístup k datùm v databázích

Visual Basic umožòuje pøístup k datùm uloženým v databázích

Ovládací prvek Data z panelu nástrojù umístíme na formuláø a nastavíme tyto jeho vlastnosti:

Vlastnost

Hodnota

Connect

Access

DatabaseName

Test.mdb (udejte celou cestu)

RecordSource

Test (název tabulky)

RecordSourceType

1-Dynaset

Do objektu Textbox nebo Label potom zobrazíme jednotlivé atributy tabulky nastavením tìchto vlastností:

Vlastnost

Hodnota

DataSource

Data1(název objektu Data)

DataField

Otázka ( název atributu ze zdrojové tabulky)

RecordSource

Test (název tabulky)

RecordSourceType

1-Dynaset

MultiLine

True

ScrollBars

2-Vertical

Chyby a ladìní programu

Chyby:

Kompilaèní chyby - chybná syntaxe, neexistující objekt, chybný parametr,

Run-time chyby - dochází k nim za bìhu programu, odkazování se na neexistující objekt, …

Logické chyby - nejhùøe odstranitelné

Kompilaèní a logické chyby

Ladìní programu

Ladit program znamená plánovitì hledat a odstraòovat pøedevším jeho logické chyby

Nastane-li chyba, uživatel má na výbìr:

Continue - pokraèovat (jen pøi malých chybách)

End - ukonèit bìh programu

Debug - ladit program, program se pøepne na øádek, kde nastala chyba

Help - zobrazit detailnìjší výpis chyby a její možné pøíèiny

Do režimu ladìní se lze pøepnout také pøíkazem Stop v programovém kódu a tlaèítkem Debug.

Zarážky

Zarážky neboli body pøerušení oznaèují øádky, pøi jejichž dosažení, pøed vykonáním pøíkazu, pøejde VB do režimu pøerušení (nastavují se klepnutím myši na šedý okraj vedle øádku)

Zarážku nelze umístit na øádek deklarací, do deklaraèní èásti modulu, øádek obsahující pouze poznámky nebo návìští zakonèené dvojteèkou.

Umístìní zarážek:

  • pøed rozvìtvení programu
  • do všech vìtví, které pøipadají v úvahu

Okno Local - automaticky sleduje všechny nadeklarované promìnné v dané proceduøe a jejich hodnoty

Okno Watches - pro sledování urèité promìnné nebo výrazu (promìnné, které mají být sledovány se pøidávají pøíkazem Add Watch)

Okno Immediate - pro testování øádkù kódu. Lze jej používat jak v návrhovém režimu, tak v režimu pøerušení.

Pøíklad 5: Zkuste odkrokovat pøíklad 4. Vytvoøte cyklus se strukturou While a Until s podmínkou na zaèátku i na konci, který vypíše na formuláø písmena A až J a zkuste jej protrasovat. (asci kód A=65 )

Private Sub cmdpreved_Click()

Dim intpozice As Integer

For intpozice = 65 To 73

Print chr(intpozice)

Next intpozice

End Sub

intpozice = 65

Do While intpozice < 75

Print Chr(intpozice)

intpozice = intpozice + 1

Loop

Do Until intpozice > 74

Print Chr(intpozice)

intpozice = intpozice + 1

Loop

Odchytávání chyb za bìhu programu

Chyby, které vznikají za bìhu programu (Run-time chyby) se „odchytávají pomocí pøíkazu On Error, který se umisuje na zaèátek procedury, tedy pøed øádky, ve kterých by mohla chyba nastat.

  • On Error GoTo øádek/návìští - GoTo slouží ke skoku na jiné místo procedury (používat co nejménì), aktivuje øádek s chybovou rutinou, øízení se pøedá na øádek nebo návìští v rámci dané procedury
  • On Error Resume Next – aktivuje chybovou rutinu, pøedá se øízení na následující øádek za øádkem, na kterém nastala chyba. Nemìní se tok programu. Program chybu ignoruje a pokraèuje dalším øádkem, pouze neprovede èinnost, která by vedla k havárii programu. Pøi výskytu chyby však zaène existovat hodnota promìnné Err (typu Integer). Tato èíselná hodnota charakterizuje chybu, ke které došlo. Pøehled chyb mùžete nalézt v helpu pod heslem „Trappable errors“. Výpis významu chyby lze zjistit také pomocí funkce Error(Err). Chyba musí být ošetøena v rámci chybové rutiny.
  • On Error GoTo 0 – deaktivuje chybovou rutinu a systém se dále chová tak, jako by programátorský zpùsob ošetøení chybových stavù nebyl implementován. Neznamená pøedání øízení na øádek èíslo 0 (i kdyby byl tento øádek vytvoøen).

Pøíklad 6: Vytvoøte procedudu pro výpoèet podílu dvou èísel. Pomocí odchytávání chyb ošetøete, aby nevznikala chyba v pøípadì dìlení nulou. Dále zjistìte èísla možných chyb a upravte program tak, aby reagoval na konkrétní chyby.

Private Sub cmdtest_click()

On Error Goto odchycenichyb

MsgBox txtprvni.text/txtdruhe.text

Exit Sub

Odchycenichyb:

MsgBox “Nepovolené dìlení nulou“

Resume Next

End Sub

Private Sub cmdtest_click()

On Error Resume Next

MsgBox txtprvni.Text / txtdruhe.Text

Select Case Err.Number

Case 13

MsgBox 'Musí být zadána èísla!'

Case 11

MsgBox 'Nepovolené dìlení nulou'

End Select

End Sub

Objekty VB

Form

BorderStyle

Možnosti: formuláø bez ohranièení a záhlaví, nelze mìnit velikost formuláøe, nelze mìnit velikost formuláøe, minimalizovat jej a maximalizovat, …

Control Box

Možnosti použití: tlaèítka na minimalizaci, maximalizaci a ukonèení

MaxButton

Možnosti použití tlaèítka maximalizaci

MinButton

Možnosti použití tlaèítka na minimalizaci

Icon

Ikona formuláøe

Moveable

Možnost pøesunutí formuláøe

Picture

Obrázek na pozadí

Show In Taskbar

Zobrazení na lištì Start

Start Up Possition

Startovací pozice formuláøe: manuálnì nastavitelná, v centru nadøazeného formuláøe, v centru obrazovky, v libovolném místì

WindowState

Stav okna: normální, minimalizované, maximalizované

Command Button (Pøíkazové tlaèítko)

Stejnì jako u Možností a Voleb lze øešit pøíkazové tlaèítko graficky – pomocí Style, DisabledPicture, DownPicture, Picture, MaskColor, UseMaskColor.

Cancel

True: toto tlaèítko má funkci Zrušit (Cancel) – reaguje na klávesu ESC

Default

True: toto tlaèítko je stisknuto klávesou ENTER, když není v ohnisku žádné pøíkazové tlaèítko

Value

False-nestisknuto, true-stisknuto

Nezná událost dvojklik.

Text Box (Pole textu)

HideSelection

True: pøi pøesunu ohniska pryè se pøestane zobrazovat pøípadnì existující výbìr textu

Locked

True: zmìna textu je zakázána

Maxlenght

Nejvyšší zapsatelný poèet znakù

MultiLine

True: mùže obsahovat více øádkù textu

PasswordChar

Udává znak, který se vypisuje místo textu v polích pro hesla

ScrollBars

Pole pøi MultiLine vybaveno posuvníky: 0-žádný, 1-vodorovný, 2-svislý, 3-oba

SelStart

Zaèátek výbìru pøi oznaèení textu, nebo poloha kurzoru

SelLenght

Délka oznaèeného textu

SelText

Oznaèený text

TabStop

False: pomocí klávesy Tab nelze ne pole textu nastavit ohnisko

Text

Textový obsah pole: pøi Miltiline více øádkù

Je-li zapnuta vlastnost MultiLine, pak lze do textového pole zapsat až 32 KB textu.

Je-li text uzamèen pak jej nelze vyjmout a vložit, jen kopírovat.

Pomocí vlastností SelStart, SelLenght a SelText lze programovì nastavit místo vkládání (kurzor), získat nebo pøepsat oznaèený text, nebo jej zamìnit.

Label (Nepøístupný text)

Používá se jako popisky prvkù, které nemají vlastní Caption, Zobrazení jakýchkoliv údajù, které program vypisuje, ke zobrazení údajù z databáze.

Alignment

0-text rovnán doleva, 1-doprava, 2-centrován

AutoSize

True: velikost se upraví ve vodorovném smìru tak, aby byl vždy vidìt celý text

BackStyle

0-prvek je transparentní (prùhledný)

BorderStyle

1-orámování: je-li Appearance=1, plastický vzhled

UseMnemonic

True: znak & pøed písmenem udává horkou klávesu

WordWrap

True: prvek se mùže zvìtšit ve svislém smìru tak, aby se text vešel (zalomení textu=wrap)

Protože prvky Label nejsou ovládané uživatelem, nelze na nì nastavit mìøítko.

Check Box (Možnost)

Alignment

0-popisek (Caption) vpravo, 1-popisek vlevo

Style

0-normální („fajfka“), 1-grafická (Picture, Mask)

DisabledPicture

Ikona zobrazená pøi nepøístupné možnosti

DownPicture

Ikona zobrazená pøi oznaèené možnosti

Picture

Ikona zobrazená pøi neoznaèené možnosti

MaskColor

Barva, která je „prùhledná“

UseMaskColor

Použít „prùhlednou“ barvu

Value

0-neoznaèena, 1-oznaèena, 2-šedá (nepøístupná)

Pro Style=1 musíme nastavit obrázky DisabledPicture, DowmPisture, Picture. Pokud chcete, aby ètvereèky u obrázkù nebyly vidìt, je tøeba nastavit UseMaskColor na true a stanovit barvu pozadí, která se nebude zobrazovat, bude „skrz ni“ vidìt pod prvek.

Nezná událost dvojklik.

Option Button (Volba mezi)

Vlastnosti stejné jako u Check Boxu, ale vlastnost Value nabývá hodnot true/false.

Volby se používají ve skupinách alespoò po dvou. Poèáteèní stav skupiny je „žádná nevybraná“. Jakmile je nìkterá volba vybraná, ostatní ve skupinì se automaticky stanou nevybtanými. Skupiny lze vytváøet v rámci formuláøe, rámeèku, nebo obrázku.

Doèasné vyøazení volby ze skupiny dosáhnete nastavením vlastnosti Enabled = false.

Volbu, která je implicitní, nastavte pøi inicializaci formuláøe, nebo skupiny pøiøazením hodnoty Value=True. Vìtví-li se program podle voleb, staèí testovat hodnotu volby, která vyhodnocuje standardnì vlastnost Value a ta je boolenovská (if volba1 then – ne volba1.value=true)

Frame (Rámeèek)

BorderStyle

0-rámeèek není viditelný, 1-má popisek a orámování

Font

Dialog pøi návrhu nastavuje øadu parametrù písma – lze je nastavovat i jednotlivì – viz. následující

FontBold

Tuèné písmo

FontItalic

Kurzíva

FontStrikeThru

Pøeškrknuté písmo

FontUnderline

Podtržené písmo

FontName

Jméno fontu

FontSize

Velikost písma v bodech

MousePointer

Jaký bude mít tvar nad ukazatel umístìný nad objektem, umožní i vlastní

MouseIcon

Je-li MousePointer=99 (vlastní tvar ukazatele), je zadán soubor .ico nebo .cur s obrázkem

DragMode

Režim tažení: 0-ruèní, 1-automatický

DragIcon

Soubor s ikonou, která se pøi tažení zobrazí

OLEDropMode

1-prvek lze pøetáhnout  OLE objekt, 0-nelze

ToolTipText

Text nápovìdy, která se zobrazí v „bublinì“, nechá-li uživatel ukazatel chvíli nad objektem

HelpContextID

Èíslo tématu kontextové nápovìdy (po stisknutí F1)

WhatsThisHelp-ID

Èíslo tématu nápovìdy typu „Co je toto?“

Údaje o fontu se týkají vìtšiny ovládacích prvkù.

Údaje „Mouse …“ o ukazateli myši dovolují zvolit anebo navrhnout ukazatel, který se bude zobrazovat nad objektem pøi bìžném nasunutí.

Údaje „Drag …“ se týkají zobrazení ukazatele bìhem tažení.

Amprsand pøed písmenem textu Caption (u všech prvkù, které Caption mají) nastavuje klávesu toho písmene jako horkou klávesu, tj. po stisknutí spolu s podtržením Alt se ohnisko pøemístí nad prvek. Rámeèek však nemùže mít ohnisko a to se po stisknutí horké klávesy pøesune nad další prvek formuláøe podle TabIndex.

Picture Box (Obrázek)

Používá se k zobrazení grafiky, jako kontejner pro jiné ovládací prvky a ke zobrazení výstupu grafických metod i textu metodou Print.

Align

Umístìní: 0-kam urèil návrháø, 1-k horní stranì formuláøe,2-ke spodní, 3-k levé, 4-k pravé

AutoSize

True: viditelnost se vždy upraví tak, aby byl viditelný celý obsah

ClipControls

Urèuje, zda se pøi zmìnì vykreslí celý prvek nebo jen zmìnìná èást obsahu

Picture

Cesta a jméno souboru s bitovou mapou

Mùže zobrazit tyto obrazové formáty:

  • Bitovou mapu (.mbp, .dib) a rùzným poètem barev
  • Ikonu (.ico) 16x16 nebo 32x32 pixelù
  • Metafile (.wmf, .emf), „vykreslovaná“ grafika, jakou vytvoøíte napøíklad v MS Wordu
  • Komprimované formáty GIF (Graphic Interchange Formát, 256 a 16 mil. Barev) a JPEG (Joint Photographic Expert Group, do 256 barev)

Dynamicky lze grafiku do prvku zavést pomocí:

Picture1.Picture = LoadPicture (“j:cestasoubor“)

Bez argumentu se používá ke smazání zavedené grafiky.

Grafiku lze zavést také pøes Clipboard nebo Edit-Paste èi CTRL-V.

Na kreslení do Picture Boxu lze použít grafické metody Circle, Line, Point a metodu Print na psaní do nìj (nastavit AutoRedraw=true pro vykreslování).

Image (Obrazové tlaèítko)

Slouží k zobrazování grafiky, pøípadnì pøizpùsobit její velikost, mùže též sloužit jako tlaèítko.

Picture

Cesta a jméno souboru s bitovou mapou

Strech

True: grafika se zmenší nebo zvìtší tak, aby se pøesnì vešla do prvku

Mùže zobrazovat obrázky stejných formátù jako Picture Box, používá také stejné metody k jejímu zavádìní.

Line (Èára)

Používá se na podtržení, ozdobení, nebo jako obdoby formuláøe.

BorderColor

Barva èáry

BorderStyle

Styl èáry: plná, èárkovaní, teèkovaná, …

BorderWidth

Tlouška èáry

DrawMode

Grafická metoda vykreslení èáry

X1, Y1

Souøadnice jednoho konce èáry

X2, Y2

Souøadnice druhého konce èáry

Shape (Tvar)

BackStyle

0-prvek je transparentní (prùhledný)

FillColor

Barva výplòového vzoru

FillStyle

Druh výplnì: plná, transparentní, rùzná šrafování

Shape

Tvar: obdélník, ètverec, elipsa, obdélník se zaoblenými rohy, ètverec se zaoblenými rohy

+ vlastnosti èáry pro vykreslení okraje tvarù

Seznamy

Je-li zapotøebí seøadit (nìkdy i setøídit) nìjaké údaje do jednoduchých seznamù.

Základní ovladaèe pro práci se seznamy:

  • ListBox (seznam)
  • ComboBox (rozbalovací seznam)

List Box

Je trvale otevøený a obsahuje-li více položek, než je vidìt, má vpravo svùj posuvník (popøípadì oba posuvníky.

Columns

Poèet sloupcù seznamu: 0-jeden sloupec, jiné èíslo n: seznam po sloupcích (s n øadky)

ItemData

Seznam specifických èísel, jedno ke každé položce seznamu

List

Vlastní seznam položek, sem lze vložit položky již pøi návrhu

ListCount

Vrací aktuální poèet položek v seznamu

ListIndex

Index právì vybrané položky seznamu

MultiSelect

0-lze vybrat jednu položku, 1-více (oznaèením), 2-více (s pøedøadnými klávesami Shift a Ctrl

NewIndex

Vrací index poslednì pøidané položky

SelCount

Vrací poèet vybraných položek

Selected

Boolenovské pole, pro každou položku true-vybraná, false-nevybraná

Sorted

True – položky abecednì seøadit

Style

0-standardní seznam, 1-pøed každou položkou je ètvereèek možnosti (checkbox)

Text

Text aktuální položky (té na níž je ohnisko)

TopIndex

Index položky, která je zobrazena jako první

Nejèastìji se pak pokraèuje tlaèítkem a pracuje se s vybranou položkou. Stejný úèinek má dvojklik na položce a do procedury ListBox1_DblClick zapsán pøíkaz: tlacitko.value = true.

Položky lze zapisovat pøi návrhu, ale jde to i za bìhu programu:

ListBox1.AddItem položka[, index]

Indexy položek zaèínají od 0.

Vyøazení položky ze seznamu:

ListBox1.RemoveItem index

Vymazaní celého seznamu:

ListBox1.Clear

Vybraná položka:

Je-li možno vybrat jen jednu (MultiSelect=0), pak je její text vždy obsahem vlastnosti Text, protože vybraná položka je souèasnì oznaèená. ListIndex udává polohu vybrané položky. Není-li žádná položka vybraná, je ListIndex=-1. Nastavením List Index na index existující položky ji programem vyberete. Položku lze adresovat: ListBox1.List (index).

Pokud je nastavena vlastnost MultiSelect na True:

For index=0 To ListBox1.ListCount –1

If ListBox.Selected(index) = true Then

…zpracování ListBox.List(index)…

End If

Next index

Combo Box

Je normálnì zavøený – otevøe se, když kliknete na šipku na jeho pravé stranì.

ItemData

Seznam specifických èísel, jedno ke každé položce seznamu

List

Vlastní seznam položek, lze sem vložit položky již pøi návrhu

ListCount

Vrací aktuální poèet položek v seznamu

ListIndex

Index právì vybrané položky seznamu

NewIndex

Vrací index poslednì pøidané položky

SelStart

Zaèátek výbìru pøi oznaèení textu, nebo poloha kurzoru

SelLength

Délka oznaèeného textu

SelText

Oznaèený text

Sorted

True – položky abecednì seøadit

Style

1-Simple Combo – bez šipky na pravé stranì. Používá se jen vyjímeènì. 0-DropDown Combo – má šipku na pravé stranì seznamu oddìlenou, a pøedevším umožòuje pøidávat do seznamu položky i pøímým zápisem do textové èásti ovladaèe.2-DropDown List – má šipku pevnì pøipojenou a pøímý zápis neumožòuje.

Text

Text aktuální položky (té na níž je ohnisko)

TopIndex

Index položky, která je zobrazena jako první

Od ListBoxu se liší:

  • Lze vybrat jen jednu položku
  • Má tøi tvary podle promìnné style
  • Ve dvou z tìchto tøí tvarù lze pøidávat položky pøímo zápisem do textového pole

Vlastnost Style lze nastavovat jen v návrhovém režimu. Text, který zapíšete do pole textu, se do seznamu automaticky nepøidá. Musíte použít pøíkaz (v Combo1_Change):

Combo1.AddItem Combo1.text (a musíte si hlídat duplicity)

Timer (Èasovaè)

Tento ovládací prvek reaguje na uplynutí èasového intervalu. Je nezávislý na uživateli a mùžete jej naprogramovat tak, aby v pravidelných intervalech provádìl urèitou akci. Typickou odezvou je testování systémových hodin, je-li èas na provedení urèitých úkonù.

Vlastnost Interval specifikuje poèet milisekund , které uplynou mezi dvìma událostmi èasovaèe.

Vlastnost Interval má nìkolik omezení :

Interval mùže být v rozmezí 0 až 64767, což znamená, že nejdelší možný interval nebude o mnoho delší než jedna minuta ( zhruba 64,8 sekundy).

Není zaruèeno, že interval bude pøesnì odpovídat uplynulému èasu. Pokud vaše nebo jiná aplikace silnì zatìžuje systém –dlouhé cykly, nároèné výpoèty- nemusí aplikace dostávat události èasovaèe tak èasto, jak je urèeno ve vlastnosti Interval.

Zapamatujte si, že událost èasovaèe je periodická. Vlastnost Interval neurèuje „jak dlouho“ ale „jak èasto“.

Jakmile probìhne nastavený interval, Visual Basic generuje událost èasovaèe Timer.

Èasovaè musí být umístìn ve formuláøi. Èasovaè se bude zobrazovat na formuláøi pouze v režimu návrhu. Za bìhu aplikace je èasovaè neviditelný a proto nejsou jeho umístìní a velikost podstatné. Pøi návrhu lze prohlédnout vlastnosti Timeru a procedury na obsluhu události.

Je ještì jedna významná vlastnost èasovaèe a to Enabled. Je-li nastaveno na True, tak èasovaè zaène pracovat okamžitì po naètení formuláøe. Jinak ji nechte na hodnotì False. Pro spuštìní operace èasovaèe mùžete vybrat vnìjší událost ( napø. klepnutí na pøíkazové tlaèítko). Viz pøíklad „Odpadkový koš“.

Horizontal Scroll Bar, Vertical Scoll Bar (Posuvníky)

Samostatné posuvníky umožòují pøidávat posouvací schopnost tìm ovládacím prvkùm, které ji sami o sobì nemají.

LargeChange

Rozsah zmìny hodnoty Value pøi klepnutí na pás posuvníku

SmallChange

Rozsah zmìny hodnoty Value pøi klepnutí na šipku

Max

Maximum hodnoty Value nastavitelné posuvníkem

Min

Minimum hodnoty Value nastavitelné posuvníkem

Value

Hodnota objektu

Posuvníky sledují pohyb knoflíku po pásu pomocí dvou událostí:

Change – nastane pøi posunutí knoflíku jakýmkoliv zpùsobem. Zpøístupní výslednou hodnotu po ukonèení akce s posuvníkem.

Scroll – nastane pøi pohybu knoflíku, ne pøi klepnutí na pás nebo šipky. Program má pøístup k mìnìné hodnotì již bìhem tažení knoflíku.

Hodnota vlastnosti Value odpovídá poloze knoflíku na pásu. Pøi nejnižší hodnotì je knoflík zcela vlevo (pøíp. zcela nahoøe).

Nastavením hodnoty SmallChange urèíte o kolik se zmìní hodnota Value pøi klepnutí na šipku posuvníku, hodnotu LargeChange pak, o kolik se zmìní hodnota pøi klepnutí na pás.

Drive List Box (Seznam jednotek)

Je uzavøený seznam dostupných jednotek poèítaèe.

Drive

Písmeno vybrané jednotky

List

Vrací položky (cesty) jako znakové øetìzce

ListCount

Vrací poèet položek

ListIndex

Index právì vybrané položky

TopIndex

Index položky zobrazené zcela nahoøe seznamu

Napø. Drive1.Drive = “c:“

Pøi pøístupu na jednotku, není-li vložena disketa, CD resp. jiné výmìnné médium a není-li chyba ošetøena: ohlásí se a program skonèí.

Directory List Box (Seznam adresáøù)

Slouží ke zobrazení stromu adresáøù a výbìru z nìj.

List

Vrací položky (cesty) jako znakové øetìzce

ListCount

Vrací poèet položek v aktuálním otevøeném adresáøi

ListIndex

Index právì vybrané položky

Path

Aktuální jednotka a cesta

TopIndex

Index položky zobrazené zcela nahoøe seznamu

Indexy:

Aktuální otevøený adresáø má index –1

Nadøazený adresáø aktuálnímu otevøenému adresáøi má index –2

Adresáøe které jsou obsaženy v aktuálním otevøeném adresáøi mají indexy 0, 1, 2, …

File List Box (Seznam souborù)

Slouží ke zobrazení souborù v adresáøi.

Archive

True: zobrazit soubory s bitem Archivuj

Filename

Cesta a jméno vybraného souboru

Hidden

True: zobrazovat soubory s bitem Skrytý

List

Vrací položky (cesty) jako znakové øetìzce

ListCount

Vrací poèet položek v aktuálním otevøeném adresáøi

ListIndex

Index právì vybrané položky

MultiSelect

True: uživatel mùže vybrat více souborù

Normal

True: zobrazovat soubory se všemi atributovými bity nulovými

Path

Aktuální jednotka a cesta

Pattern

Šablona (wildcard, stand. *.*) pro zobrazování jmen souborù a pøípon

ReadOnly

True: zobrazovat soubory s bitem Pouze èíst

Systém

True: zobrazovat soubory s bitem Systémový

TopIndex

Index položky zobrazené zcela nahoøe seznamu

Common Dialog (Standardní dialog)

Je to sada šesti dialogových okének pro nastavení èasto používaných parametrù, vyhledání adresáøe a jména pro otevøení nebo uložení souboru atd. (Musíme mít v WindowsSystém knihovnu COMMDLG.DLL). Tento prvek je pøi spuštìní programu neviditelný.

Z menu Project-Components-karta Controls vybereme Microsoft Common Dialog Control 5.0.

Dialogy se aktivují metodami:

ShowOpen

ShowSave

ShowColor

ShowFont

ShowPrinter

ShowHelp

CancelError

True: stisk Cancel generuje chybu, false:ne

Color

Èíslo vyjadøující barvu (dialogy Color a Font)

Copies

Poèet tiskových kopií

DefaultExt

Standardní pøípona souborù, napø. “.doc“, použije se pøi zápisu jména souboru bez pøípony

DialogTitle

Text do záhlaví okénka dialogu

FileName

Cesta a jméno vybraného souboru

Filter

Øetìzec zadávající filtry pro zobrazení souborù: popis1|filtr1|popis2|foltr2|…atd., kde popis: textová charakteristika typu souboru, filtr: skupinové jméno nebo více oddìlených støedníky

Flags

Pøíznaky øídící chování dialogù

FromPage

Èíslo první tištìné stránky

InitDir

Poèáteèní zobrazený adresáø pro dialogy Open a Save As, není-li zadán, zobrazí se aktuální adresáø

Max

Dialog Font: max. poèet bodù fontu pro výbìr

Dialog Print: max. volitelné èíslo stránky To

MaxSize

Max. délka jména souboru (1-32K), stand. 256

Min

Dialog Font: min. poèet bodù fontu pro výbìr

Dialog Print: min. volitelné èíslo stránky From

PrinterDefault

True: vybraná tiskárna se stává standardní, false: ne

ToPage

Èíslo poslední tištìné stránky

Dialogy Open a Save As

Cestu a jméno vybraného souboru získá váš program po ukonèení dialogu z vlastnosti Filename. Pø. filtru: Text (*.txt)|*.txt|Word (*.do?; n*.la2)|*.do?;n*.la2

Pøíznaky (vlastnost Flag) jsou konstanty typu Long (4B). Je-li jich zadáno více musí se sèítat, napø. „&H200 + &H400 + &H80000“ nebo rovnou „&H80600

&H200

V dialogu lze vybírat více souborù podržením SHIFT a klávesami šipek smìrem nahoru a dolu. Vlastnost FileName pak obsahuje øetìzec všech vybraných jmen a cest, vzájemnì oddìlených mezerami.

&H2000

Uživatel je požádán o vytvoøení souboru, který doposud neexistuje. Pøíznak automaticky nastavuje vlastnost &H1000 a &H800.

&H1000

Uživatel smí zadat do pole FileName pouze jména existujících souborù.

&H10

V dialogu se zobrazí tlaèítko Help.

&H4

Nezobrazí se možnost ReadOnly.

&H200000

Použijí se dlouhá jména souborù.

&H40000

Nepoužijí se dlouhá jména souborù.

&H8000

Vybraný soubor nebude mít atribut ReadOnly a nebude v adresáøi chránìném proti zápisu

&H2

Dialog oznámí, pokud vybraný soubor už existuje. Uživatel musí jeho pøepis potvrdit.

Dialog Color

Pøed jeho zobrazením nastavte hodnotu Flags na pøíznak „&H1“

&H2

Dialog zobrazen i s èástí Define Custom Colors.

&H8

V dialogu se zobrazí tlaèítko Help.

&H4

Znemožní definici vlastních barev.

&H1

Nastaví poèáteèní hodnotu barvy.

Dialog Font

Umožní nastavit øez, barvu, velikost a další charakteristiky písma. Pøed vyvoláním dialogu nastavit pøíznaky.

Dialog Printer

Dialog nastaví parametry, lze znìj pøejít na nastavení vlastností tiskárny a lze konfigurovat výchozí tiskárnu, ale vlastní tisk, tj. zaslání tištìných dat do objektu Printer, musí být øešen programovì.

Tvorba tøídy (class modul)

Dosud jsme používali VB nadefinované objekty (TextBox, PictureBox,…). VB umožòuje vytvoøit nové, vlastní objekty, které se nazývají tøídy.

Def. : Tøída je vytvoøený nový objekt, ve kterém se spojí data a procedury do jedné jednotky.

Z kapitoly deklarace datových typù víme, že je možné vytvoøit i vlastní uživatelský typ. Uživatelský typ je mocný nástroj pro seskupování navzájem souvisejících datových položek.

Deklaruje se následujícím zpùsobem:

Public Type Kniha

Titul As String

Cena As Currency

PocetStran As Integer

End Type

Vytvoøením tøídy tj. spojením uživatelského typu a jeho vlastností a metod dojde k tzv. zapouzdøení (encapsulation). Z procedur se stanou privátní procedury a k datùm mùžou pøistupovat právì jen ony. Jediná možnost jak mìnit data patøící objektu, je volání jeho rozhraní (vlastností a metod).

Vytvoøení tøídy

Tøída se definuje v modulu tøídy.

Menu Project … Add Class Module New, nebo pravým tlaèítkem v oknì projectu.

Moduly tøídy jsou uloženy v souboru *.cls

Moduly tøídy mají dvì události Initialize (inicializace) a Terminate (ukonèení).

Pøíklad: Nadeklarovat tøídu Thing, která má vlastnost created ( uchovává datum a èas, kdy byl object Thing vytvoøen), metodu ReverseName (pøevrací poøadí písmen vlastnosti Name).

MapObjects

Z www.esri.com lze stáhnout free 90-day evaluation copy knihovny Map Objects ( nyní verze 2.2). Je podporováno jakékoliv vývojové prostøedí, které podporuje ActiveX kontrol, jako je Visual Basic, Visual C++, Delphi, PowerBuilder a další. Zle stáhnout vlastní MapObjects, Data a ukázkové pøíklady Samples.

MapObjects 2 je prvek ActiveX control (OCX) s více než 45 programovatelnými ActiveX objekty, které mohou být souèástí standardního vývojového prostøedí.

Stiskem pravého tlaèítka na nástrojové lištì lze dodat volbou Components à Controls ESRI MapObjects.

Objeví se nový nástroj v lištì nástrojù:

Map Control

Nápovìdu o objektech získáte stiskem tlaèítka Object Browser na Visual Basic toolbar:

Nápovìdu lze získat též výbìrem objektu Map Control a stisk klávesy F1.

Zobrazení dat na mapì

Pravé tlaèítko myši na objektu Map1, který jsme vložili do formuláøe.

Vybrat Properties

Vybrat Add a vyhledat napø. v adresáøi c:Program FilesESRIMapObject2SampleData

Vybrat States.shp

Vlastnosti vrstvy se nastavují stiskem tlaèítka Properties

Pozor: Vrstvy se vykreslí v oknì Map1 až pøi spuštìní programu, nikoliv v režimu návrhu!

Vlastnosti:

Map1. Extent – nastavuje oblast vykreslené mapy

Map1. FullExtent - vlastnost vrací obdélníkový objekt, který ohranièuje všechny vrstvy v mapì

Map1. MousePointer – lze nastavit podobu kurzoru myši

Map1. ToMapPoint (x,y) – sejmutí souøadnic bodu pøi stisku tlaèítka myši nad mapou.

Funkce Map1.TracRectangle vrací obdélníkový objekt

Podrobnìji viz GettingStartedwithMOinVB.doc.

Doporuèená literatura

  1. Halvorson M.: Microsoft Visual Basic 6.0 Professional krok za krokem, Computer Press Praha, 2001
  2. Morkes D. Visual Basic 6.0 Computer Press Praha, 2000
  3. Microsoft Visual Basic 6.0 Computer Press Brno, 1999
  4. Pokorný J.: Øešené úlohy z Visual Basicu Sbírka 1, Koop, Èeské Budìjovice 1998
  5. Kvoch M., Pokorný J.: Programování ve Visual Basicu 5.0, Koop Èeské Budìjovice 2000

www:

  1. Výuèba. Dostupné na WWW: <https://www.visual-basic.sk>, 10.2002.
  2. Seriál pro zaèáteèníky – CHIP CD. Dostupné na WWW:<https://www.vbasic.cz/serial.asp?id=37>, 10.2002.


Parametry uvedené v hranatých závorkách nejsou povinné, u parametrù ve složených závorkách musí být použit jeden z uvedených.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 6495
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2025 . All rights reserved