Mimic projects
SEO
Značky: Všechny, C#, Tutorial, App, Game, Test, Hack, C++/cli, C++, Java, Xna, C++/qt, Lib

[ 6.5.2013 ]File Updater

Informace:
- Tato knihovna obsahuje 3 třídy. Třída FileHasher, která vytváří hashe ze souborů, třída FileHasherExporter, která vytváří výstupní soubor s hashem (formát XML, textový soubor a zabezpečený soubor), který poté využívá druhá třída FileUpdater
- Třída FileUpdater aktualizuje lokální soubory podle aktualizačního souboru ze vzdáleného serveru

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.2 + doc

Značky: c#, lib

Vlastnosti pro třídu - FileHasher

- umožňuje vytvářet hashe ve formátech md5, sha1, sha256, sha384, sha512 a ripemd160
- možnost vytvoření jak jednoho souboru, tak i více nebo rovnou celého adresáře i s podadresáři

Vlastnosti pro třídu - FileHasherExporter

- podporuje export do souboru XML (výchozí) a textový soubor (Simple)
- podporuje také export do bezpečného souboru (Secured), kde není možné jednoduše zjistit název (cesty k souborům) a hashe

Vlastnosti pro třídu - FileUpdater

- celá aktualizace souborů se provádí asynchronně přes jiné vlákno
- celý proces je řízen událostmi
- kontroluje existenci souborů i jejich hashe
- automaticky při nějaké neshodě stahuje soubor ze serveru na kterém je umístěn (stahování probíhá po jednom souboru)
- možnost stahovat soubory do vlastního adresáře
- podpora událostí pro Cross-Thread z jiného vlákna (třeba ve formuláři)

Obrázky:

[ 27.4.2013 ]PluginLoader (správa vlastních pluginů)

Informace:
- Umožňuje snadné vytváření, načítání a používání vlastních pluginů v aplikaci
- Možnost volání funkcí, vlastností, událostí, zdrojů z pluginu
- Má široké použití (lokalizace, čistě pro zdroje (obrázky, zvuky..), vlastní formuláře, úprava UI atd.

Použité prog. jazyky: C# (.net 4.5)

Stažení verze: 1.1 + doc

Značky: c#, lib

Vlastnosti

- velice snadná práce s pluginy
- umí načítat nebo odebírat pluginy za chodu aplikace
- systém příkazů (je možnost ovládat plugin pomocí vlastním příkazů)
- podpora formulářů a kontrolních prvků (GUI)
- podpora jednoho i více zdrojů (resources), kde je možné načítat cokoli (texty, obrázky, hudbu...)
- identifikace pluginu pomocí unikátního GUID, takže název pluginu není důležitý
- možnost načtení jednoho pluginu nebo rovnou celého adresáře s pluginy

Jak si vytvořit vlastní plugin

- pro vytvoření vlastního pluginu je důležité postupovat těmito kroky

1) Aplikace která bude používat pluginy a i samotné pluginy musí obsahovat referenci na PluginLoader
2) Plugin musí být umístěn ve jmeném prostoru mimic.Plugin
3) Hlavní třída v pluginu se musí jmenovat Plugin a musí dědit od PluginBase
4) Přepsat implementaci na vlastnost Guid (vytvořit vlastní guid pro plugin)

[kód] Minimální nastavení

using mimic.PluginLoader;

namespace mimic.Plugin
{
    public class Plugin : PluginBase
    {
        public override string Guid
        {
            get { return "VlastniGuid"; }
        }
    }
}

[kód] Běžné nastavení

using mimic.PluginLoader;
using System;

namespace mimic.Plugin
{
    public class Plugin : PluginBase
    {
        public override string Guid
        {
            get { return "VlastniGuid"; }
        }

        public override string Author
        {
            get { return "mimic"; }
        }

        public override string Description
        {
            get { return "Základní informace"; }
        }

        public override Version Version
        {
            get { return new Version(1, 1, 0); }
        }
    }
}

[kód] Ukázka zachycení příkazů v pluginu

using mimic.PluginLoader;
using System.Windows.Forms;

namespace mimic.Plugin
{
    public class Plugin : PluginBase
    {
        private Form form;

        public override string Guid
        {
            get { return "Commands"; }
        }

        // ve formuláři se musí předat instance
        public override void ParentForm(Form form)
        {
            this.form = form;
        }

        protected override void CommandReceiver(string command)
        {
            switch (command)
            {
                // ukončí furmulář
                case "close":
                    if (form != null)
                        form.Close();
                    break;

                // odebere tento plugin
                case "unload":
                    PluginLoader.PluginLoader.Unload(Guid);
                    break;
            }
        }
    }
}

[kód] Kreslení na formulář přes plugin

using mimic.PluginLoader;
using System;
using System.Drawing;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace mimic.Plugin
{
    public class Plugin : PluginBase
    {
        private Random r = new Random();
        private Form form;

        public override string Guid
        {
            get { return "WindowColorChaos"; }
        }

        public Plugin()
        {
            // při odebrání pluginu je nutné odebrat i události na formulář a
            // nastavít původní barvu formuláře
            OnDeactivated += () =>
            {
                if (form != null)
                {
                    form.Paint -= Paint;
                    form.BackColor = Color.FromKnownColor(KnownColor.Control);
                    form.Invalidate();
                }
            };
        }

        // ve formuláři se musí předat instance
        public override void ParentForm(Form form)
        {
            if (form != null)
            {
                this.form = form;
                // přidá se funkce do události pro vykreslení na formulář
                this.form.Paint += Paint;
                // automaticky bude překreslovat formulář každých 500ms
                PeriodicRepaint(500);
            }
        }

        // je voláno událostí pro vykreslení na formulář
        private void Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            // vygeneruje náhodnou barvu na pozadí formuláře
            g.Clear(Color.FromArgb(r.Next(0, 255), r.Next(0, 255), r.Next(0, 255)));
        }

        private async void PeriodicRepaint(int delay)
        {
            // dokud formulář bude existovat a plugin bude načten
            while (!form.IsDisposed && IsActivated)
            {
                form.Invalidate();
                await Task.Delay(delay);
            }
        }
    }
}

[kód] Pár ukázek použití knihovny PluginLoader

// bude automaticky každou 1s kontrolovat adresář "libs" jestli se nějaký
// plugin přidal nebo odebral
PluginLoader.AutoDetect(true, "libs");

// načte jeden plugin
PluginLoader.Load("C:\\Plugin.dll");

// načte všechny pluginy v adresáři "libs"
PluginLoader.LoadPlugins("libs");

// odebere načtený plugin podle jeho GUID
PluginLoader.Unload("GuidPluginu");

// odebere všechny načtené pluginy
PluginLoader.UnloadPlugins();

// odešle všem pluginům příkaz "close" (co se má stát je na každém pluginu)
PluginLoader.SendCommand("close");

// získá plugin podle jeho GUID
IPlugin myPlugin = PluginLoader.Get("GuidPluginu");
// zavolá funkci "Vypis" s parametrem "Ahoj světe", která je umístěná v pluginu
myPlugin.Func("Vypis", "Ahoj světe");
// nastaví vlastnost "Cislo" na hodnotu 100 (vlastnost je typu INT), která je opět
// umístěná v pluginu
myPlugin.Property("Cislo", 100);
// získá hodnotu z vlastnosti "Cislo"
int cislo = myPlugin.Property<int>("Cislo");
// získá hodnotu z "TEXT" ze zdroje v Properties
string text1 = myPlugin.Res().GetString("TEXT");
// získá hodnotu z "TEXT" z vlastního zdroje
string text2 = myPlugin.Res("MyResource").GetString("TEXT");
// předá formulář do pluginu
myPlugin.ParentForm(this);
// odešle příkaz pouze tomuto pluginu
myPlugin.SendCommand("show");

[ 23.4.2013 ]C# Tutoriál 45 - Zamykání vláken

Informace:
- Co je zamykání vláken a jak se používá
- Použití modifikátoru volatile a klíčového slova lock
- Ukázka tříd Monitor a Interlocked

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 20.4.2013 ]Mushrooms Shifter

Informace:
- Kreslení houbiček
- Okno aplikace má reprezentovat skříň s poličkama, kde na každé je stack 5-ti houbiček

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app, test

Ovládání

- pomocí myši se pohybuje s houbičkama
- při držení klávesy ctrl lze s houbičkou pohybovat i mimo její poličku
- klávesa R vrátí všechny houbičky na původní místo

Obrázky:

Videa:

[ 20.4.2013 ]Pyramid Draw

Informace:
- Kreslení pyramidy dle zadané velikosti základny
- Možnost změnit barvy a export do .png

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app, test

Obrázky:

[ 20.4.2013 ]Fifteen Lite

Informace:
- Jedná se o známou hru Fifteen (patnáctka), kde musíte poskládat čísla od mejmenšího po největší
- Odhlehčená verze, kde neplatí pravidlo, že posunout lze pouze sousedící číslo, ale jakékoliv číslo ve sloupci nebo řádku od bílého bodu
- Měří vám čas a počet tahů

Použité prog. jazyky: C# (.net 4.5)

Stažení verze: 1.0

Značky: c#, game

Obrázky:

Videa:

[ 20.4.2013 ]Generátor životopisu

Informace:
- Potřeboval jsem si udělat životopis a tak vznikl nápad na tuhle aplikaci
- Aplikace je jednoduchá na ovládání a samotnou správu životopisu (CV), více info níže v changelogu

Použité prog. jazyky: C# (.net 4.5)

Stažení verze: 1.3.1

Značky: c#, app

Klávesové zkratky

- ctrl + N = Nový (new)
- ctrl + B = Vytvořit (build)
- ctrl + P = Náhled (preview)
- ctrl + E = Exportovat (export)
- ctrl + I = Importovat (import)
- ctrl + T = Info (todo)
- ctrl + Q = Ukončit (quit)

Changelog

1.3.1
- opraveno pár chyb související s pádem aplikace
- opraven formát titulu za jménem
- přidána EN lokalizace

1.3
- přidány kolonky pro vyplnění datumu narození a věku
- přidána možnost zobrazit nebo skrýt praxe
- přizpůsoben vzhled okna
- přidána možnost poznámky k řidičáku
- změněny klávesové zkratky pro vytvoření HTML, informace a ukončení
- opraveno pár popisků (v CZ jazyce)
- přidána nová záložka pro poznámky k životopisu
- přidána SK lokalizace

1.2
- všechny víceřádkové kolonky detekují klávesu enter jako nový řádek
- přidána ochrana proti otevření novějšího nastavení starší aplikací
- přidána nová záložka pro kurzy a školení
- možnost přidat datum vytvoření na konec životopisu
- do menu přidána položka Info, kde naleznete autory překladů a něco o aplikaci
- přidán easter-egg, takže hledejte
- opraveno pár vstupních kolonek
- do menu přidány klávesové zkratky
- upravená adresářová struktůra
- přidána možnost posouvat prvky (školy, praxe, dovednosti apod.) a lehce upraven vzhled

1.1
- přidána více jazyčná podpora (obsahuje zatím pouze CZ jazyk)
- lehce upraveno UI
- přidána zpětná kompatabilita se starší verzí (hlavně pro nastavení profilu)
- přidáno více telefonních předvoleb (kódů oblasti)
- při uložení nastavení se nyní ukládá i aktuální jazyk, takže při importu se změní jazyk podle nastavení
- přidána informace o verzi
- při najetí myši na jazyk v menu se zobrazí jeho autor a verze překladu

1.0
- program je kompletně v CZ
- možnost přidat vlastní fotku
- předvyplněné kolonky, které vám usnadňují rychlejší tvorbu
- vytváření náhledu
- možnost exportovat celé nastavení do šifrováného souboru (lze i importovat)
- všechny kolonky podporují HTML tagy
- výstupní soubor je v HTML5

Obrázky:

[ 20.4.2013 ]C# Tutoriál 44 - Vlákna

Informace:
- Základní práce s vlákny (třída Thread)

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 16.4.2013 ]C# Tutoriál 43 - Přetěžování operátorů

Informace:
- Jak přetěžovat operátory a hlavní rozdíl mezi implicit a explicit

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 16.4.2013 ]C# Tutoriál 42 - Skákání pomocí Goto a operand @

Informace:
- Klíčové slovo goto pro skákání v kódu na větší vzdálenosti a operand @

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 16.4.2013 ]C# Tutoriál 41 - Pokročilé použití událostí a jejich ošetření

Informace:
- Jak vytvořit vlastní tělo události pro přidání a odebrání funkce (delegáta)
- Způsoby ošetření události, pokud nebude obsahovat žádného delegáta

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 16.4.2013 ]C# Tutoriál 40 - Delegáti přes Action a Func

Informace:
- Jak používat třídy Action a Func místo klasických delegátů

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 16.4.2013 ]C# Tutoriál 39 - Nastavení generického typu

Informace:
- Jak se nastavuje generický typ při dědičnosti nebo u funkcí tak, aby bylo možné vynutit podmínku, kde generický typ musí být třeba třída, struktůra nebo jiný objekt

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 16.4.2013 ]C# Tutoriál 38 - Klíčová slova checked, unchecked a var

Informace:
- Co jsou a jak fungují klíčová slova checked, unchecked a var

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 10.4.2013 ]Ranks Generator (generátor ranků na fórum)

Informace:
- Tuto aplikaci jsem dělal proto, protože na bývalém fóru jsem chtěl pěkný rank ikonky a aby jich bylo hodně (rychle se měnily podle počtu příspěvků)
- Dělat stovky ikon se mi opravdu nechtělo, tak jsem si na to udělal jednoduchou, ale plnohodnotnou aplikaci

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0 - Ranks

Značky: c#, app

Vlastnosti

- lze vygenerovat maximálně 600 ikon (0-600%)
- ikonky jsou barevně nastavitelné (pozadí, text, přechod, obvod)
- možnost vytvořit speciální ikonky s vlastním textem
- při generování se ukazuje průchod i náhled aktuální ikonky
- náhled ikonky před vygenerováním se aktualizuje průběžně podle změn

Obrázky:

[ 10.4.2013 ]Easy Net Compiler

Informace:
- Jak už název napovídá, tak mi šlo hlavně o to, udělat jednoduchý kompilátor pro testování kódu
- Není proc praktické kvůli prkotině spouštět celé prostředí (např. Visual Studio)

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app

Obrázky:

[ 10.4.2013 ]Page Assistant

Informace:
- Je to vlastně takový mini-server pro zobrazení jednoduchých stránek v HTML

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app

Funkce

- port lze přenastavit buď přes menu nebo kliknutím na port
- program nevytváří žádné HTML soubory, vše je uloženo binárně, takže název souboru je jen název bez přípony
- stránky lze přidávat i odebírat pravým kliknutím na panel záložek u stránek
- pokuď se má odeslat požadavek ve form třeba přes POST, tak se volá pouze název stránky jako třeba /nazev_stranky
- klíčová slova začínající APP_ nebo FCE_ jsou systémové funkce a jejich tělo se měnit nedá
- globální styl (css) se aplikuje na všechny stránky
- přes menu jde zapnout logger pro debug (skryje se obrázek pozadí)

Obrázky:

[ 10.4.2013 ]Weather (počasí 2)

Informace:
- Moje druhá aplikace na počasí (dá se říct, že to je druhý díl aplikace Počasí)
- Obsahuje prakticky všechno co předchozí aplikace + něco navíc
- Úplně jsem odebral GUI a přidál vlákna, takže se už nestane, že by aplikace na chvíli zamrzla
- Po spuštění se zobrazí ikona v Tray baru a ovládání je v záložce Info

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 2.0

Značky: c#, app

Obrázky:

[ 10.4.2013 ]CPU Bench (test výkonu CPU)

Informace:
- Jedná se o takový pokus, kde jsem se pokoušel vytvořit nějakou aplikaci, která by otestovala výkon CPU v podobně hodnocení
- Aplikace používá moje staré API, takže všechno včetně tlačítek, progressBaru jsem dělal já. A vzhled okna jsem kreslil v malování
- Funguje na principu cyklu s určitým výpočtem, který z části zatíží CPU a podle toho se vypočte průměrný výpočetní čas

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app

Obrázky:

[ 7.4.2013 ]Char Array Creator

Informace:
- Kdysi jsem používal cykly a sleep, pro výpis textu do konzole po znacích, ale pokud text byl přiliš dlouhý, tak to byla celkem otrava přepisovat do pole znaků, takže jsem si udělal takovýto program
- Neptejte se mě, proč jsem nepoužil string nebo char*, prostě jsem to pootřeboval takto

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app

Vlastnosti

- ihned přepisuje vstup na pole znaků
- lze si vybrat šablonu pro jaký jazyk to má být určeno (C, C++, C#, Java, PHP)
- lze si nastavit maximální počet znaků na řádek ve formátu pole znaků
- možnost nastavení velikosti textu, šířky tabulátoru a zalomení textu
- výsledek si lze prohlédnou v ukázce, kde jde nastavit i rychlost vypisování a ukazuje se čas, za jak dlouho se celý text vypíše

Obrázky:

[ 7.4.2013 ]Creeper Eater

Informace:
- Jde o mini-hru. Je to klasický had, kde hada reprezentuje Creeper z minecraftu a jako jídlo je Notch (hlavní vývojář minecraftu)
- Přikládám pouze video. Vzhledem k tomu, že to je pouze alpha verze a nehodlám to už ani nijak vylepšovat, tak download nebude

Použité prog. jazyky: C# (.net 4.0), XNA

Značky: c#, xna, game

Videa:

[ 7.4.2013 ]Titan Quest - MapHack

Informace:
- Díky tomu, že jsem na pár dní zase sedl ke hře Titan Quest, tak i když znám mapu a vim kde co je, tak stejně mě štve, že mapa je celá černá (neprouzkoumaná), takže jsem udělal menší hack na odhalení celý mapy

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app, hack

Použití

- jednoduše spustit, v menu vybrat možnost a o vše se postará sám

Vlastnosti

- umožňuje odhalit mapu jen pro určitou postavu a to tak, že se vloží tato aplikace přímo do adresáře s postavou a v menu se vybere možnost THIS
- podporuje jak klasickou hru Titan Quest, tak jeho datadisk Immortal Throne
- podporuje jak originální kampaň (mapy v klasické hře), tak vlastní mapy
- aplikuje odhalení mapy jak na hlavní postavy, tak na postavy, které patří nějakému módu (např. Lilith, Paths apod. módy)
- na místě, na kterém jste ještě ve hře nebyli, tak nechá zahalené, protože k této mapě zatím nemá přístup (nemá co odhalovat)

Obrázky:

[ 6.4.2013 ]Minecraft Launcher

Informace:
- Spouštěč pro hru Minecraft
- Možnost vlastního nastavení velikosti paměti
- Adresář .minecraft je možné umístit jinám, než do AppData

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app

Více informací

- hodně lidem vyhazuje minecraft chybu s nedostatkem paměti, proto jsem si rozhodl udělat aplikaci, kde si to bude moct každej nastavit podle sebe
- maximální možná velikost paměti je 9999MB, ale stačí to zvednou na 2048MB a minecraft už nespadne (pokud máte 64bit systém)
- další věc je spuštění minecraftu mimo svůj hlavní adresář AppData, takže je možné ho umístit kamkoliv, jen je nutné zachovat název složky .minecraft

Obrázky:

[ 6.4.2013 ]Private Hasher

Informace:
- Pokoušel jsem se vytvořit/vylepšit původní algoritmus pro Base64 a AES a vzniklo z toho toto

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app, test

Vlastnosti

- délka textu není limitovaná a chová se stejně jako u Base64
- nutnost zadat klíč, který odemkne hash, takže samotný hash bez klíče je k ničemu
- možnost změnit sílu hashe (exponenciálně se zvedá délka výstupu)
- hash lze zpětně dekódovat

Obrázky:

[ 6.4.2013 ]Test Cube

Informace:
- Tohle je celkem jednoduchá aplikace. Prostě generuje hod kostkou a vykreslí její hodnotu

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app, test

Ovládání

- tlačítko R je hod kostky pomocí lehké animace
- pravým kliknutí na pozadí se změní jeho barva

Obrázky:

[ 6.4.2013 ]Počasí

Informace:
- Jeden čas jsem sledoval počasí jak u nás, tak v Evropě a i chování Slunce, takže jsem chtěl mít všechno pohromadě, abych nemusel lézt na několik stránek najednou

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app

Vlastnosti

- mnoho informací o počasí v České Republice
- základní počasí z Evropy a celého světa
- počasí / aktualní dění na Slunci
- mnoho online kamer z různých koutů České Republiky
- bouřková předpověď a mnoho dalšího
- aplikace je jedno-vláknová, takže start a občasný načtení obrázku může způsobit škubnutí aplikace

Obrázky:

[ 6.4.2013 ]Mysql Connector

Informace:
- Kdysi jsem zkoušel Mysql v C#, takže tady je výsledek
- Umí to bohužel jen základy a vylepšovat se mi to už nechtělo
- Dá se to použít na jednoduché věci, hlavně vypsání tabulky, případně používat vnitřní příkazy
- Když jsem to testoval, tak mi to i občas vyhodilo chybu. Byl to prostě test...

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app, test

Obrázky:

[ 6.4.2013 ]CrackMe

Informace:
- Jednoduchý program, kde je nutné nějak zjistit heslo
- Pokud se ví jak na to, tak se heslo dá s přehledem zjistit do 5min Takže zkoušejte
- Co jsem to testoval, tak to dokázalo zjistit zhruba 4 lidi z 10

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app, test

Obrázky:

[ 6.4.2013 ]Stack Gui

Informace:
- Celkem stará aplikace, kde jsem předělával zásobník z konzole do grafické podoby
- Aplikace nemá moc užitek, ale neměl jsem v tu chvíli na přednášce co dělat

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app, test

Obrázky:

[ 6.4.2013 ]Map Generator

Informace:
- Vytváří obrázky vygenerované mapy podle nastavení
- Jedná se o takový test jenom, takže využití moc nemá... maximálně jako pozadí plochy

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app, test

Obrázky:

[ 6.4.2013 ]Gomoku

Informace:
- Sice název je shodný s japonskou hrou, ale jedná se pouze o generování barevného pole dlaždic, kde se pro každou dlaždici loguje její umístění
- Jedná se jen o test, takže použití to mít moc nebude

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app, test

Obrázky:

[ 6.4.2013 ]Gallows (šibenice)

Informace:
- Po delší době jsem udělal zas nějakou hru a tentokrát šibenici
- Důvod proč jsem to dělal byl asi ten, že jsem místo použití klasických obrázků chtěl kreslit, protože jsem na netu viděl několik app, ale všechny byli nad 1MB právě díky vloženým obrázkům
- Seznam slov / vět se načítá ze souboru List.txt (co řádek, to záznam)

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, game

Jak to funguje

- zde jsem trochu promyslel systém, a funguje to tak, že pokud úspěšně uhádnete výraz, tak postupujete do dalšího levelu
- začínáte s 10 pokusy
- za každé uhádnuté písmeno dostanete bonus a čím více těch písmen ve výrazu je, tím větší bonus dostanete
- pokud se trefíte do písmena, které ve výrazu neexistuje, tak se část skóre odečte
- po úspěšném uhádnutí výrazu dostáváte větší bonus
- při postupu do dalšího levelu dostanete 1 pokus (život) navíc

Obrázky:

[ 6.4.2013 ]File Agent

Informace:
- Chtěl jsem se pokusit vytvořit nějakou aplikaci, která by dokázala zašifrovat (zamknout) soubor tak, aby se dal vrátit zpět do původního stavu pouze přes tuto aplikaci a částěčně se mi to povedlo, jen to ovládání je na 2 věci
- Jinak je možné vybrat více souborů najednou a zamykání souborů větších než 100MB trvá bohužel trochu déle

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app

Obrázky:

[ 6.4.2013 ]Energy Wars

Informace:
- Moje první lepší hra v C#
- Je to taková klikačka, ale jednou jsem na netu viděl něco na podobnej způsob, kde se kupovala energie a tak rostl výkon elektrárny. Takže jsem udělal něco v mém stylu, jen jsem všechno vylepšil a přidal více věcí
- Dá se to dohrát asi za hodinu a půl, takže pokud se nudíte...

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0.5

Značky: c#, game

Obrázky:

[ 6.4.2013 ]Caesar Hash (Caesarova šifra)

Informace:
- Určitě každý zná Caesarovu šifru a kdo ne, tak wiki V mé verzi jsem ji jen trochu vylepšil
- Odděluje jednotlivá slova (podporuje mezery)
- Lze nastavít sílu šifry (Caesar má 3)
- Podporuje čísla (čísla nešifruje)
- Umožňuje dešifrovat Caesarovu šifru zpět na původní text

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app

Obrázky:

[ 6.4.2013 ]Binary Clock (binární hodiny)

Informace:
- Jednoduché binární hodiny na plochu s možností nastavení alarmu

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app

Ovládání

- s oknem se dá pohybovat myší (kliknout - držet - táhnout)
- pravý klik zapíná/vypíná mrížku
- levý dvoj-klik zobrazí okno s nastavení alarmu
- aplikace se ukončuje přes klávesu ESC

Obrázky:

[ 6.4.2013 ]Beeper (bzučák)

Informace:
- Opět stará aplikace, která umožňuje nastavit frekvenci, tón a délku tónu výcházejícího z repráku nebo tyto parametry nechat přímo generovat

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app

Obrázky:

[ 6.4.2013 ]MD5

Informace:
- Stará a jednoduchá aplikace pro převod textu do md5

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.0

Značky: c#, app

Obrázky:

[ 6.4.2013 ]Skybot

Informace:
- Skybot je jednoduchý Skype bot ve kterém si lze nastavit zprávy pro automatickou odpověď
- Časem jsem přidal další funkce jako blokace uživatelů nebo jen blokace volání (obě možnosti pouze za chodu aplikace) nebo vykonání příkazů přes příchozí zprávu (např. spuštění nějakého programu)

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.2

Značky: c#, app

Použití

1) zapnout skype
2) ve skybot.conf a případně v messages.conf si to nastavit podle sebe (ale není to nutný)
3) spustit aplikaci a kliknout na tlačítko Spustit
4) Skype se vás zeptá na povolení aplikace, takže to povolte
5) to je celé... v gui jsou jen tlačítka pro reload souboru s nastavením (bez nutnosti resetovat aplikaci), případně on/off

Obrázky:

[ 6.4.2013 ]Naval Battle

Informace:
- Jedná se o vylepšenou/upravenou originální hru lodě, akorát jsem dal hráčům více volnosti a můžou si vytvořit vlastní typy lodí, změnit velikost mapy, max. počet lodí apod.
- Obsahuje chat, přednastavené zvuky, náhodné rozmíchání lodí na mapě a více
- Hra nemá single, je hratelná pouze po síti (static IP nebo Hamachi, Tunngle, případně jiný VPN)

Použité prog. jazyky: C# (.net 4.5)

Stažení verze: 1.0

Značky: c#, game

Ovládání

- v edit. módu (rozmístění lodí), se levým kliknutím rozmístěj lodě, případně pravým odeberou
- klávesa F1, která opět v edit. módu náhodně rozmístí lodě v náhodných tvarech
- poslední je chat, kde jsou přednastavené zvuky (první znak * (zvězdička) nebo příkazy . (tečka)) a rozbalí se menu všech příkazů
- hra podporuje i pár kódů, ty ale zveřejňovat nebudu

Obrázky:

[ 6.4.2013 ]Files Hasher

Informace:
- Vytváří hashe souború a ukládá je do formátu xml, textového nebo bezpečného souboru
- Možnost si vybrat jeden nebo více souborů nebo rovnou celý adresář i s podadresáři
- Podporuje základní hashe jako je md5, sha1, sha256, sha384, sha512 nebo ripemd160
- Aplikace je dobrá např. pro automatické aktualizace, kde se zjišťuje novější verze souborů podle jejich hashe

Použité prog. jazyky: C# (.net 4.0)

Stažení verze: 1.1

Značky: c#, app

Obrázky:

[ 4.4.2013 ]C# Tutoriál 37 - Singleton

Informace:
- Jak se vytváří jedináček (singleton) a k čemu se používá

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 36 - Likvidace objektů a klíčový slovo using

Informace:
- Jak v C# likvidovat/uvolňovat objekty pomocí Dispose()
- A použití klíčového slova using

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 35 - Lambda výrazy

Informace:
- Co jsou lambda výrazy, k čemu jsou a jak se používaj

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 34 - Indexace objektu

Informace:
- Jak vytvořit indexaci přímo na instanci objektu (třeba třídy) stejně jako u pole

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 33 - Rozšíření objektu

Informace:
- Jak se vytváří rozšíření objektu (extension) třeba u třídy o další funkce (bez ohledu, jestli je objekt sealed)

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 32 - Game Memory Hack

Informace:
- Jedná se o speciální díl tutoriálu, kde ukazuji, jak pomocí C# změnit a získat proměnné v nějaké hře (z paměti)
- Tento tutoriál slouží jen jako ukázka, takže zde nevysvětluji všechno, protože hodně věcí v předchozích tutoriálech ještě nebylo

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 31 - Události

Informace:
- Základní vytváření událostí (event) a jejich použití

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 30 - Delegáti

Informace:
- Práce s delegáty (delegate) a jejich využití

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 29 - Výjímky

Informace:
- Základní ošetření vyhození vyjímky, jejich vyvolání a jak vytvořit vlastní výjímky

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 28 - Základy generiky

Informace:
- Tento tutoriál je zaměřen na základní použití generických tříd a funkcí

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 27 - Struktůry

Informace:
- Ukázka práce se struktůrou (struct). K čemu slouží, proč se používá a jaký jsou hlavní rozdíly mezi třídou a struktůrou

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 26 - OOP 7. - Abstraktní a virtuální funkce a rozhraní

Informace:
- Pokračování v OOP, kde vysvětluju použití abstraktních a virtuálních funkcí ve třídě
- Dále jak se používá rozhraní (interface) a k čemu vlastně je

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 25 - Vlastnosti

Informace:
- Co jsou vlastnosti (Properties) a jak se používají v C#

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 24 - OOP 6. - Ukázky modifikátorů, Gettry, Settry, readonly a const

Informace:
- Další pokračování OOP, který navazuje na předchozí dědičnost
- Zde přidávám jednoduché ukázky modifikátorů tříd a další modifikátory jako readonly a const
- A jak se používají gettry a settry a co to vlastně je

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 23 - Flagy ve výčtových typech

Informace:
- Jak se používají flagy ve výčtových typech a k čemu slouží

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 22 - Bitové operátory

Informace:
- Základní použití bitových operátorů
- Ukázka s HEX hodnotou
- Výpočet pomocí binárního čísla

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 21 - Výčtové typy a klíčové slovo typeof

Informace:
- Zde ukazuji základní práci s výčtovými typy (enum)
- A k čemu slouží klíčové slovo typeof

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 20 - OOP 5. - Základy dědičnosti

Informace:
- Jak už název napovídá, tak se jedná o základy dědičnosti a jak to vlastně funguje
- Pár věcí jsem tam zapoměl říct, takže je pravděpodobně zmíním v dalších dílech

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 19 - OOP 4. - Kopírování objektů

Informace:
- Co je kopírování objektů, jak se používá a možné/časté chyby při kopírování
- Dále přidávám kopírovací konstruktor a ukázku rozhraní ICloneable

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 18 - OOP 3. - Funkce objektu

Informace:
- Tento tutoriál věnuji pro ukázku a použití výchozích funkcí, které jsou v každém objektu (např. třídy) a které se dědí přímo z Object

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 17 - OOP 2. - Konstruktory

Informace:
- Zde navazuji na OOP 1., konkrétně na kontruktory třídy

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 16 - OOP 1. - Základy a modifikátory

Informace:
- Jedná se o první kapitolu o OOP (Objektově orientované programování), kde vysvětluji základy a všechny možné modifikátory, které se používají právě v OOP a krátká ukázka instanční proměnné

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 15 - PictureBox a Zdroje (Resources)

Informace:
- Jak se používá komponenta PictureBox a její vlastnosti
- Potom navazuju na zdroje Resources. Co to je a jak se s tím pracuje. Více na videu

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 14 - BackgroundWorker

Informace:
- Jak se používá toto speciální vlákno a k čemu je dobré. Ukázka všech jeho událostí a přenos jak jednoho parametru, tak i více

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 13 - ColorDialog (výběr barev)

Informace:
- Timto tutoriálem ukončuji 3 dílnou aplikaci a příště bude opět něco jiného/nového
- Jinak zde ukazuji práci s komponentou ColorDialog a jak se nastavují vlastní barvy (přednastavené) do okna pro výběr barvy

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 12 - ProgressBar

Informace:
- Tento tutorial navazuje na 11. díl, kde jsem ukazoval časovač
- Zde přidávám do aplikace ProgressBar a něco málo o něm řeknu

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 11 - Časovač (Timer)

Informace:
- Zde ukazuji, lehce vysvětluji práci s časovačem (Timer), jak vlastně funguje a jak se používá.
- Jako příklad jsem zvolil aktualizaci času v PC (zobrazení hodin, minut, sekund a milisekund)
- Později tento program budu rozšiřovat na další 2 díly (další díl bude ProgressBar a potom ColorDialog)

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 10 - Přenos dat mezi dvěma formy II

Informace:
- Jedná se o neplánovanou druhou část přenosu hodnot mezi dvěma formy, kde ukazuji 3 další možnosti, které jsem v první části nezmínil
- Toto video bylo vytvořeno na dotaz jestli to nejde nějak jinak bez použití delegátů/událostí, takže tady je

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 9 - Práce s MessageBox

Informace:
- Práce s třídou MessageBox pod GUI i v konzoli a ukázka většiny jeho parametrů a k čemu se vlastně používá

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 8 - Základy funkcí a klíčová slova (params,out,ref,is)

Informace:
- V tomto tutoriálu vysvětluji základní princip a používání funkcí
- A klíčová slova params, ref, out a is
- Také něco řeknu o typu object

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 7 - Pole a cykly

Informace:
- V tomto tutoriálu ukazuju základní typy pole (jednorozměrné, vícerozměrné a pole polí)
- Všechny typy cyklů (for, while, do-while a foreach)
- Klíčová slova break, continue a in
- A na závěr třídu Array

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 6 - Základní Nullable typy

Informace:
- V tomto tutoriálu ukážu, jak lze nastavit běžným typům jako třeba int, double, bool, char apod. hodnotu NULL a následně s tímto typem pracovat a v čem se vůbec liší od původního typu

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 5 - Podmínky, switch a ternární operátor

Informace:
- Tento tutoriál je pro začátečníky, kde ukazuju možnosti nějakého rozhodnotí (podmínky) 3 způsoby

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 4 - Čtení čísla z konzole

Informace:
- V tomto díle navazuju na 3.díl a zde ukazuji, jak načítat číslo z konzole a následně ho převést ze string na int (bez ošetření i s ošetřením) pomocí 2 způsobů

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 3 - První konzolová aplikace

Informace:
- V tomto díle se vrátím úplně na začátek a ukážu, jak do konzole vypsat nějaký text, změnit barvu textu/pozadí, nastavit titulek nebo zadat vstup (jako text) a vypsat ho

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 2 - Přenos dat mezi dvěma formy I

Informace:
- V tomto tutoriálu se zaměřuju na přesun dat mezi dvěma formy, protože hodně lidí (co jsem koukal) toto neví
- Ukažu 5 možností (je jich více), jak ukončit Form1 pomocí Form2 (někdo skryje Form1 a když ukončí Form2 tak se diví, že se aplikace neukončila) a ke konci přesun hodnoty z Form2 do Form1

Použité prog. jazyky: C#

Značky: c#, tutorial

Videa:

[ 4.4.2013 ]C# Tutoriál 1 - První okno v GUI

Informace:
- Tento první tutoriál je hlavně pro úplný začátečníky, kteří vidějí C# poprvé a chtějí si zkusit vytvořit nějakou aplikaci v GUI (formuláři)

Použité prog. jazyky: C#

Značky: c#, tutorial

Dodatečné informace

- jedná se o mnou tvořené i dabované tutoriály v C# .NET 4.x

- u některých mnou vytvořených videí se může o nějakou sekundu spozdit zvuk/obraz (vůbec nevim čim to je – zkoušel jsem snad vše, někdy to je OK a někdy ne), takže poprosim o trpělivost

- pokud jsem se někde přeřekl, tak se omlouvám, ale stane se, kór když se to nahrává a člověk si hlídá, aby se ne nepřeřek, neříkal blbosti a nenechával moc chvilky ticha.. v každém případě doufám, že se videa budou líbít a někomu třeba i pomužou

- a pokud se nějaké video bude líbít, tak poprosim o like na youtube, případně odběr

- další důležitá věc je, že lekce nebo číslování videi není podle obtížnosti, ale pouze jako pořadí videa, takže video s číslem 10 může navazovat třeba na 2. video apod. Pokud by to bylo něco, co opravdu navazuje hned na předchhozí video, tak bych to na začátku předchozího videa zmínil

- jinak všechny videa se pokoušim nahrávat v HD rozlišení, takže většinou všude je 1080p (minimálně 720p) a vyjmečně méně, ale to se netýká přímo tutoriálů

Videa: