× Aktuálně z oboru

SHIELD Experience Upgrade 7 – méně hledání a více zábavy [ clanek/2018052902-shield-experience-upgrade-7-mene-hledani-a-vice-zabavy/ ]
Celá zprávička [ clanek/2018052902-shield-experience-upgrade-7-mene-hledani-a-vice-zabavy/ ]

VB – 39. lekce

[ http://programujte.com/profil/27-jiri-chytil/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/75-martin-zak/ ]Google [ :?rel=author ]       21. 1. 2006       16 893×

39.1 Používání znakové sady Unicode
39.2 Úvod do tabulky FlexGrid
39.3 práce s tabulkou FlexGrid
39.4 Výběr a formátování
39.5 Domácí úkol
39.6 V další lekci
..

39.1 Používání znakové sady Unicode

Možná jste někdy chtěli použít znakovou sadu Unicode ve vašem programu a nevěděli jste, jak na to. Pokud tedy potřebujete někam vložit znak typu Unicode, nebudou vám stačit běžné textboxy a budete muset využít trochu jinou nabídku.

Takže si otevřete dialog s výběrem komponent a pohledejte Microsoft Forms 2.0 Object Library. Zobrazí se vám asi 14 nových objektů, které podporují znakovou sadu Unicode. Také asi bude málo funkce


Chr(i)

Na místo toho použijeme funkci


ChrW(i)

Všechny znaky si pak můžeme vytisknout třeba do nového listboxu.


For i = 1 To 4096
    List1.AddItem ChrW(i) & " - " & i
Next i

Kdykoliv budeme potřebovat vytisknout nějaký speciální znak, nebude to problém.


39.2 Úvod do tabulky FlexGrid

FlexGrid je mřížka, která nám umožňuje jednoduše spravovat databáze. Můžeme do ní zobrazovat různé záznamy a psát faktury. Práce s ní je v celku jednoduchá, ale ne příliš zajímavá. Umět ji používat se může hodit, už jsem ji také několikrát využil, když se mi nechtělo dělat žádný vlastní objekt.

První je nutné ji do formuláře vložit. Provedeme to tak, že klikneme pravým tlačítkem na toolbox a dáme components. Najdeme si právě FlexGrid. Vložíme si jeden na formulář a můžeme začít.

Pojem sloupec a řádek je nejspíš každému jasný, my se teď podíváme jak s nimi pracovat, jak do nich psát data a podobně. Prvně se podívejme, jak FlexGrid vypadá:

Můžete si všinout i dialogu, kde je celkem dost možností, můžete si je vyzkoušet. Důležitý je nejen počet sloupců a řádků, ale také počet pevných sloupců a řádků, do kterých nemůže uživatel zapisovat.


39.3 Práce s tabulkou FlexGrid

Musíme do nich tedy něco vepsat pomocí kódu. Jak? No je to dosti podobné práci s dvourozměrným polem. Viz kód:


Private Sub Command1_Click()
fgTest.TextMatrix(0, 1) = "Jmeno"
fgTest.TextMatrix(0, 2) = "věk"
For i = 1 To fgTest.Rows - 1
    fgTest.TextMatrix(i, 0) = i
Next i
End Sub

Můžeme doplňovat jak po jednom prvku, tak pomocí cyklů. Můžete si také přidávat záznamy. Takto:


Dim i As Long
For i = 1 To fgTest.Rows - 1
    fgTest.TextMatrix(i, 0) = i
Next i
fgTest.AddItem i, i

K odebírání záznamů se používá


Private Sub Command2_Click()
    fgTest.RemoveItem (i)
    i = i - 1
End Sub

Pokud do toho všeho nechcete vměšovat další proměnnou, lze použít třeba tento kód:


Private Sub Command1_Click()
Dim i As Long
For i = 1 To fgTest.Rows - 1
    fgTest.TextMatrix(i, 0) = i
Next i
fgTest.AddItem fgTest.Rows, fgTest.Rows
End Sub

Private Sub Command2_Click()
fgTest.RemoveItem (fgTest.Rows)
End Sub

I zde je tedy jen jako počítadlo v cyklu. Ještě je důležité do buněk zapisovat. To budeme prozatím dělat přes textbox, takto:


Private Sub fgTest_Click()
   Text1.Text = fgTest.TextMatrix(fgTest.Row, fgTest.Col)
End Sub

Private Sub cmd_Click()
   fgTest.TextMatrix(fgTest.Row, fgTest.Col) = Text1.Text
End Sub

39.4 Výběr a formátování

Pokud chceme pracovat s větším výběrem, tak rozah výběru udávají vlastnosti


Row – RowSel
Col – ColSel

Pomocí nich se potom výběr formátuje nebo třeba maže. Výběr můžete třeba tímto způsobem označovat tučně:


Private Sub Command3_Click()
    fgTest.FillStyle = flexFillRepeat
    fgTest.CellFontBold = True
End Sub

Tento kód nám zajišťuje, že pracujeme s celým výběrem.


fgTest.FillStyle = flexFillRepeat

Zkuste napsat tohle:


fgTest.FillStyle = flexFillSingle

V tomto případě budete pracovat s jedinou buňkou. Ale to není vše, uživatele můžeme omezovat i jinak, třeba výběrem jen celých sloupců nebo řádků.

A ještě mnohem více věcí nám tento prvek nabízí, ale na to, co nám nabízí, se podíváme příště.


39.5 Domácí úkol

Dnes zkuste udělat malý Excel. Prostě program, do kterého budete moci zapisovat údaje, který bude mít uživatelsky definovaný počet sloupců a řádku a bude se do něj dát psát stejně jako do oken Excelu, ale stačí přes tu horní lištu. A můžete přidat i nějakou vlastní tvořivost (např. nastavení barev).


39.6 V další lekci

Propojení FlexGridu s databází


Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2006011402-vb-39-lekce/ ].