<?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>deadlime.project &#187; C#</title>
	<atom:link href="http://deadlime.hu/tag/csharp/feed/" rel="self" type="application/rss+xml" />
	<link>http://deadlime.hu</link>
	<description>squeezed out</description>
	<lastBuildDate>Tue, 24 Jan 2012 21:54:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Első lépések C#-ban</title>
		<link>http://deadlime.hu/2006/02/18/elso-lepesek-csharp-ban/</link>
		<comments>http://deadlime.hu/2006/02/18/elso-lepesek-csharp-ban/#comments</comments>
		<pubDate>Sat, 18 Feb 2006 13:27:09 +0000</pubDate>
		<dc:creator>kriz</dc:creator>
				<category><![CDATA[nincs kategória]]></category>
		<category><![CDATA[ablakos alkalmazás]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://deadlime.hu/2006/02/18/elso-lepesek-c-ban/</guid>
		<description><![CDATA[Van szerencsém az egyetemen - a matek és a matek (no meg a matek) mellett - olyan kötelezően választható dolgokkal is foglalkoznom, mint a C#. Hogy eme szerencsémben osztozni tudjon a kedves olvasóközönség is, a félév folyamán írok pár bejegyzést a témával kapcsolatban. Vágjunk is bele... kezdődjön a telepítés! Telepítés Első körben a Microsoft Visual [...]]]></description>
			<content:encoded><![CDATA[<p>Van szerencsém az egyetemen - a matek és a matek (no meg a matek) mellett - olyan kötelezően választható dolgokkal is foglalkoznom, mint a C#. Hogy eme szerencsémben osztozni tudjon a kedves olvasóközönség is, a félév folyamán írok pár bejegyzést a témával kapcsolatban. Vágjunk is bele... kezdődjön a telepítés!</p><span id="more-14"></span>

<h3>Telepítés</h3>

<p>Első körben a <a href="http://msdn.microsoft.com/vstudio/express/visualcsharp/">Microsoft Visual C# 2005 Express Edition</a> nevezetű fejlesztőkörnyezetre lesz szükségünk. A meglepően kis méretű vcssetup.exe még úgy 54 megányi bitsorozatot tölt majd le gépünkre (a .NET Framework 2.0-t és magát a Visual C# 2005 Express Edition-t), ha másképp nem rendelkezünk (le lehetne még tölteni akár a dokumentációt is, de arra ott a web).</p>

<p>Pár next-next-next-ok típusú kattintgatás és a letöltés közbeni feszült várakozás után máris indíthatjuk a programot. Érdemes pár beállítást elvégezni, olyasmiket mint például a <em>Toolbox</em> megjelenítése (alapértelmezettben úgy emlékszem, hogy bal oldalon ott van, de csak ilyen "lebegő" ablakként), a másik pedig a <em>Properties Window</em>, amire szükség lesz (<em>View</em> / <em>Properties Window</em>). El is kezdhetjük első projektünket.</p>

<h3>Az első ablakos programunk</h3>

<p>Nem ígérem, hogy a programnak túl sok haszna lesz, de mégis több értelemmel fog rendelkezni, mint egy ablakos "Hello, World!" program. Klattyintsunk rá a <em>File</em> menü <em>New Project</em> menüpontjára, itt válasszuk ki a <em>Windows Application</em> ikonkát, lent adjunk egy nevet a projektnek és okézzuk le. Kis várakozás után meg is jelenik az üres formunk. A <em>Toolbox</em>ban válasszuk ki a <em>Common Controls</em> pontot, ott pedig a <em>Label</em> sort, majd kattintsunk az üres formra valahova. Megjelenik egy label1 feliratú mező. A <em>Properties</em> ablakban alapértelmezetten a <em>Text</em> rész lesz kijelölve, ahol meg tudjuk változtatni a <em>Label</em> feliratát. Ezt tegyük is meg, legyen az új neve "Kezdőérték:".</p>

<p>A következő harci feladat egy <em>TextBox</em> mező ráhelyezése lesz a formra, a <em>Label</em>-hez hasonló módon. A <em>Properties</em> ablakban a <em>(Name)</em> mező megváltoztatását leszünk muszáj eszközölni. Ezen a néven tudunk majd hivatkozni az objektumra a kódban. Legyen az új neve tbxValue. Szükségünk lesz még egy <em>Label</em> típusú objektumra, ennek a neve legyen lblResult, a <em>Text</em> tulajdonságának pedig adjuk az "Eredmény:" értéket. Az új cimke mellé jöhet egy új <em>TextBox</em> is tbxResult <em>(Name)</em> értékkel. Emellett állítsuk az <em>Enabled</em> mező értékét false-ra. Az utolsó form elemünk egy <em>Button</em> lesz, hasonló módon rápakoljuk a formra mint az előző 4 elemet, a <em>(Name)</em> értéke legyen btnShow, a <em>Text</em> értéke pedig "Kiszámol".</p>

<p>Miután a két <em>Label</em>-t és a két <em>TextBox</em>-ot és a <em>Button</em>-t megpróbáltuk esztétikusan elrendezni és a form méretét is kellőképpen lecsökkentettük, kattintsuk meg a form egy olyan részét, ahol nincs semmi, hogy a form legyen kijelölve. A <em>Text</em> értéke legyen "Kiszámolgatósdi", a <em>FormBorderStyle</em> értéke legyen FixedSingle (így nem lehet majd átméretezni), a <em>MaximizeBox</em> értéke pedig false (hogy a jobb felső sarokban a Maximize ikon Disabled legyen).</p>

<h3>Kódolás - végre</h3>

<p>Ennyi kattintgatás után már ideje egy kis kódot is írni, ha már egyszer programozás a téma. Kattintsunk duplán a Kiszámol gombra, mire átugrunk kód nézedbe és a btnShow objektumhoz automatikusan létrejön egy szimpla kattintás eseményt kezelő függvény. Látható, hogy már létezik az osztálynak egy konstruktora, amiben van egy <em>Initializecomponent()</em> függvény, ami azért felelős, hogy az alapbeállításaink a programban úgy legyenek ahogy (például, hogy a label1-nek "Kezdőérték:" legyen a <em>Text</em> tulajdonsága). A másik függvény a most létrehozott btnShow_Click, amibe a következő kódot fogjuk firkantani:</p>

<pre class="code prettyprint lang-csharp">try
{
    int num = int.Parse(this.tbxValue.Text);
    this.tbxResult.Text = String.Format(&quot;{0}*{0}={1}&quot;, num, (num * num));
}
catch
{
    this.tbxResult.Text = &quot;Hibás érték!&quot;;
}</pre>

<p>Egy rövid magyarázatot is fűznék az egyébként egyértelmű kódhoz: a tbxValue értékét megpróbáljuk számmá varázsolni az <em>int</em> objektum <em>Parse</em> függvényének segítségével, ami kivételt dob, ha a neki megadott string az nem egy szám (tartalmaz betüket is, vagy üres string, ilyesmi). Ezután a tbxResult-nak értékül adjuk azt a szöveget hogy x*x=y (megfelelő értékekkel behelyettesítve), vagy pedig kiírjuk, hogy a megadott érték hibás. Nincs más hátra, mint elmenteni az egész <em>Solution</em>-t és fordítani a kódot a <em>Build</em> / <em>Build Solution</em> segítségével. A kész bináris állományt pedig megtalálhatjuk a dokumentumaink között a <em>Visual Studio 2005</em> / <em>Projects</em> / <em>projekt_neve</em> / <em>projekt_neve</em> / <em>bin</em> / <em>Release</em> / <em>projekt_neve.exe</em> elérési út alatt.</p>

<p>Ennyi mára, majd ha már egy kicsit jobban értek hozzá, akkor folytatom a C#-al való ismerkedős bejegyzéseket és összehozok valami komolyabb, több ablakos dolgot. Addig is kellemes próbálgatósdit.</p>]]></content:encoded>
			<wfw:commentRss>http://deadlime.hu/2006/02/18/elso-lepesek-csharp-ban/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

