VB – 40. lekce
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

VB – 40. lekceVB – 40. lekce

 

VB – 40. lekce

Google       Google       21. 2. 2006       12 846×

40.1 Úvod do čtvrté desítky
40.2 Vlastní typ binárního souboru
40.3 Flexgrid - pokračování
40.4 Volání procedur událostí v kódu
40.5 Dodatek o objektu Label
40.6 Domácí úkol
40.7 V další lekci

Reklama
Reklama

40.1 Úvod do čtvrté desítky

Toto je jubilejní 40. lekce. Takhle jsem to sice nechtěl, ale vyšlo to tak. Mělo tu být něco velmi zajímavého, ale bohužel tomu tak nebude. Musím totiž splnit nějaké sliby a povinnosti. Ze slibů je to ukázka vlastního binárního souboru, která se mi nějakým způsobem vytratila, a z povinností je to dokončení Flexgridu, který ovšem osobně moc rád nemám.


40.2 Vlastní typ binárního souboru

Následující kód - tedy předvedení binárního souboru - pochází z návrhu na jednu hru. Na styl Diabla, ale s grafikou podobnou spíše hře Pokémon pro Gameboy color. Bohužel jsem se do tohoto projektu nějak zamotal a nemám čas v něm pokračovat, snad jindy :) Kód využívá především datových typů. Ty ho dělají přehlednější. Kód je značně ořezán, protože byste museli sakra dlouho skrolovat a asi byste se nedozvěděli nic navíc. Ale pokud chcete dělat savy a podobné věci, doporučuji používat uživatelsky definované typy, je to fakt lepší.
Kód:

Do modulu:


Public Type Waepon 'popisuje vlastnosti zbraní
    Jmeno As String * 16
    Damage As Byte
    Durability As Byte
    Cost As Long
    NeedStrange As Byte
    Special As Byte
    Magic As Byte
    MagicHP As Byte
    Description As String * 255
End Type

Public Type Armor 'popisuje vlastnosi brnění
    Jmeno As String * 16
    Durbilty As Byte
    Cost As Long
    NeedStrange As Byte
    Special As Byte
    Magic As Byte
    Description As String * 255
End Type

Public Type Charakter 'popisuje vlastnosti postav, ale nejsou tam všechny
    Jemno As String * 16
    Exp As Long
    Level As Byte
    Money As Long
    Aura As Byte
    Streng As Byte
    Dexterity As Byte
    Magistry As Byte
    Life As Integer
    maxLife As Integer
    Mana As Integer
    maxMana As Integer
    Year As Byte
End Type

Public Type Magic 'zde jsou uvadeny pouze základní skupiny, běžně mají ještě podtypy
    Fire As Byte
    Ice As Byte
    Elct As Byte
    White As Byte
    Black As Byte
    Phys As Byte
    Curse As Byte
End Type

Na formulář přidat 4 tlačítka, toto je kód do modulu formuláře:


Private cokoliv As Long 'toto je tu jen abyste viděli, jak se prcuje s jednotlivými proměnnými
Private Char1 As Charakter
Private armor1 As Armor
Private Waepon1 As Waepon
Private Mag As Magic


Sub SaveToBinnary()
    Open "c:/charakter.cha" For Binary As #1
        Put #1, 1, Char1
        Put #1, , cokoliv
        Put #1, , Waepon1
    Close #1
End Sub

Sub LoadFromBinnary()
    Open "c:/charakter.cha" For Binary As #1
        Get #1, 1, Char1
        Get #1, , cokoliv
        Get #1, , Waepon1
    Close #1
End Sub

Private Sub Command1_Click()
    With Char1
        .Jemno = "DruSeev"
        .Exp = 12845
        .Level = 12
        .Money = 350
        .Aura = 20
        .Streng = 11
        .Dexterity = 11
        .Magistry = 14
        .Life = 105
        .maxLife = 106
        .Mana = 20
        .maxMana = 163
        .Year = 2
    End With
    With Waepon1
        .Jmeno = "Sword of darkness"
        .Damage = 5
        .Durability = 21
        .Description = "meč se vyznačuje temnou silou, jež oslepuje protivníka, za to se platí nízkým zraněním "
    End With
    With Mag
        .Fire = 0
        .Ice = 3
        .Elct = 1
        .White = 0
        .Black = 6
        .Phys = 2
        .Curse = 12
    End With
    cokoliv = 7
End Sub

Private Sub Command2_Click()
    SaveToBinnary
End Sub

Private Sub Command3_Click()
    LoadFromBinnary
End Sub

Private Sub Command4_Click()
    With Char1
        Print .Jemno
        Print .Level
        Print .Exp
    End With
    
    With Waepon1
        Print .Damage
        Print .Jmeno
        Print .Description
    End With
    Print cokoliv
End Sub

Prvním tlačítkem uložíte hodnoty do proměnných. Druhým vytvoříte soubor a uložíte hodnoty do něj. Pak můžete formulář zavřít. Potom hodnoty pomocí třetího tlačítka načtete do proměnných a pomocí čtvrtého tlačítka je vytisknete na formulář. Nevytahoval jsem vše, protože - jak jsem psal nahoře - by byl kód příliš roztáhlý. Proto vypisuji pouze několik hodnot, však to vyzkoušejte sami. A teď už ke druhé části, tou je propojení FlexGridu s databází.


40.3 Flexgrid pokračování

Upřímně řečeno nevím, co mě to napadlo roztahovat Flex Grid do dvou lekcí, těch pár řádků, co tu napíšu, za to ani nestojí. Protože pokud chcete data z databáze dát do flexgridu, tak opravdu nemáte moc práce, stačí si vhodně nastavit flexgrid a potom už jen u flexgridu nastavit správě vlastnost DataSource na Data1 nebo na název všeho objektu Data. Vzhledem k tomu, že jsem to moc neodhadl, tak ještě něco málo přidám.


40.4 Volání procedur událostí v kódu

Pokud chceme zavolat nějakou proceduru události v kódu, tak ji voláme jejím jménem, takto:


Private Sub Command1_Click()
    Print "x", 135
    Print "y", 523
End Sub

Private Sub Command2_Click()
    Command1_Click
End Sub

Pokud má funkce parametry voláme ji takto:

Private Sub Command1_Click()
    Command2_MouseDown 1, 0, 150, 150
End Sub

Private Sub Command2_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Print Button
    Print Shift
    Print X
    Print Y
End Sub

To by bylo tak vše k danému tématu.


40.5 Dodatek o objektu Label

Objet label má ještě dvě vlastnosti, o kterých jsem se nezmínil, tak to chci napravit. Takže zaprvé je to vlastnost Autosize. Pokud ji nastavíte na true, tak se label bude při vkládání roztahovat do délky. Pokud ovšem nastavíte na true i vlastnost wordwarp, tak se bude roztahovat i na výšku a to tak, že bude řádky zalamovat v mezerách. Nemusíte tedy mít strach, že by vám rozpůlil slovo.


40.6 Domácí úkol

Vytvořte vlastní binární soubor jakéhokoliv programu


40.7 V další lekci.

V další lekci zase nějaké drobnosti na doplnění.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

1 názor  —  1 nový  
Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Jiří ChytilAutor programuje ve VB, zajímá se o elektrotechniku, studuje na SOŠ Elektrotechnické - obor číslicová technika.
Web    

Nové články

Obrázek ke článku Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

Touto roční dobou, kdy je zem pokrytá barevným listím a prsty křehnou v mrazivých ránech, se obvykle těšíme na zbrusu novou verzi RAD Studia. Letos si však ale budeme muset počkat na Godzillu a Linux až do jara. Vezměme tedy za vděk alespoň updatem 2 a jelikož dle vyjádření pánů z Embarcadero se budou nové věci objevovat průběžně, pojďme se na to tedy podívat.

Reklama
Reklama
Obrázek ke článku Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

Stále rostoucí zájem o cloudové služby i maximální důraz na pružnost, spolehlivost a bezpečnost IT vedou k výrazným inovacím v datových centrech. V infrastruktuře datových center hraje stále významnější roli software a stále častěji se lze setkat s hybridními přístupy k jejich budování i provozu.

Obrázek ke článku Konference: Mobilní technologie mají velký potenciál pro byznys

Konference: Mobilní technologie mají velký potenciál pro byznys

Firmy by se podle analytiků společnosti Gartner měly  rychle přizpůsobit skutečnosti, že mobilní technologie už zdaleka nejsou horkou novinkou, ale standardní součástí byznysu. I přesto - nebo možná právě proto - tu nabízejí velký potenciál. Kde tedy jsou ty největší příležitosti? I tomu se bude věnovat již čtvrtý ročník úspěšné konference Mobilní řešení pro business.

Obrázek ke článku Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres HCPP16 pořádá od 30. září do 2. října nezisková organizace Paralelní Polis již potřetí, a to ve stejnojmenném bitcoinovém prostoru v pražských Holešovicích. Letos přiveze na třídenní konferenci přes 40 většinou zahraničních speakerů – lídrů z oblastí technologií, decentralizované ekonomiky, politických umění a aktivismu. Náměty jejich přednášek budou také hacking, kryptoměny, věda, svoboda nebo kryptoanarchie.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý