<?xml version="1.0" encoding="windows-1250"?><?xml-stylesheet href="/rss20.xsl" type="text/xsl"?><rss version="2.0">
  <channel>
    <title>A jedeme dál ...</title>
    <link>http://weblog.clovicek.net/</link>
    <description>Človíčkův Weblog aneb Michal Horák bloguje</description>
    <language>cs</language>  
    <generator>A jedeme dál ... 0.1</generator>

    <copyright>Michal Horák</copyright>
    <category>weblog</category>
    <docs>http://backend.userland.com/rss</docs>
    
	<item>
		<title>Maserati GranTurismo MC Stradale</title>
		<link>http://weblog.clovicek.net/prispevek-maserati-granturismo-mc-stradale.html</link>
		<description>Je to už nějaký ten pátek, ale publikováno ještě nebylo. Zase jsem si nakreslil nějaké to autíčko a tentokráte opravdu krásné Maserati GranTurismo MC Stradale. 
. </description>
		<comments>http://weblog.clovicek.net/prispevek-maserati-granturismo-mc-stradale.html#komentare</comments>
	</item>

	<item>
		<title>Získání náhledu webu C# .NET</title>
		<link>http://weblog.clovicek.net/prispevek-ziskani-nahledu-webu-c-net.html</link>
		<description>Jestliže jste chtěli někde při zadání webové adresy získat její náhled, nebo si uložit nějakou stránku jako obrázek. Pak to lze provést překvapivě jednoduší použitím komponenty WebBrowser. Zde je příklad uložení do formátu TIFF G4:

/// 
        /// Konverze souboru sejmutím obrazovky webového prohlížeče 
        /// 
        /// 
        /// 
        /// 
        Result CaptureWebPage(string input, string output)
        {
            int? width = 1024;
            int? height = null;
            // create a hidden web browser, which will navigate to the page
            using (WebBrowser web = new WebBrowser())
            {
                web.ScrollBarsEnabled = false; // we don't want scrollbars on our image
                web.ScriptErrorsSuppressed = true; // don't let any errors shine through
                web.Navigate(input);
                // wait until the page is fully loaded
                while (web.ReadyState != System.Windows.Forms.WebBrowserReadyState.Complete)
                    System.Windows.Forms.Application.DoEvents();
                //web.Document.Body.InnerHtml = body;

                // set the size of our web browser to be the same size as the page
                if (width == null)
                    width = web.Document.Body.ScrollRectangle.Width;
                if (height == null)
                    height = web.Document.Body.ScrollRectangle.Height;
                web.Width = width.Value;
                web.Height = height.Value;
                // a bitmap that we will draw to
                using (System.Drawing.Bitmap tiff = new System.Drawing.Bitmap(width.Value, height.Value))
                {
                    // draw the web browser to the bitmap
                    web.DrawToBitmap(tiff, new Rectangle(web.Location.X, web.Location.Y, web.Width, web.Height));
                    // draw the web browser to the bitmap
                    using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
                    {
                        EncoderParameter qualityParam = null;
                        EncoderParameters encoderParams = null;
                        try
                        {
                            ImageCodecInfo encoderInfo = null;
                            encoderInfo = GetEncoderInfo("image/tiff");

                            encoderParams = new EncoderParameters(2);
                            EncoderParameter parameter = new EncoderParameter(System.Drawing.Imaging.Encoder.Compression, (long)EncoderValue.CompressionCCITT4);
                            encoderParams.Param[0] = parameter;
                            parameter = new EncoderParameter(System.Drawing.Imaging.Encoder.SaveFlag, (long)EncoderValue.MultiFrame);
                            encoderParams.Param[1] = parameter;

                            tiff.Save(output, encoderInfo, encoderParams);
                            tiff.Dispose();
                            return Result.Succes;

                        }
                        catch {
                            return Result.Exception;
                        }
                        finally
                        {
                            if (encoderParams != null)
                                encoderParams.Dispose();
                            if (qualityParam != null)
                                qualityParam.Dispose();
                        }

                    }
                }
            }
        }
. </description>
		<comments>http://weblog.clovicek.net/prispevek-ziskani-nahledu-webu-c-net.html#komentare</comments>
	</item>

	<item>
		<title>WPF analogové hodiny</title>
		<link>http://weblog.clovicek.net/prispevek-wpf-analogove-hodiny.html</link>
		<description>Když jsem si začal hrát s WPF tak první věc co se mi myslím trošku povedla, byly analogové hodiny jako userControl. Bylo to překvapivě snadné a tak se o řešení podělím. Nevýhodou userControlu je, že hodiny mají pevnou velikost, sice chvilku snaha na nápravu byla, ale už nebyl čas.




	
		
			
			
			
		
		
			
			
			
		
		
			
				
					
				
			
			
				
					
				
			
			
				
					
				
				
					
				
			
			
				
					
				
			
			
				
					
				
			
			
			
			
			
				
					
				
			
			
		
	


A samozřejmě kód v c#, který hodiny rozběhá:

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Timers;
using System.Windows.Threading;

namespace CashDeskVision
{
	/// 
	/// Interaction logic for Clock.xaml
	/// 
	public partial class Clock : UserControl
	{

        private RotateTransform minuteRotateTransform;
        private RotateTransform hourRotateTransform;
        private RotateTransform secondRotateTransform;

        public delegate void TickTackHandler(Object sender, EventArgs e);
        DispatcherTimer secondTimer = new DispatcherTimer();


        public string Text {
            get {
                return this.text.Text;
            }
            set {
                this.text.Text = value;
            }
        }

		public Clock()
		{
			this.InitializeComponent();
            SetTime(DateTime.Now);

            secondTimer.Tick += new EventHandler(secondTimer_Tick);
            secondTimer.Interval = new TimeSpan(0, 0, 1);
            secondTimer.Start();
		}

        void secondTimer_Tick(object sender, EventArgs e)
        {
            SetTime(DateTime.Now);
        }

        private void SetTime(DateTime time)
        {


            minuteRotateTransform = new RotateTransform(time.Minute * 6, 0, 0);
            this.minute.RenderTransform = minuteRotateTransform;
           
            hourRotateTransform = new RotateTransform(time.Hour * 30, 0, 0);
            this.hour.RenderTransform = hourRotateTransform;

            secondRotateTransform = new RotateTransform(time.Second * 6, 0, 0);
            this.second.RenderTransform = secondRotateTransform;
        }


	}
}
. </description>
		<comments>http://weblog.clovicek.net/prispevek-wpf-analogove-hodiny.html#komentare</comments>
	</item>

	<item>
		<title>Skupina Šebetov na Facebooku</title>
		<link>http://weblog.clovicek.net/prispevek-skupina-sebetov-na-facebooku.html</link>
		<description>Máte-li účet na facebooku a máte blízko k mé rodné vesnici Šebetov, tak neváhejte a přidejte se ke skupině Šebetov. Je tam povoleno vkládat fotky a videa, stejně tak můžete diskutovat. Takže pokud máte k této obci dobrý vztah, tak neváhejte.
 
Kdo ještě nemáte na facebooku účet, tak o tom popřemýšlejte, určitě je to zajímavá služba :-). </description>
		<comments>http://weblog.clovicek.net/prispevek-skupina-sebetov-na-facebooku.html#komentare</comments>
	</item>

	<item>
		<title>Google translator API pro C#</title>
		<link>http://weblog.clovicek.net/prispevek-google-translator-api-pro-c.html</link>
		<description>Kdo chcete využívat google translator i programově a ještě k tomu na platformě .NET tak je k nalezení knihovna, pomocí které můžete nechat přeložit jakýkoliv retězec. Tuto knihovnu najdete na adrese http://code.google.com/p/gtapi/. . </description>
		<comments>http://weblog.clovicek.net/prispevek-google-translator-api-pro-c.html#komentare</comments>
	</item>

	<item>
		<title>Jak přeložit pdf pomocí Google translatoru</title>
		<link>http://weblog.clovicek.net/prispevek-jak-prelozit-pdf-pomoci-google-translatoru.html</link>
		<description>Je to velice jednoduché, stačí využít služby Zoho Viewer, kam nahrajete daný pdf soubor, který ovšem není zaheslovaný. Jakmile tento soubor nahrajete, tak vám jej tato služba zobrazí jako html dokument s unikátní adresou, který už jen necháte googlem přeložit.. </description>
		<comments>http://weblog.clovicek.net/prispevek-jak-prelozit-pdf-pomoci-google-translatoru.html#komentare</comments>
	</item>

	<item>
		<title>Spuštění výchozího emailového klienta s přednastavenou zprávou pomocí MAPI</title>
		<link>http://weblog.clovicek.net/prispevek-spusteni-vychoziho-emailoveho-klienta-s-prednastavenou-zpravou-pomoci-mapi.html</link>
		<description>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. </description>
		<comments>http://weblog.clovicek.net/prispevek-spusteni-vychoziho-emailoveho-klienta-s-prednastavenou-zpravou-pomoci-mapi.html#komentare</comments>
	</item>

	<item>
		<title>Příbor</title>
		<link>http://weblog.clovicek.net/prispevek-pribor.html</link>
		<description>Zase trošku kreslení, ale to nikomu neublíží. Tentokráte jde o příbor a mám to jako ikonku.
. </description>
		<comments>http://weblog.clovicek.net/prispevek-pribor.html#komentare</comments>
	</item>

	<item>
		<title>Rozklad stromu reprezetovaného řetězcem na všechny podstromy (C#)</title>
		<link>http://weblog.clovicek.net/prispevek-rozklad-stromu-reprezetovaneho-retezcem-na-vsechny-podstromy-c.html</link>
		<description>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 "";
        }
    }
}


. </description>
		<comments>http://weblog.clovicek.net/prispevek-rozklad-stromu-reprezetovaneho-retezcem-na-vsechny-podstromy-c.html#komentare</comments>
	</item>

	<item>
		<title>Udělejte profil svému mazlíčkovi</title>
		<link>http://weblog.clovicek.net/prispevek-udelejte-profil-svemu-mazlickovi.html</link>
		<description>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 :-). </description>
		<comments>http://weblog.clovicek.net/prispevek-udelejte-profil-svemu-mazlickovi.html#komentare</comments>
	</item>
</channel>
</rss>

