Skládaèka Obr 48 G15 VBP Co to dìlá: Naète vybraný obrázek (vybraný pomocí CommonDialog1), vytvoøí MxN komponent PictureBox obsahujících odpovídající

Podobné dokumenty

0RW\O3LFWXUH%R[ 7LPHU7LPHU

11 Elektrické specifikace Mezní parametry* Okolní teplota pøi zapojeném napájení 40 C až +125 C Skladovací teplota 65 C až +150 C Napájecí napìtí na V

1.2 Realizace èekání pomocí jednoduché programové smyèky Pøíklad 3: Chceme-li, aby dítì blikalo baterkou v co nejpøesnìjším intervalu, øekneme mu: Roz

Spínaèe jsou elektrické pøístroje, které slouží k zapínání, pøepínání a vypínání elektrických obvodù a spotøebièù. Podle funkce, kterou vykonávají, je

VLASTNOSTI PLOŠNÝCH SPOJÙ


12 15 Instalace mikroturbíny v blokové plynové výtopnì " ZADÁNO: Instalace mikroturbíny v blokové plynové výtopnì Zjistìte: 1 Zda je ekonomicky výhodn


Vytváøení sí ového diagramu z databáze: pøíklad

3/ %,1'(& 83'1 &( &3 )XQNFH. + ; ; ; ; / ; ; + ; EH]H]PuQ\


9. Harmonické proudy pulzních usměrňovačů

:5$ =islv GDW V DOWHUQDFt QHMY\ããtKRELWX




3.1 Útlum atmosférickými plyny Rezonance molekul nekondenzovaných plynù obsažených v atmosféøe zpùsobuje útlum šíøících se elektromagnetických vln. Ab

Pokročilejší programování v MS Visual Basic 2010


PDWHULiO FS>-NJ ±. FS>NFDONJ ± ƒ& VW teur åhoh]r FtQ KOLQtN N HPtN. OHG DONRKRO ROHM FFD FFD SHWUROHM UWX YRGD Y]GXFK YRGQtSiUD KHOLXP




CTR pro optoèlen s LED a tranzistorem:,& &75 = [%] U, CE = const ) Obvykle CTR urèíme pøi I F = 10 ma a U CE = 5 V. Hodnoty zjistíme z tabulky.,& &75

kap..2 Plochy (Surfaces) Plochy jsou rozšíøením NURBS køivek. Zatímco køivka NURBS používala jednorozmìrnou interpolaci (U), u ploch je navíc pøidán d


Izolaèní zesilovaèe s IL300 Zapojení izolaèních zesilovaèù s IL300 se liší pøedevším režimem v nichž pracují interní fotodiody Podle toho zda interní



Přidávání animací do programů

2.4 Cykly 2. ZÁKLADY JAZYKA C


než je cca 5 [cm] od obvodu LT1070, doporučuje se blokovat napětí U IN

červená LED 1 10k LED 2

NULOROVÉ MODELY Spokojíme-li se pouze se základní analýzou elektronického obvodu s ideálními prvky, osvìdèuje se èasto užití nulorových modelù aktivní


8. ZÁKLADNÍ ZAPOJENÍ SPÍNANÝCH ZDROJŮ



nažhavováním elektronek, takže nedochází k neúmìrnému pøetìžování filtraèních kondenzátorù pøi nábìhu anodového proudu. Polovodièový usmìròovaè vytvoø

6. Typy GPS přijímačů

Softwarový program Aplikace pro detekci rizikových zadavatelů (ADRZ)

OHGHQ ~QRU E H]HQ GXEHQ NY WHQ þhuyhq. SROROHWt


PESexcl. PODPORA PRO VÝMÌNU DAT S APLIKACÍ MICROSOFT EXCEL s využitím DDE serveru PESdde

Roman Neruda a Tomáš Holan C++ BUILDER V PØÍKLADECH Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnožo

]PHQãLWIRQW ]Y WãLWIRQW QDVWDYLWIRQW XORåLWVRXERU Y\WLVNQRXWVRXERU Y\WYR LWQRYêVRXERU



4.8 Jak jsme na tom v porovnání s jinými přístupy

01. HODINA. 1.1 Spuštění programu VB Prvky integrovaného vývojového prostředí. - pomocí ikony, z menu Start.

D DE = = + [ + D[ [ D = - - XY = = + -




Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout. tel:


Kapitola 3 UNIPOLÁRNÍ TRNZISTORY 3.1 Obecný popis Unipolární tranzistory s pøechodovým hradlem (JFET) MOSFET MOSFET zvláštní k

14 UKAZATELE A ØETÌZCE

Tematický celek 03 - Cvičné příklady




Kurz Databáze. Obsah. Formuláře. Práce s daty. Doc. Ing. Radim Farana, CSc.



2016 Česká republika ŽENY (aktuální k )

Česká republika - ŽENY


Jak vložit obrázek do oblasti buněk



DesignCAD Express poznámky k vydání verze z 22/07/2015

4 GUIDE nástroj pro interaktivní tvorbu grafického rozhraní Kapitola 3 byla vìnována ruèní tvorbì grafických objektù Všechny grafické objekty vaší apl

2kapitola 2 ŠÍØENÍ VLN V ZÁSTAVBÌ PRO MOBILNÍ BUÒKOVÉ SYSTÉMY 2.1 Šíøení vln v pásmu UHF Mobilní spoj Šíøení v poloprostoru

P P P ) Mw Mj = = + ,P H,P H H,P H H. ww j ww j ww = + , P H j

MS Excel Základy maker. Operační program Vzdělávání pro konkurenceschopnost. Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU



M R 8 P % 8 P5 8 P& & %

[ 2] [ 1] Stanovení znaménka (2.10)

Tematický celek Práce ze soubory. 5.2 Objektový model FSO. - slouží pro ukládání záznamů, - každý ze záznamů obsahu jedno nebo více polí.

VBA: VYTVOŘENÍ OBJEKTU GRAF (CHART) Deklarace proměnné typu Chart. Pro vytvoření nového grafu použijeme kolekci ChartObjects a její metodu Add.

Tabulka jako pozadí na Ploše



Tabulka obsluhovaná kódem VBA

([FHQWULFLWD 6WUPRVW

9. Kompenzace účiníku u spínaných zdrojů malých výkonů

Cvičné příklady Tematický celek 01


NOiYHVQLFH SVDFtKR VWURMH Í (Q Ï Á. (VF ) )SURJUDPRYDWHOQpNOiYHV\) ) 3VF 6F/ 3DX NRQWURON\ ,QV +RPH 3J8S 7DE 'HO (QG 3J'Q &DSV/ (QWHU Í 6KLIW




MS ACCESS A MS WORD V KAŽDODENNÍ PRAXI




Transkript:

Vážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv. copyright. To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího (aby ètenáø vidìl, jakým zpùsobem je titul zpracován a mohl se také podle tohoto, jako jednoho z parametrù, rozhodnout, zda titul koupí èi ne). Z toho vyplývá, že není dovoleno tuto ukázku jakýmkoliv zpùsobem dále šíøit, veøejnì èi neveøejnì napø. umis ováním na datová média, na jiné internetové stránky (ani prostøednictvím odkazù) apod. redakce nakladatelství BEN technická literatura redakce@ben.cz

Skládaèka Obr 48 G15 VBP Co to dìlá: Naète vybraný obrázek (vybraný pomocí CommonDialog1), vytvoøí MxN komponent PictureBox obsahujících odpovídající èásti naèteného obrázku a tyto èásti dovolí pøesouvat myší (MouseDown, MouseMove, MouseUp) Pøi konci pøesouvání tyto komponenty doskakují na pozice odpovídající møížce zadaných rozmìrù Jak: Dim VX As Integer Dim VY As Integer Dim SX As Integer Dim SY As Integer Private Sub Form_Click() Dim JmenoSouboru As String Dim PX As Integer Dim PY As Integer Dim X As Integer Dim Y As Integer Dim i As Integer A GRAFIKA SKLÁDAÈKA 81

CommonDialog1 Filter = "Obrazky * bmp;* gif;*" _ & " jpg;* dib;* wmf;* emf;* ico Všechno * *" CommonDialog1 ShowOpen JmenoSouboru = CommonDialog1 filename If JmenoSouboru = "" Then imobrazek Picture = LoadPicture(JmenoSouboru) On Error GoTo Chyba PX = Val(Text1 Text) PY = Val(Text2 Text) On Error GoTo 0 VX = Int(imObrazek Width / PX) VY = Int(imObrazek Height / PY) i = 1 For Y = 1 To PY For X = 1 To PX Load pbpuzzle(i) With pbpuzzle(i) Left = (X - 1) * VX Top = (Y - 1) * VY Width = VX Height = VY PaintPicture imobrazek Picture, 0, 0, _ VX, VY, _ (X - 1) * VX, _ (Y - 1) * VY, VX, VY Visible = True i = i + 1 Next X Next Y imobrazek Picture = LoadPicture Chyba: MsgBox "Špatnì zadané rozmìry" Private Sub pbpuzzle_mousedown _ (Index As Integer, Button As Integer, _ Shift As Integer, X As Single,Y As Single) If Button <> vbleftbutton Then SX = X SY = Y 82 VISUAL BASIC V PØÍKLADECH LENKA TAHALOVÁ, TOMÁŠ HOLAN A

Private Sub pbpuzzle_mousemove _ Index As Integer,Button As Integer, _ Shift As Integer, X As Single, Y As Single) If Button <> vbleftbutton Then With pbpuzzle(index) Left = Left + X - SX Top = Top + Y - SY Private Sub pbpuzzle_mouseup _ (Index As Integer, Button As Integer, _ Shift As Integer, X As Single, Y As Single) If Button <> vbleftbutton Then With pbpuzzle(index) Left = VX * Int( Left / VX) Top = VY * Int( Top / VY) Vysvìtlení n Jako pomocný objekt pro natažení celého obrázku je z úsporných dùvodù použita komponenta Image, která má nastavenu vlastnost Visible na FALSE n Pøiøazení výsledku volání funkce LoadPicture bez parametru do vlastnosti Picture zpùsobí uvolnìní obrázku z objektu Poznámka Nezapomeòte komponentì PictureBox nastavit vlastnost AutoRedraw na TRUE A GRAFIKA SKLÁDAÈKA 83

Skládaèka 2 Obr 49 G16 VBP Co to dìlá: Jak: Jako minulý pøíklad, nìkolik vylepšení 1 Kontroluje se velikost okna formuláøe a pøípadnì se okno zvìtší If ScaleWidth < VX * (PX + 1) + Text1 Width + 10 Then ScaleWidth = VX * (PX + 1) + Text1 Width + 10 Text1 Left = ScaleWidth - Text1 Width - 10 Text2 Left = Text1 Left If ScaleHeight < VY * (PY + 1) + 10 Then ScaleHeight = VY * (PY + 1) + 10 2 Kostièky jsou pøi vytvoøení náhodnì rozházeny Left = Int(Rnd * (imobrazek Width - VX)) Top = Int(Rnd * (imobrazek Height - VY)) 84 VISUAL BASIC V PØÍKLADECH LENKA TAHALOVÁ, TOMÁŠ HOLAN A

3 Kontroluje, aby se kostièky nezarovnávaly za okraj formuláøe a nepøekrývaly se Private Sub pbpuzzle_mouseup(index As Integer, _ Button As Integer, Shift As Integer, _ X As Single, Y As Single) Dim BX As Integer Dim BY As Integer If Button <> vbleftbutton Then BX = VX * Int(pbPuzzle(Index) Left / VX) BY = VY * Int(pbPuzzle(Index) Top / VY) If BX < 0 Then BX = 0 If BY < 0 Then BY = 0 k = 1 For j = 1 To PY For i = 1 To PX With pbpuzzle(k) If Abs( Left - BX) < 1 And _ Abs( Top - BY) < 1 Then Beep Beep k = k + 1 Next i Next j pbpuzzle(index) Left = BX pbpuzzle(index) Top = BY 4 Kontroluje se, zda je již obrázek složen 'General Declaration Dim PX As Integer Dim PY As Integer Private Sub k = 1 For j = 1 To PY For i = 1 To PX pbpuzzle_mouseup(index As Integer, _ Button As Integer, Shift As Integer, _ X As Single, Y As Single) A GRAFIKA SKLÁDAÈKA 2 85

If Abs(pbPuzzle(k) Left - (i - 1) * VX) > 1 Then _ If Abs(pbPuzzle(k) Top - (j - 1) * VY) > 1 Then _ k = k + 1 Next i Next j MsgBox "Hurááááá!!!!" Vysvìtlení Jednotlivé kostièky jsou pøi vytváøení ukládány do pole ve správném poøadí složeného obrázku, to dovolí kontrolovat složení Každá kostièka si pamatuje i svoji polohu, takže mùžeme zabránit pokládání kostièek pøes sebe Vlastnosti Left a Top nejsou deklarovány jako celoèíselné promìnné a proto je nelze testovat na rovnost s požadovanou hodnotou, ale lze pouze testovat, zda jejich odchylka od požadované hodnoty je dostateènì malá Zkuste si to! 86 VISUAL BASIC V PØÍKLADECH LENKA TAHALOVÁ, TOMÁŠ HOLAN A

Patnáctka Obr 50 G17 VBP Co to dìlá: Také skládaèka, ale jedna z kostièek je nahrazena dírou Skládání spoèívá ve vymìòování díry a sousední kostièky pomocí šipek Jak: Kostièky jsou vyrobeny na svých místech, poslední z nich je pøebarvena, bude tvoøit díru Zároveò se ukládá pozice díry Private Sub Form_Click() i = 1 For Y = 1 To PY For X = 1 To PX Load pbpuzzle(i) With pbpuzzle(i) Left = (X - 1) * VX Top = (Y - 1) * VY Width = VX Height = VY PaintPicture imobrazek Picture, _ 0, 0, VX, VY, (X - 1) * VX, _ (Y - 1) * VY, VX, VY A GRAFIKA PATNÁCTKA 87

AutoRedraw = True Visible = True Index(X, Y) = i i = i + 1 Next X Next Y pbpuzzle(i - 1) Line (0, 0)-(VX, VY), vbblue, BF DX = PX DY = PY Procedura TAH Private Sub Tah(Smer As Integer) Dim XX As Variant Dim YY As Variant Dim NX As Integer Dim NY As Integer Dim pom As Integer XX = Array(1, 0, -1, 0) YY = Array(0, 1, 0, -1) NX = DX + XX(Smer) NY = DY + YY(Smer) If NX < 1 Or NX > PX Or NY < 1 Or NY > PY Then 'Beep With pbpuzzle(index(nx, NY)) Left = (DX - 1) * VX Top = (DY - 1) * VY With pbpuzzle(index(dx, DY)) Left = (NX - 1) * VX Top = (NY - 1) * VY pom = Index(DX, DY) Index(DX, DY) = Index(NX, NY) Index(NX, NY) = pom DX = NX DY = NY 88 VISUAL BASIC V PØÍKLADECH LENKA TAHALOVÁ, TOMÁŠ HOLAN A

slouží k poèáteènímu zamíchání kostièek For i = 1 To 100 Tah Int(Rnd * 4) + 1 Next i i tahùm hráèe Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode >= 37 And KeyCode <= 40 Then Tah KeyCode - 36 Poznámka Pro volání procedury Form_KeyDown je tøeba v oknì Properties nastavit vlastnost KeyPreview okna Form1 na TRUE A GRAFIKA PATNÁCTKA 89