Vítejte na blog.vyvojar.cz Přihlásit | Registrovat | Pomoc
Titulní Blogy Fotky Soubory

Blog Karla Nováka (pseudonym)

Blog věnovaný zejména programování v .NET Frameworku, jazyku C# a Express edicím Visual Studia.

  • Ach ta čeština

    Na to, že se občas setkám s problémovou interpretací českých znaků u software jsem si už zvykl, ale že se s tím setkám i u hardware od Microsoftu ...

     

    obrazek

     

     


  • Microsoft .NET vs Java - trailer

  • Pokračování projektu fyiReporting RDL

    Vývoj projektu fyiReporting RDL nyní pokračuje pod novým názvem ReportingCloud.

    fyiReporting RDL / ReportingCloud je komponenta umožňující vytváření tiskových výstupů pro platformu .NET, šířená pod licencí Apache License Version 2 / GNU Library or "Lesser" General Public License version 3.0 (LGPLv3), mezi jejíž přednosti patří i kompatibilita s mssql reporting services.

  • Jak na reporty v Express verzi Visual Studia

    V současné verzi Visual Studia Express 2008 resp. jeho částech není v "základu" přítomna komponenta pro vytváření tiskových sestav. Nicméně to neznamená že by programy vytvořené v Express verzích nemohly mít tiskové výstupy. Jsou dostupné např. tyto možnosti:

    1. Pro vytváření tiskových sestav si komponentu koupit, např. Stimulsoft Reports.Net, nebo XtraReports, nebo  Telerik Reporting . Vzhledem k tomu, že tyto "vymakané" komponenty nejsou zrovna za hubičku asi to pro uživatele Express edicí (které jsou zdarma) nebude zrovna schůdné řešení.
    2. Použít komponentu která vychází z placené komponenty, ale je ořezaná o některé funkce (podobně jako Visual Studio Express) a je zdarma. Jediná kterou jsem objevil je : Report Sharp-Shooter Express a jedno z jejich omezení je takové, že je lze použít jen pro WinForms aplikace.
    3. Použít komponentu která je zcela zdarma. Jako nejzdařilejší "nejvymakanější" se mě jeví fyiReporting což je komponenta, která jestli si to dobře pamatuji byla původně placená a dnes je zdarma, šířená pod licencí Apache License Version 2 . Případně bych ještě v této kategorii zmínil komponentu Report Manager .
    4. Dále je zde další možnost a to sice doinstalovat do Visual Web Developer Express tutéž komponentu pro vytváření tiskových sestav která je přítomna až ve vyšších verzích Visual Studia. Co je k tomu potřeba je zde . Jedná se o Add-on do Visual Web Developer Express který obsahuje RDLC designer, což je návrhář tiskových sestav a Microsoft Report Viewer což je komponenta pro zobrazení tiskové sestavy. Microsoft Report Viewer existuje i pro WinForms ale je nutno jej stáhnou zvlášť. Z toho vyplývá, že teoreticky lze sestavy vytvořené v Visual Web Developer Express zobrazit i ve WinForms aplikacích.
    5. Lze také využít Reporting Services které jsou součástí i jedné z variant Express verze Microsoft SQL Server, je k nim k dispozici také pěkný samostatný návrhář.
  • Už se to blíží

  • Jak dokáže software otrávit štědrý den

    Dnešní den jsem měl krásně naplánovaný a docela jsem se na něj těšil, ježíšek mě udělal radost krásnou knihou s názvem Mistrovství ve Windows Presentation Foundation od legendárního autora Charlese Petzolda, nicméně větší část dne jsem byl pěkně vytočený. Jak už to tak poslední dobou bývá, většinu vánočních přání zasíláme (myslím tím naši rodinu) pomocí SMS. Letos jsem si řekl, že nebudu zpátečnický a SMS nebudu zasílat z mobilu, ale využiji "nejmodernějších technologií" (no spíše jsem si to chtěl vyzkoušet) a SMSky zašlu pomocí desktopové aplikace mého telefonního operátora, která se nazývá SMSender.

    Nejdůležitější krok byl dostat kontakty z mobilu do této aplikace, takže jsem si spustil Nokia PC Suite (software určený pro telefony NOKIA) a nechal si zobrazit kontakty uložené v mobilu, bohužel jak jsem později díky diskuzním fórům zjistil, údajně zrovna novější verze už neumožňuje pracovat s kontakty uloženými přímo na SIMkartě, umí pracovat jen s kontakty uloženými v paměti telefonu. Takže jsem ještě musel v telefonu překopírovat data ze SIMky do paměti. Člověk by čekal že novější a i větší verze toho bude umět naopak víc než ta předchozí, ale asi jsem moc velký optimista.

    Takže kontakty už mám z mobilu načteny a nyní zbývá je už jen dostat do oné aplikace s názvem SMSender, ten samotný využívá ke správě kontaktů adresář kontaktů ve Windows (ve Vistách je to pojmenované jako Windows kontakty). Nokia PC Suite by sice měla sama jednoduše pomocí synchronizace tyto kontakty uložit do Windowsů, nicméně u mě to jaksi nefungovalo, tak jsem využil druhé možnosti a ty svoje kontakty vyexportoval do souboru *.csv . Windows kontakty tento soubor umí importovat, pouze je potřeba sdělit co které sloupce znamenají, tak si říkám super, to bude brnkačka ... a najednou jsem zjistil že se nic neimportovalo, pouze ve Windows kontaktech vznik jen jeden a ještě k tomu prázdný záznam. Pochopitelně jsem se pokoušel zjistit čím to je, ale všechno se zdálo být v pořádku, no prostě minimálně 2 hodiny jsem byl bezradný, přičemž mě čekalo ještě několik úkolů včetně přípravy kapra na smažení atd. , no prostě času už moc nezbývalo.

    No a pak jsem na to přišel, problém byl v tom, že vyexportovaný soubor byl v kódování Unicode a to se při importu Windows kontaktům asi moc nelíbí, sice neprotestují, ale taky nic nenaimportují. Podotýkám, že na možnost vybrat si kódování nikde nenarazíte. Takže stačilo onen csv soubor otevřít v Poznámkovém bloku, dát "uložit jako" s jiným kódováním a vše najednou nádherně funguje.

    Po této zkušenosti se ani některým uživatelům nedivím, že se počítačů bojí, software si z nich někdy dělá dobrý den a přivádí k zoufalství, zejména když člověk není schopen ze záhadných důvodů provést tak triviální úkol jakým je importovat jeden csv soubor, přičemž se vše tváří že je v pořádku.

     

    Nakonec bych chtěl všem dobrým lidem popřát krásné prožití svátků vánočních, do nového roku vše nejlepší, zejména pevné zdraví (peníze si vyděláme Wink )  a ještě mám takovou vizi, že se nám snad podaří zahnat tu škaredou světovou finanční krizi.

  • Co s lokalizovanou chybovou hláškou ? - pokračování

    Abych pravdu řekl, když jsem narazil na onu službu Microsoft Language Portal - Search Tool nijak podrobněji jsem ji nezkoušel, jednak bylo málo času a taky jsem věřil že funguje tak jak by člověk předpokládal. Bohužel mé nadšení bylo pravděpodobně předčasné, jelikož jak se zdá služba nepracuje podle mých představ, prostě některé hlášky neumí vyhledat. Například jsem si nechal v .NETu vyhodit takto vyjimku:

    File.Copy(string.Empty, string.Empty);

    Protože .NET Framework mám v anglické verzi, hlavní text vyjimky vypadá takto: Empty file name is not legal. Když dám tento text vyhledat ve zmiňované službě (tentokrát bez zaškrtnutého "Reverse Search Direction") s tím, že language dám na Czech  tak nic nenajde. To stejné se stane i pro jiné jazyky i s jinými volbami pro vyhledávání. Docela mě to vrtalo hlavou, tak jsem dnešní dopoledne věnoval zjišťování kde je zakopaný pes. Jak jsem zmiňoval v diskuzi předešlého příspěvku, bylo mi známo, že kdysi se daly tyto texty obsažené v MS aplikacích stáhnout jako CSV soubor, pro každý jazyk zvlášť. Taky jsem věděl že to mám někde uložené na disku. Takže jsem si dal tu práci, prohledal ten bordel co mám na disku a podařilo se mě to najít. Soubor se jmenuje Czech.zip má nějakých 42 MB a obsahuje 82 CSV souboru pro každý produkt/program zvlášť. Bohužel je už trochu zastaralý nejmladší soubor v něm je z 14.9.2005.

    Hlavní co mě zajímalo, je jestli v něm někde naleznu onen výše zmíněný text vyjimky. Předpokládal jsem že text se týká .NET Frameworku, první a asi taky poslední CSV soubor který na to vypadal se jmenuje ces-cze-csv-.NetFramework11SP2.csv. Takže tento soubor jsem si otevřel v OO dal vyhledat text vyjimky a Bingo našlo jej to : Empty file name is not legal. -> Prázdný název souboru není platný. Takže vím, že tyto chybové hlášky v jiném jazyce jsou zpracované.

    Pátral jsem dál a narazil jsem na tento poměrně mladý příspěvek v blogu a jestli jej dobře chápu tak ona vyhledávací služba by měla mít stejný obsah jako ony CSV soubory, cituji "The database also contains software strings from released products.". Nicméně je tam taky zmíněné, že zákazníci MSDN subscription a TechNet subscription mají možno si zmiňované texty (předpokládám v aktuální verzi) stáhnout v onom baliku CSV souboru. Jak to vypadá, tak to co bylo dříve ke stažení zdarma, je nyní přístupné jen pro platící zákazníky. Bohužel já chudáček pracující jen s Express edicemi Visual Studia na tyto místa nemám přístup, abych ověřil že to to funguje, nicméně pro ostatní to může být cenná informace, když už by požadovaný text nenašla vyhledávací služba, tak zůstává možnost si to najít v CSV souboru.

    Tak nevím, jestli je chyba v onom vyhledávání, nebo ve mě, ale doufám že časem bude vyhledávání na Microsoft Language Portal bezproblémové, tak jak si to já i mnozí jiní představují.

    P.S. ani jsem netušil jak tohle téma může být užitečné, abych pravdu řekl, čekal jsem že tuhle službu zná kdekdo

     

  • Co s lokalizovanou chybovou hláškou ?

    Asi se s tímto problémem setkává kdekdo pracující v IT, nastane nějaký problém a dostanu chybové hlášení (např. vyjimka, dialog) . Pokud si s hlášením nevím rady, vložím jej do internetového vyhledávače, abych se podíval jestli podobný problém neřešil přede mnou někdo jiný. Problém nastává v případě, kdy je hlášení v jiném než anglickém jazyce např. v češtině. Může se stát že mě vyhledávač najde pouze několik málo odkazů v kterých se řešení nedozvím, případně nenajde vůbec nic. Je to pochopitelné jelikož na web přispívajících lidí, kteří se pohybují v českém prostředí a případně by uvedli hlášku v češtině je rozhodně méně než těch kteří píší anglicky. Není vůbec špatný nápad používat z tohoto důvodu programy v anglické verzi, nicméně to neřeší situaci kdy se hláška objeví např. na počítači zákazníka.

    Takže nakonec se člověk ocitne v situaci, kdy by potřeboval stejnou hlášku, ale nejlépe v anglickém jazyku. Pokoušet se o vlastní překlad nemá smysl, protože je vysoce nepravděpodobné, že se člověk přesně trefí do "originálu".

    Naštěstí Microsoft ke svým programům poskytuje službu pomocí níž je možno vyhledat jakýkoliv text vyskytující se v některém z jejich programů jak vypadá v jiném jazyce. Služba umožňuje i vyhledávání v terminologické databázi, což se hodí pokud člověk chce používat jakýsi standardizovaný překlad některých pojmů vyskytujících se v programech:

    Microsoft Language Portal - Search Tool 

    Jen bych upozornil že ve výchozím nastavení se používá převod z anglického výrazu na jazyk vybraný ze seznamu, tudíž pokud chci převést hlášku např. v češtině do angličtiny musím ještě zaškrtnout volbu "Reverse Search Direction".

  • Visual Studio 2008 Express Editions - co je to ?

    Společnost Microsoft již několik let vyvíjí produkt s názvem Visual Studio. Jde o vývojové prostředí (balík různých nástrojů které slouží k vytváření aplikací) s podporou několika programovacích jazyků. Jak už to u některých programů bývá, i Visual Studio vychází v několika edicích podle toho jaká část funkcionality je v té které edici zpřístupněná a tomu odpovídá i pořizovací cena.

    S příchodem verze 2005 se Microsoft rozhodl vytvořit i edici (pravděpodobně jako reakci na to že konkurenční Java má zdarma dostupná plnohodnotná vývojové prostředí), která je svým omezením funkcionality určená převážně pro začátečníky a hobby programování. Tato edice byla pojmenovaná jako Visual Studio Express. Je sice "nejořezanější" ze všech dostupných edicí, nicméně to neznamená, že by se v ní nedalo docela slušně programovat. Co je na ní asi nejhezčí je to, že je ZDARMA a i když je zdarma tak v ní můžete vytvářet komerční programy tzn. to co v ní vytvoříte smíte prodávat. Původně byla tato edice vydána s tím, že bude zdarma jen na jeden rok a ani nebylo pořádně jasné zda se v ní mohou vytvářet komerční aplikace, později bylo oznámeno, že je zdarma napořád a že nemá licenční omezení týkající se aplikací v ní vytvářených. Jasným důkazem toho je odpověď na dotaz "Can I use Express Editions for commercial use?", která zní " Yes, there are no licensing restrictions for applications built using Visual Studio Express Editions." a je uvedená na této stránce.

    K Visual Studio Express Editions patří ještě MS SQL Server Express Edition, což je opět ořezaný MS SQL Sever (SQL Server čili databázový server je zjednodušeně řečeno program, který se stará o spolehlivé ukládání dat, v dnešní době je to nejrozšířenější způsob jak ukládat data), který je opět zdarma.

    V čem spočívají omezení Express edice ? 

    Podle mých zkušeností je v této edici omezená funkcionalita tak, aby se v ní dalo sice téměř plnohodnotně programovat, ale zároveň byl částečně omezený komfort, neboli začátečníkovi, který nikam nespěchá to nevadí, ovšem profík, který potřebuje maximální produktivitu práce raději sáhne po některé z placených edicí. Co se týče typů vytvářených aplikací, dají se v Express edici vytvářet v podstatě všechny běžně se vyskytující typy až na některé, řekl bych speciální typy, které se vyskytují hlavně v podnikovém prostředí. Prostě základ je dostupný i v Express edici.

    Podrobné porovnání dostupné funkcionality v různých edicích Visual Studia je např. zde. Těch rozdílů v dostupné funkcionalitě je sice hodně, ale podle mých zkušeností, toho co může pocítit neprofesionální programátor v Express edici zase tak moc není, za ty nejvýznamnější bych označil tyto  :

    • Visual Studio Express je roztříštěné na několik samostatných programů. Placená verze Visual Studia je vlastně jeden program v kterém se dají vytvářet všechny dostupné typy aplikací. U Express edice tomu tak není. Roztříštění je uděláno takto:
    • Pro vytváření aplikací fungujících ve webovém prohlížeči (internetové stránky) a obecně toho co se týká webu je samostatný program s názvem Visual Web Developer Express Edition.
    • Pro ostatní typy aplikací (včetně knihoven dll) jsou určeny další samostatné programy, které se liší podle toho jaký programovací jazyk používají:
      • Visual C# Express Edition
      • Visual Basic Express Edition
      • Visual C++ Express Edition (umožňuje vytvářet i nativní Win32 aplikace tzn. ty které nepotřebují ke svému běhu .NET Framework)
      • A ve vezi 2005 to byl ještě Visual J# Express Edition
    • Není dostupná možnost rozšiřovaní funkcionality Visual Studia pomocí Add-Ins (tzv. zásuvné moduly či Plugins). Kdokoliv může napsat tento specializovaný program, který se integruje do Visual Studia a rozšíří tím dostupnou funkcionalitu. Bohužel v Express edici toto není možné s vyjímkou Add-Ins které pro Express edici vydá samotný Microsoft např.  ReportViewer což je Add-In který přidá do Visual Web Developer funkcionalitu umožňující vytvářet tiskové sestavy.
    • Není dostupná možnost používat Makra (to je to stejné jako např. v MS Wordu si můžete zaznamenat či naprogramovat často se opakující činnosti a ty následně spouštět).
    Je třeba taky říct, že některá chybějící funkcionalita v Express Edici se dá nahradit volně dostupnými nástroji, případně ručním nastavením projektu atd., lze například i zcela legálně integrovat správu zdrojových kódů.


    V době psaní tohoto příspěvku je nejaktuálnější verzí Visual Studia Express (to se týká i ostatních edicí) verze 2008 a lze ji stáhnout z těchto stránek. Při stahování jsou na výběr dvě možnosti, buďto lze použít tzv. Web Install což znamená, že se stáhne jen malý prográmek, který si následně po spuštění instalace zbytek sám dostahuje z internetu, nebo jako druhou možnost lze použít tzv. Offline Install což obnáší stažení všech částí Express edice v jednom souboru s koncovkou ISO (tzv. obraz) který lze vypálit na DVD (např. v Neru je to volba Vypálit obraz na disk), nebo taky procházet pomocí některého z programů který vytvoří tzv. virtuální mechaniku.

    Express edice je dostupná v několika jazycích, bohužel Čeština mezi nimi chybí a dost pochybuji, že by se někdy objevila, takže nezbývá než se naučit alespoň základy Angličtiny - ono to bez ní dost dobře ani v programování nejde. To stejné se týká nápovědy resp. dokumentace (to je to MSDN Library) která se instaluje zároveň s Visual Studiem (i Express) a je také v Agličtině - jelikož MSDN Library je také dostupná na internetu tak tady by snad mohl pomoci nějaký překladač internetových stránek např. slibně vypadající Google překladač. Co se týče dokumentace, s Express Edicí Visual Studia se instaluje pouze verze s omezeným obsahem, ale nic nebrání tomu si stáhnout a nainstalovat plnohodnotnou verzi (v době psaní tohoto příspěvku je to tato verze) ovšem je potřeba počítat s tím, že je to pěkný bumbrlíček.

    Co lze čekat v budoucnosti ?

    Co se týká budoucnosti Visual Studio Express Editions, tak podle mých informací s příchodem SP1 (Service Pack je tzv. opravný balíček) pro Visual Studio 2008 by měla v Visual Web Developer Express Edition přibýt (co se týká omezení funkcionality oproti jiným edicím) možnost vytváření Web Application Projects a dále i Class Library (knihovny dll) což jistě hodně lidí ocení, protože doposud když se vytvářela webová aplikace která měla část kódu uloženou v dll souboru (což je velmi dobrý způsob rozdělení) , tak se kvůli tomu musely používat dvě spuštěné aplikace tzn. Visual Web Developer Express Edition a např. Visual C# Express Edition zároveň, což by snad nebylo až tak hrozné, ale horší bylo, že občas Visual Web Developer nechtěl uvolnit používané dll což znamenalo nutnost jej ukončit a znovu spustit a nebo použít nějaký trik jako je tento. Pokud bude možno vytvářet jak webovou část tak dll aplikace v jednom programu tak očekávám, že by takové problémy neměly nastávat.  

    Dále lze očekávat že se Visual C# Express Edition a Visual Basic Express Edition sloučí do jednoho programu, jelikož na to probíhala  Microsoftem vytvořená anketa.

    Co se týká vzdálené budoucnosti nechme se překvapit, zdá se mě, že se poměry v Microsoftu pozvolna mění k lepšímu (otevírání doposud uzavřených formátů, programy zdarma atd.) a třeba časem Microsoft "pustí chlup" a uvolní Visual Studio alespoň na úrovni doposud placené edice Standard zdarma a to třeba vzhledem k tomu, že konkurenční Java má velice pěkná plnohodnotná vývojová prostředí (např. Eclipse, NetBeans) zdarma i se zdrojovými kódy.

     

     

  • Otázky které mohou trápit začátečníky

    Rád bych vysvětlil několik pojmů, na které může narazit úplný začátečník pokud se rozhodl seznámit s kouzelným, nicméně dosti složitým světem programování. Nechci se pouštět do sálodlouhých definicí, proto se to pokusím vysvětlit maximálně jednoduše a prosím odborníky, aby mě hned nekamenovali:

    Co je to programovací jazyk ?

    Tak jako si každý národ vytváří svůj komunikační jazyk, tak i s počítačem komunikujeme jazykem kterému rozumí. Ve skutečnosti počítač rozumí jen jednomu základnímu komunikačnímu "jazyku" - tím myslím přímo instrukce procesoru (v této oblasti se můžete setkat s pojmy jako Strojový kód, Assembler atd.). Nicméně programování na této nízké úrovni, je velice nepohodlné, zdlouhavé a je velmi jednoduché udělat chybu, zase na druhou stranu programátor není nijak omezován a takto lze napsat velice efektivní program, který má minimální spotřebu systémových zdrojů (paměť, čas procesoru), neboli může běhat velice svižně s minimální spotřebou paměti. Na této úrovni se v dnešní době píší např. některé části operačních systémů, ovladače a aplikace či jejich části u kterých je požadavek na rychlý běh.

    Pochopitelně člověk je tvor vynalézavý a usnadňuje si práci, proto vznikly tzv. vyšší programovací jazyky, které mají za úkol usnadnit programování a do jisté míry i kontrolovat práci programátora, resp. odstínit jej od složitostí a vytvořit jakési mantinely za které by neměl lozit jelikož to může být nebezpečné. Pochopitelně evoluce je nezadržitelná proto vznikla spousta programovacích jazyků různých kvalit a schopností. Mezi nejznámější patří např. C++, Visual Basic, Pascal atd. 

    Co je to kompilátor (překladač) ?

    Opět velmi zjednodušeně řečeno, je to program který má za úkol převést kód napsaný v některém z vyšších programovacích jazyků na onu zmíněnou nízkou úroveň, které rozumí samotný počítač. Jinak řečeno, je to jakýsi prostředník mezi tím v čem se nám lidem dobře programuje a tím v čem se nám už tak dobře neprogramuje, ale zase tomu rozumí počítač.

    Co je to vývojové prostředí (IDE) ?

    Tak jako dopis dnes už nepíšeme jako obyčejný text v programu který slouží čistě jen ke psaní textu, ale používáme specializované programy např. MS Word z balíku MS Office nebo Writer z balíku OpenOffice , které nám mohou práci velmi usnadnit, tak i v programování se používají specializované "editory", které mají za úkol usnadnit psaní programů. Vývojové prostředí je obvykle více než jen specializovaný textový editor, obsahuje spoustu všemožných nástrojů, integrovanou nápovědu a většinou obsahuje i výše zmíněný kompilátor. Výhodou vývojového prostředí je pochopitelně to, že mám všechny, či téměř všechny nástroje pro vývoj v jedné aplikaci, ihned po ruce a např. přeložení programu kompilátorem je jen otázkou jednoho kliknutí myší.

    Co je to běhové prostředí (např. .NET Framework) ?

     V současné době jsou velmi oblíbené nové způsoby vývoje aplikací, které využívají výhod tzv. běhového prostředí. Opět velmi zjednodušeně bych to popsal jako vloženou vrstvu mezi onu vyšší vrstvu a nízkou vrstvu. Jde o to, že běžná aplikace, která nepotřebuje běhové prostředí se díky kompilátoru přeloží jak bylo naznačeno přímo do onoho "jazyka" nízké úrovně (instrukcí procesoru) kterému rozumí počítač. Kdežto aplikace vyžadující běhové prostředí se nepřekládá tak přímo jako běžná aplikace, ale přeloží se do jakéhosi mezijazyka, kterému rozumí zmíněné běhové prostředí a až to následně zprostředkovává komunikaci s nízkou vrstvou. 

    Dá se říci že pokud se člověk teprve seznamuje s programováním, tak stačí vědět jen že tam "něco takového je" a později se s tím seznámit podrobněji. Běhové prostředí přináší spoustu výhod, přičemž se není čeho bát, dá se říci že začátečník víceméně ani nemusí zjistit, že jej využívá, pouze je potřeba zdůraznit, že jak na počítači kde se program vytváří, tak na počítači kde se program spouští je potřeba mít nainstalovaný balíček který obsahuje ono běhově prostředí. V případě .NET Frameworku se balíček jmenuje překvapivě .NET Framework + číslo verze a většinou tam bývá taky uvedeno Redistributable Package. Balíček je zdarma, dá se stáhnout např. ze stránek Microsoftu

     

    Vysvětlil jsem (snad alespoň trochu srozumitelně) jen některé pojmy se kterými se může začátečník setkat, vše je samozřejmě složitější, pokud někdo chce vědět víc, internet je plný informačních materiálů, já jsem se spíše snažil co nejjednodušeji zodpovědět otázky s kterými jsem sám jako začátečník měl problémy.

     

Powered by Community Server (Personal Edition), by Telligent Systems
Vyvojar.cz na prodej!