<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Symbol LABoratory &#187; projekt</title>
	<atom:link href="http://lab.symboltech.hu/tag/projekt/feed/" rel="self" type="application/rss+xml" />
	<link>http://lab.symboltech.hu</link>
	<description>Kreativitás és Innováció a szoftveriparban</description>
	<lastBuildDate>Wed, 28 Jul 2010 18:57:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>PowerCommands &#8211; azaz ne hiányozzon semmi a VS2008-ból</title>
		<link>http://lab.symboltech.hu/2009/08/powercommands-azaz-ne-hianyozzon-semmi-a-vs2008-bol/</link>
		<comments>http://lab.symboltech.hu/2009/08/powercommands-azaz-ne-hianyozzon-semmi-a-vs2008-bol/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 11:34:48 +0000</pubDate>
		<dc:creator>developerteam</dc:creator>
				<category><![CDATA[Hírek]]></category>
		<category><![CDATA[forráskód]]></category>
		<category><![CDATA[projekt]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://lab.symboltech.hu/?p=363</guid>
		<description><![CDATA[Visual Studio 2008 remek eszköz. Számunkra egy dolog hiányzik belőle, mégpedig az, hogy a szépen, névterekben elhelyezett osztályok, ablakok, usercontrol-ok ugyanilyen szép mélységű könyvtárfát hoznak létre, amit ha egyszer kinyitottunk, sok kattintással tudjuk összecsukni.]]></description>
			<content:encoded><![CDATA[<p><strong>Visual Studio 2008 remek eszköz.</strong> Számunkra egy dolog hiányzik belőle, mégpedig az, hogy a szépen, névterekben elhelyezett osztályok, ablakok, usercontrol-ok ugyanilyen szép mélységű könyvtárfát hoznak létre, amit ha egyszer kinyitottunk, sok kattintással tudjuk összecsukni.</p>
<p>Ettől még jól használható, pláne, ha már a VS2005-höz is létezett VB-ben írt makró, ami becsukja a fát. Ennek volt kezdetleges változata, amely csak 1-1 szintet csukott be. És volt, ami már rekurzívan is működött. A tegnapi napig&#8230;</p>
<p> </p>
<p><img class="aligncenter size-medium wp-image-364" title="collapseproject" src="http://lab.symboltech.hu/wp-content/uploads/2009/08/collapseproject-289x300.jpg" alt="collapseproject" width="289" height="300" /></p>
<p style="text-align: left;">Egy VS2008 biztonsági frissítés feltelepítése óta nem működik. Lenne erőforrásunk debugolni, de csak-csak van más megoldás is, mondjuk egy ingyenes Microsoft tool!</p>
<p style="text-align: left; padding-left: 90px;"><em>A szoftverfejlesztő cégek mindegyike pénzért adja a termékeit. Bizonyos &#8220;kultúrákban&#8221; a termék ingyenes, a támogatás, ami által a tényleges előnyt szerzed, viszont fizetős, lásd Apache, Linux, MySql. Ebből kiindulva nem is keresgéltünk nagy tudású, de mégis ingyenes, &#8220;<strong>5 éve fejlesztjük, nagyon jó</strong>&#8221; termékek irányába, hiszen semmi nincs ingyen.</em></p>
<p>És találtunk egy tool-t, amely megfelel a céljainknak, hivatalos Microsoft termék, ingyenes, gyakorlatilag egy extension, amelyet minden bizonnyal a Microsoft is használ saját berkein belül. Talán a létrejötte is annak köszönhető, hogy valamelyik fejlesztő majdnem fellázadt a saját eszközük ellen.</p>
<p>Letölthető <a href="http://code.msdn.microsoft.com/PowerCommands" target="_self">erről az oldalról</a>.</p>
<p><strong>PowerCommands for Visual Studio 2008</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://lab.symboltech.hu/2009/08/powercommands-azaz-ne-hianyozzon-semmi-a-vs2008-bol/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Egyedi sorosítás &#8211; IXMLSerializable megvalósítás</title>
		<link>http://lab.symboltech.hu/2009/07/egyedi-sorositas-ixmlserializable-megvalositas/</link>
		<comments>http://lab.symboltech.hu/2009/07/egyedi-sorositas-ixmlserializable-megvalositas/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 09:30:14 +0000</pubDate>
		<dc:creator>developerteam</dc:creator>
				<category><![CDATA[Fejlesztői hírek]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[dictionary]]></category>
		<category><![CDATA[forráskód]]></category>
		<category><![CDATA[ixmlserializable]]></category>
		<category><![CDATA[projekt]]></category>
		<category><![CDATA[sorosítás]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://lab.symboltech.hu/?p=268</guid>
		<description><![CDATA[C#, remek nyelv. Szinte mindent lehet sorosítani, XML-be menteni. Nem is kell kézzel ezeket megírni, összerakni. De egy pár dolog kimaradt. Talán oka is van, hogy miért, de ez nem lényeg. A lényeg, hogy meg lehet valósítani.]]></description>
			<content:encoded><![CDATA[<p><strong>C#, remek nyelv.</strong> Szinte mindent lehet sorosítani, XML-be menteni. Nem is kell kézzel ezeket megírni, összerakni. De egy pár dolog kimaradt. Talán oka is van, hogy miért, de ez nem lényeg. A lényeg, hogy meg lehet valósítani.</p>
<p>A generic List&lt;&gt;-et lehet sorosítani, de előtte kell egy plusz származtatási szinten készíteni. Dictionary&lt;T,U&gt;-t nem lehet. De van megoldás. Csináljunk egy sorosítható Dictionary-t.</p>
<pre>    [XmlRoot("Dictionary")]
    public class SerializableDictionary&lt;TKey, TValue&gt; : IXmlSerializable
    {
        public XmlSchema GetSchema()
        {
            return null;
        }</pre>
<pre>        public void ReadXml(XmlReader reader)
        {
            XmlSerializer keySerializer = new XmlSerializer(typeof(TKey));
            XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue));</pre>
<pre>            bool wasEmpty = reader.IsEmptyElement;</pre>
<pre>            reader.Read();</pre>
<pre>            if (wasEmpty)
                return;</pre>
<pre>            while (reader.NodeType != XmlNodeType.EndElement)
                try
                {
                    reader.ReadStartElement("Item");
                    reader.ReadStartElement("Key");
                    TKey key = (TKey)keySerializer.Deserialize(reader);
                    reader.ReadEndElement();</pre>
<pre>                    reader.ReadStartElement("Value");
                    TValue value = (TValue)valueSerializer.Deserialize(reader);
                    reader.ReadEndElement();</pre>
<pre>                    reader.ReadEndElement();</pre>
<pre>                    reader.MoveToContent();</pre>
<pre>                    this.Add(key, value);
                }
                catch { }
            reader.ReadEndElement();
        }</pre>
<pre>        public void WriteXml(XmlWriter writer)
        {
            XmlSerializer keySerializer = new XmlSerializer(typeof(TKey));
            XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue));</pre>
<pre>            foreach (TKey key in this.Keys)
            {
                writer.WriteStartElement("Item");
                writer.WriteStartElement("Key");
                keySerializer.Serialize(writer, key);
                writer.WriteEndElement();</pre>
<pre>                writer.WriteStartElement("Value");
                TValue value = this[key];
                valueSerializer.Serialize(writer, value);
                writer.WriteEndElement();</pre>
<pre>                writer.WriteEndElement();
            }
        }
    }</pre>
<p>Ahogy látható, csak a saját szintünket kell megvalósítani, a TKey és TValue elemek sorosításával már a saját osztályuk foglalkozik. Extrém eset ha a TValue is egy sorosítható Dictionary (valós példát nem tudunk jelenleg mondani), ilyenkor ennek az objektumnak a sorosításakor szintén a fenti algoritmus fog lefutni.</p>
]]></content:encoded>
			<wfw:commentRss>http://lab.symboltech.hu/2009/07/egyedi-sorositas-ixmlserializable-megvalositas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7 tálca újdonságai &#8211; fejlesztői szemmel</title>
		<link>http://lab.symboltech.hu/2009/07/windows-7-talca-ujdonsagai-fejlesztoi-szemmel/</link>
		<comments>http://lab.symboltech.hu/2009/07/windows-7-talca-ujdonsagai-fejlesztoi-szemmel/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 12:43:02 +0000</pubDate>
		<dc:creator>developerteam</dc:creator>
				<category><![CDATA[Fejlesztői hírek]]></category>
		<category><![CDATA[Nagyvilág eseményei]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[folyamatjelző]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[projekt]]></category>
		<category><![CDATA[tálca]]></category>
		<category><![CDATA[windows7]]></category>
		<category><![CDATA[WindowsApiCodecPack]]></category>

		<guid isPermaLink="false">http://lab.symboltech.hu/?p=200</guid>
		<description><![CDATA[Napvilágot látott (le is tölthető, meg is vásárolható lassan) a Microsoft új operációs rendszere, amely felhasználói szemmel újdonság, fejlesztői szemmel kihívás.]]></description>
			<content:encoded><![CDATA[<p>Napvilágot látott (le is tölthető, meg is vásárolható lassan) a Microsoft új operációs rendszere, amely felhasználói szemmel újdonság, fejlesztői szemmel kihívás.</p>
<p>Az alábbi <a href="http://windows.microsoft.com/en-US/windows7/products/features" target="_blank">linken</a> pár információval szolgálnak arról, mik is ezek az újítások. Én csak a tálca újdonságait emelném ki. Ezidáig a felhasználót a jobb alsó sarokban lévő úgynevezett értesítési területen lehetett informáli dolgokról. Milyen folyamatok futnak, mennyi ideig tart még a DVD megírása, a fájl letöltése.</p>
<p>Ezt most egy kicsit megbolondították és elérhetővé tették folyamatjelzők és ikonok megjelenítését a tálcán, ahol eddig a program főablakának címe szerepelt és jobb esetben az alkalmazás ikonja (számos fejlesztő felejt el ikont adni). A lehetőségek között szerepel:</p>
<ul>
<li>Véges folyamatjelző</li>
<li>Végtelen folyamatjelző (nem kiszámítható befejezési idővel)</li>
<li>Hibajelző (piros)</li>
</ul>
<p><img class="aligncenter size-full wp-image-206" title="taskbarwithprogressandoverlays" src="http://lab.symboltech.hu/wp-content/uploads/2009/07/taskbarwithprogressandoverlays.jpg" alt="taskbarwithprogressandoverlays" width="600" height="323" /></p>
<h3>És ehhez elég lesz a .Net framework 4.0?</h3>
<p>Elég, sőt 3.5-tel is működni fog, le kell hozzá tölteni a <a href="http://code.msdn.microsoft.com/WindowsAPICodePack" target="_blank">WindowsApiCodecPack</a>-et (4MB, súgóval együtt 19MB), amely forrásfájlokat szolgáltat számunkra, hogy a Windows7 fenti szolgáltatásait elérjük. <em>DirectX is kell hozzá a leírás szerint, de ez valószinüleg akkor szükséges, ha a CodecPack DirectX-es szolgáltatásait is szeretnénk használni.</em></p>
<p>Lehetőségünk lesz elérni a <code>ITaskBarList3</code> interfész <code>SetOverlayIcon</code>, <code>SetProgressState</code> és <code>SetProgressValue</code> metódusait, amivel lehetőségünk van a felhasználóinkat informálni egy hosszabb programfolyamat állapotáról.</p>
<p>Referenciaként a Core és Shell szerelvényeket kell a projekthez hozzáadni, ezen névterekben pedig megtalálhatóak a szükséges osztályok:</p>
<ul>
<li><code>Microsoft.WindowsAPICodePack.Shell.<strong>Taskbar</strong></code></li>
<li><code><code>Microsoft.WindowsAPICodePack.Shell.Taskbar.<strong>ProgressBar</strong></code></code></li>
<li><code><code><code>Microsoft.WindowsAPICodePack.Shell.Taskbar.<strong>OverlayIcon</strong></code></code></code></li>
</ul>
<p>Ezen kívül a <code>ProgressBarExt </code>és <code>OverlayIconExt </code>osztályok segítségével a Windows XP óta, a sok ablak megjelenítésekor összecsoportosuló programablakok mindegyike külön folyamatjelzővel látható el.</p>
<p>Tesztelés folyamatban&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://lab.symboltech.hu/2009/07/windows-7-talca-ujdonsagai-fejlesztoi-szemmel/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
