A jedeme dál ...
Človíčkův Weblog aneb Michal Horák bloguje

Spuštění výchozího emailového klienta s přednastavenou zprávou pomocí MAPI

 | 11.3.2009

Dnes jsem hledal, jak z programu spustit výchozího emailového klienta tak, aby se rovnou zobrazilo okno pro psaní zprávy a tu zprávu jsem již měl částěčně předvyplněnou. Prostě něco, jako když ve webovém prohlížeči kliknete na odkaz mailto. Hledání bylo úspěšné a našel jsem pár tříd napsaných v jazyku C#, které vše zvládnou. Takže díky autorovi, Andrew Bakerovi, jsem měl hned o práci méně. Třídu najdete na adrese: http://www.metageek.net/svn/Inssider/trunk/MapiMailMessage.cs

11.3.2009 16:45 | Programování | Komentáře (0) | Trvalý odkaz | 97907x | Linkuj.cz

Příbor

 | 7.3.2009

Zase trošku kreslení, ale to nikomu neublíží. Tentokráte jde o příbor a mám to jako ikonku.

Příbor

7.3.2009 18:19 | Grafika | Komentáře (0) | Trvalý odkaz | 101346x | Linkuj.cz

Rozklad stromu reprezetovaného řetězcem na všechny podstromy (C#)

 | 7.3.2009

V diplomce jsem řešil takový problém, mám program reprezentovaný stromem, který mám kvůli rychlosti v řetězci. Strom může vypadat například takto:

div((add((div((X1), (X0))), (X1))), (add((add((X0), (X2))), (X1))))

Což kdyby se převedlo na matematický výraz, tak bude vypadat následovně:

((X1/X0)*X1)/((X0*X2)*X1), kde X0, X1, X2 jsou proměnné

No a z toho stromu jsem potřeboval získat všechny podstromy, včetně těch, které mají pouze kořen. No a povedlo se tímto kódem:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Collections;

namespace Pokusy
{
    class Program
    {
        static void Main(string[] args)
        {
            List list = new List();
            string s = "div((add((div((X1), (X0))), (X1))), (add((add((X0), (X2))), (X1))))";
            foreach (Match m in Regex.Matches(s, @"(\w+)"))
            {
                if (Regex.IsMatch(m.ToString(), @"^X[\d+]$"))
                {
                    Console.WriteLine(m.ToString());
                }
                else
                {
                    Console.Write(m.ToString());

                    GetLists(s.Substring(m.Index));
                }
            }

            Console.ReadLine();
        }

        private static string GetLists(string s)
        {
            if (s.Contains("("))
            {
                char[] array = s.ToCharArray();
                int startIndex = 0;
                int endIndex = 0;
                int braces = 0;
                for (int i = 0; i < array.Length; i++)
                {
                    if (array[i].ToString() == "(" && startIndex == 0)
                    {
                        startIndex = i;
                    }
                    else if (array[i].ToString() == "(" && startIndex > 0)
                    {
                        braces++;
                    }
                    else if (array[i].ToString() == ")" && startIndex > 0)
                    {
                        if (braces == 0)
                        {
                            endIndex = i + 1;
                            i = array.Length;
                        }
                        braces--;
                    }
                }
                string left = "";
                left = s.Substring(startIndex, endIndex - startIndex);

                Console.WriteLine(left);
                return left;
            }
            return "";
        }
    }
}

7.3.2009 18:10 | Programování | Komentáře (0) | Trvalý odkaz | 92752x | Linkuj.cz

Udělejte profil svému mazlíčkovi

 | 2.2.2009

Nedávno jsme udělali našemu kocourkovi Šemíkovi internetový profil na stránkách Miciny.cz a také jsme si prohlíželi jak to vypadá u chlupatých kolegů. Profilů existuje velká řada a je vidět, že uživatelé mají své chlupaté miláčky za ty nejhezčí ze všech :-) Stejně tak my, tak se můžete podívat na profil Šemíka a pokud máte také nějaký profil na webu popřípadě na stejných webech pro pejsky, tak nám můžete dát pár hlasů ;-)

Pokud váš mazlíček svůj profil nemá tak mu jej udělejte, v dnešním světě, kdo není na internetu jako by nebyl :-)

2.2.2009 20:49 | Weboviny | Komentáře (0) | Trvalý odkaz | 60212x | Linkuj.cz

Už vím, kam jedu na dovolenou: Řecko - Zakynthos

 | 27.1.2009

Letos pojedu prvně k moři, mám to jako dárek, za státnice, které mě čekají v květnu a když to nevyjdou, tak je to dárek za část státnic :-)

No a jak jsme s mojí drahou polovičkou přišli na Zakynthos? No vlatně jednoduše. Nejdříve jsme vyloučili místa kam minimálně jeden nás moc nechce takže jsme se dostali ke středozemnímu moři, potom jsme vybírali podle relativního klidu a dopravy. No a nakonec jsme měli už jen jednu podmínku a to byly peníze, přeci jen zas tak moc jich nemáme. Po všech těchto redukcích na nás vypadlo Řecko s ostrovem Zakynthos.

Mě osobně tam láká podle všeho krásné prostředí a želva Caretta-Caretta a mou drahou polovičku, zase čisté moře a vysoké teploty.

Jedeme 3. července, takže snad ty teploty ještě nebudou nejvyšší a letíme z Prahy, kdo by to byl řekl, že z Brna se létá spíše na 10 dní a více? Já tedy ne.

No a jak se vrátím, tak určtě podám svou pravdivou subjektivní výpověď o tom, jestli to byl výběr správný …

27.1.2009 15:03 | Ostatní | Komentáře (5) | Trvalý odkaz | 55547x | Linkuj.cz

Rybičky

 | 3.1.2009

Z bráchy se stal velký akvarista a tak občas chodím sledovat děj v akváriu. No a teď naposledy jsem si řekl, že by nebylo špatné si nějaké ty rybičky nakreslit. Tak tady jsou:

rybičky

3.1.2009 20:57 | Grafika | Komentáře (3) | Trvalý odkaz | 64954x | Linkuj.cz

Veselé vánoce a štastný nový rok 2009

 | 16.12.2008

Už je to tu zase :-) Většina z nás už má dárky koupené a kdo to ještě nestihl, tak to nebude dlouho trvat.

Veselé vánoce a štastný nový rok 2009

16.12.2008 19:59 | Grafika | Komentáře (1) | Trvalý odkaz | 41263x | Linkuj.cz

ASP.NET MVC

 | 7.12.2008

Naposledy jsem tu začal psát o ASP.NET MVC a zamýšlel jsem to jako seriál, ale změnil jsem názor. Když jsem o tom psal do školy, tak jsem sepsal dokument, který nyní dávám k dispozici.

ASP.NET MVC

ASP.NET MVC

7.12.2008 16:41 | Programování | Komentáře (0) | Trvalý odkaz | 23927x | Linkuj.cz

ASP.NET MVC 1.díl

 | 5.11.2008

Tak jsem zase po dlouhé době začal zkoumat něco nového v dotnetu. A ejhle ono se mi to zalíbilo :-) Jde o ASP.NET MVC, což je vlastně alternativa k WebForms, s tím že má řadu výhod, ale i nějakou tu nevýhodu.

Hlavními výhodami je striktnější oddělení logiky od prezentace, výsledný výstup je přesně takový jaký chcete a není ničím ovlivněn, lépe se testuje a dělá nám hezké url adresy v adresním řádku.

Nevýhodou oproti webforms je, že si musíme více věcí dělat sami, tedy je to méně pohodlné, ale za to můžeme dostat lepí výsledek.

Základem ASP.NET MVC je návrhový vzor model view controller, který už je známý zhruba tři desítky let, ale v poslední době se znovu ocitá na výsluní díky Ruby on Rails. No a Microsoft nemůže být nikdy pozadu, tak se pustil do ASP.NET MVC. Jak je již z názvu patrné Model View Controller se skládá ze tří částí:

Když si ve Visual Studiu vytvoříme ASP.NET MVC projekt, tak se nám vytvoří adresáře odpovídající jednotlivým částem. Například je možné do adresáře models, vložit LINQ to SQL Classes a můžeme mít hotovo, do adresáře Controllers se vkládají třídy zděděné z System.Web.Mvc.Controller (Zde se budou definovat akce) a nakonec v adresáři View máme aspx soubory, ovšem ještě uložené v adresářích odpovídajícím controllerům.

Pro pochopení základního principu si ukážeme jednoduchý příklad. Půjde o editaci a zobrazení článků. Nejdříve si vytvoříme HomeController.cs a stránku Index.aspx v adresáři Views/Home:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
using MVCweb.Models;

namespace MVCweb.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
    }
}

V controlleru máme funkci Index, která je typu ActionResult a vrací nám pohled na stránku Index.aspx. Tuto funkci, nebo lépe řečeno akci, zavoláme, pokud zadáme do adresního řádku http://www.example.com/Home/Index. Když přidáme další akci, například Create, potom ji zavoláme z url http://www.example.com/Home/Create. Zde je vidět, jak se nám krásně mapují url na akce.

Pro první díl, by to mohlo stačit, příště si ukážeme jaké jsou další možnosti pro akce a také si ukážeme jak zobrazit data z modelu na stránce.

5.11.2008 21:32 | Programování | Komentáře (0) | Trvalý odkaz | 23660x | Linkuj.cz

Video: Jak vypadá Škoda Octavia po faceliftu

 | 7.10.2008

Jedno hezké oficiální video přímo od Škoda Auto. Octavie po faceliftu vypadá zase o něco více majestátně.

7.10.2008 15:34 | Ostatní | Komentáře (0) | Trvalý odkaz | 22905x | Linkuj.cz

Předchozí příspěvky | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | Další příspěvky

Tipy na přečtení

Kategorie

Vyhledávání

Odkazy

Nejčtenější příspěvky za poslední týden

Poslední příspěvky

"A jedeme dál ..." Človíčkův Weblog aneb Michal Horák bloguje. (c) Michal Horák (Človíček webdesign) 2006