Visual Basic‎ > ‎

Proměnná, konstanta

Proměnná

slouží k dočasnému uchování hodnot. Je to pojmenovaný úsek operační paměti.

Konstanta

uchovává hodnoty, které se během programu nemění. Např. matematické a fyzikální konstanty, hodnota DPH...
 
Názvy proměnných i konstant musí splňovat určitá pravidla:
  • první znak musí být písmeno
  • může obsahovat písmena, číslice, podtržítko
  • délka řetězce maximálně 256 znaků
  • název musí být různý od klíčových slov
  • název musí být jednoznačný v celém rozsahu platnosti
  • velká a malá písmena se nerozlišují
Klíčová slova jsou rezervovaná slova jazyka, např. InputBox, MsgBox, End aj.
 

Datové typy

Byte - celé číslo od 0 do 255, 1B
Integer - celé číslo od -32 768 do 32 767, 2B
Long - celé číslo, od -2 147 483 648 do 2 147 483 647, 4 B
Single - číslo v pohyblivé řádové čárce jednoduché přesnosti, 4B
Double - číslo v pohyblivé řádové čárce dvojnásobné přesnosti, 8 B
Currency - hodnoty v pevné řádové čárce, až 15 desetinných míst před desetinnou čárkou a až 4 místa za desetinnou čárkou, 8 B
String - řetězec znaků
Boolean - uchování dvou logických hodnot True a False, 2 B
Date - datum a čas, 8 B
Object - odkaz na objekt, 4 B
Variant - libovolný datový typ, např. pokud chybí deklarace, 16 B

Deklarace proměnné

vyhrazuje stanovené místo v operační paměti
Dim nazev_promenne As datovy typ
 
Ve Visual Basicu se proměnné nutně nemusí deklarovat.
 
Příklad zápisu
Dim Cislo As Integer
Dim Jmeno as String
 

Deklarace konstanty

[Public|Private] Const nazev_konstanty = výraz

Příklad zápisu
Const N As Integer = 10
Const N As Integer
 

Rozsah platnosti identifikátoru

Proměnné mohou být deklarovány v proceduře, na úrovni modulu nebo v jiných modulech.
  • Pokud jsou deklarovány v proceduře jsou LOKÁLNÍ a jsou viditelné jen v té proceduře, v níž jsou deklarovány.
  • Pokud jsou definovány v modulu,jsou viditelné pro všechny procedury tohoto modulu a jsou GLOBÁLNÍ k procedurám v modulu.
Vyzkoušejte na příkladě. napište si dva programy:
Option Explicit
Public Sub A()
Dim I As Integer
Degug. Print "prvni"
Debug.Print I
End Sub

Public Sub B()
Dim I As Integer
I = 10
Degug. Print "druhy"
Debug.Print I
End Sub

Spustíme postupně programy: A, B, A, výsledky budou: 0, 10, 0. Zde jsou dvě různé proměnné I, každý program má svou proměnnou I.

Oba programy nepatrně pozměníme:
Option Explicit
Dim I As Integer
Public Sub A()
Degug. Print "prvni"
Debug.Print I
End Sub

Public Sub B()
I = 10
Degug. Print "druhy"
Debug.Print I
End Sub

Spustíme postupně programy: A, B, A, výsledky budou: 0, 10, 10. Zde je jen jedna globální proměnná I,která je tedy "společná" pro oba programy.
Comments