Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Komponenty
Komponenta DIGIT
1. srpna 2000, 00.00 | Recenze komponenty pro Delphi, která napodobuje digitální displej...
Pokud jste alespoň trochu radioamatér, jistě víte, oč se jedná. Jednoduchá segmentovka. A pokud nejste, víte to jistě určitě také. Mnoho programů používá tuto komponentu, jelikož se snaží trochu vylepšit vzhled a zároveň trochu napodobit tu skutečnou segmentovku, které tak hezky svítí :-) Ta ve skutečnosti vypadá asi takto:
Teď ale ke komponentě. Jak jsem již napsal, jde použít skoro všude, kde potřebujete zobrazit číslice. Největší uplatnění najde ale většinou najde v různých kalkulačkách, přehrávačích, kde zobrazujete čas, mezi různými digitálními hodinami, ale klidně i ve hrách, kde se počítá skóre, nebo zbývající čas. Pokud si myslíte, že právě toto je to pravé pro Váš program, tak čtěte dál. Zde je popis.
Tuto komponentu jsem našel společně j jednoduchým CD přehrávačem, kde, jak asi každý tuší, zobrazovala čas. Se zdrojáku se mi podařilo vyčíst, že autorem je zřejmě nějaký Alberto Garcia Alvarez, který má e-mail jinak to je asi vše, co jsem se zdrojáku vyčetl ze všech těch komentářů, jelikož jsou psány italsky :-( Jinak je ale zdroják dosti přehledný, a dost se z něj dá naučit. Teď ale zase ke komponentě samotné. Předpokládám, že nainstalovat ji zvládne každý, a co potom ? Samozřejmě vložíme komponentu na formulář, a začneme testovat... Kromě samozřejmých vlastností (Left, Top, Name..), má i pár speciálních, ty jsou popsány zde:
-
Color - barva, v tomto případě pozadí, inplicitně nastavena na černou a nevidím důvod ji měnit...
-
ColorOff - barva vypnutých segmentů, tedy těch co nesvítí, nejlepší je ji nastavit na barvu hodně podobnou pozadí, aby nerušila
-
ColorOn - barva zapnutých segmentů, tedy těch co svítí, nejlepší nastavit nějakou zářící barvu (žlutou, svítivě zelenou, oranžovou..)
-
Separation - určuje mezeru, která je mezi jednotlivými segmenty, implicitně 1, zbytečně měnit
-
Thickness - tloušťka jednotlivých segmentů, normálně 2 (na horním obrázku u nejmenších), u střední je nastaveno na 3 a největčí na obrázku má thickness 6
-
Value - hodnota, která se má zobrazit, tedy jedna z možnotí 1,2,3,4,5,6,7,8,9,0
-
ValueBinary - binární hodnota, asi nejzajímavější věc, je popsána níže
ValueBinary
Tato hodnota vám dává možnost, upravovat vypnutí jednotlivých segmentů, včetně desetinné tečky ! Zde je obrázek, jak jsou jednotlivé segmenty očíslovány:
A z toho lze jednoduše vytvořit binární zápis. Pokud chceme, aby segment svítil, nastavíme jeho hodnotu na 1, pokud ne, tal na 0. Tedy číslo 5 s tečkou bude vypadat následovně: 11001111 v binárním zápisu. Do hodnoty ValueBinary v komponentě ale musíme zapsat toto číslo v desítkové soustavě, proto jej musíme převést. Zde je návod jak:
-
Nejprve spustíme kalkulačku (start/programy/příslušenství/kalkulačka) a dáme Zobrazit/ Vědecká.
-
Klikneme na přepínací tlačítko Bin, čímž přepneme do dvojkové soustavy
-
nyní zapíšeme binární hodnotu, tedy např 11001111 (pětka s tečkou)
-
klikneme na přepínací tlačítko Dec, čímž přepneme zpět na desítkovou soustavu
-
číslo se také převede do desítkové soustavy, v našem případě bude 207
-
zapíšeme toto číslo do hodnoty ValueBinary v komponentě, a měl by se nám výsledek objevit...
tímto způsobem můžeme zobrazit jakýkoliv nesmysl, tedy např. E, pomlčku... zde je přehled pár z nich:
náhled: | ValueBinary ve dvojkové soustavě | Desítková soustava |
00000010 | 2 | |
01111011 | 123 | |
01101110 | 110 | |
00101101 | 45 | |
01110110 | 118 | |
00101111 | 47 | |
00101011 | 43 | |
01111010 | 122 | |
01110100 | 116 | |
00101100 | 44 | |
00111011 | 59 | |
01001111 | 79 | |
01111100 | 124 | |
Kromě tohoto všeho obsahuje komponenta ještě metodu OnOverflow, která je volána, když je číslo větší, než je možné zobrazit (tedy větší než 9) a funkci Increase, která zvětší hodnotu o 1.
Komponenta je freeware a byla testována pouze pod Delphi.
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007