<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kstolin</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kstolin"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Kstolin"/>
	<updated>2026-05-05T20:26:56Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=26315</id>
		<title>Meeskond &quot;FoodWars&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=26315"/>
		<updated>2011-04-11T06:12:32Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Idee ==&lt;br /&gt;
Meie tiimil on plaanis teha internetipõhine söökla menüü süsteem (aluseks IT Kolledži kohvik, aga suunitlus selline, et kõik kohvikud/sööklad saaksid teha endale kasutajakonto ja hakata rakendust kasutama), kust saaks jälgida menüüd, mis sööke saab süüa, mis veel järgi on, kasutajatel on ka võimalus sööke hinnata (stiilis &amp;quot;meeldib&amp;quot;, &amp;quot;ei meeldi&amp;quot; nagu Facebook-is).&lt;br /&gt;
&lt;br /&gt;
Kohvikupidaja Teele soovid uue elektroonse süsteemi kohta:&lt;br /&gt;
&lt;br /&gt;
* elektroonilisest menüüst asju kustutada, isegi siis kui asja peaks olema teoreetiliselt alles, aga tegelikult on asi otsas.&lt;br /&gt;
* elektrikatkestuse korral jääb menüü püsima. Ta peab teadma hindu mistahes olukorras.&lt;br /&gt;
* menüül näidatakse automaatselt ka ISIC kaardi omanike soodushinnad&lt;br /&gt;
* süsteem toetab ka poole portsjoni müümist.&lt;br /&gt;
&lt;br /&gt;
Linnar Viigi soovid/visioonid uue elektroonse süsteemi kohta:&lt;br /&gt;
&lt;br /&gt;
* kõik oleks ka internetist kättesaadav, peale LCD ekraani, mis kajastab menüüd sööklas.&lt;br /&gt;
* aluseks facebook, kus siis söögid oleks nagu facebook-i alateemad.&lt;br /&gt;
* saab sööke hinnata, kommenteerida (täna oli väga maitsev praad).&lt;br /&gt;
* kasutajad saaks vaadata, mis menüüs on (ka järgmisel nädalal) ja mitu portsu veel alles on.&lt;br /&gt;
* kasutajad saaksid välja pakkuda menüüsid.&lt;br /&gt;
* erinevate söögikohtade kasutajad saaksid omavahel muljeid jagada.&lt;br /&gt;
* kuu aja aktiivsemad saavad prii lõuna.&lt;br /&gt;
* mingil ajal võib olla &amp;quot;happy hour&amp;quot; (enne sulgemist saab odavamalt).&lt;br /&gt;
* piiranguks on see, et toitu broneerida ei saa &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vaba tarkvara kasutamise võimalus&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Antud projekti puhul oleks võimalik kasutada [http://www.postgresql.org/ PostgreSQL] andmebaasi (vt. lisaks http://en.wikipedia.org/wiki/PostgreSQL ) Microsoft SQL Server&#039;i asemel. See võiks anda kasutajale võimaluse valida .NET ning [http://www.mono-project.com/ Mono] (vt. lisaks http://en.wikipedia.org/wiki/Mono_(software) ) platvormide vahel. Sel viisil oleks kliendil võimalik Microsoft&#039;i platvormi kõrval valida tõenäoliselt soodsam vaba tarkvara platvorm. Andmebaasi lõplik valik pole hetkel veel otsustatud.&lt;br /&gt;
&lt;br /&gt;
== Meeskond ja tööjaotus==&lt;br /&gt;
* Kristjan Stolin - projektijuht, suhtlus kliendiga, XML, wiki, teenuskihtide progemine, rollide halduse lehe progemine&lt;br /&gt;
* Ilmar Telga - XML, kliendiga suhtlus, wiki, teenuskihtide progemine, lõpprakenduste menüüd, login&lt;br /&gt;
* Rauno Rüga - XML, XSLT, andmebaasi loomine, wiki, mobiilirakendus, statistika&lt;br /&gt;
* Lauri Kermas - teenuskihtide ehitamine, wiki, login, kommenteerimise võimaluste progemine&lt;br /&gt;
&lt;br /&gt;
== XML Fail ==&lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Toidud&amp;gt;&lt;br /&gt;
  &amp;lt;Toit&amp;gt;&lt;br /&gt;
    &amp;lt;ToiduNimetus&amp;gt;Viineri kaste&amp;lt;/ToiduNimetus&amp;gt;&lt;br /&gt;
    &amp;lt;ToiduLiik&amp;gt;Praad&amp;lt;/ToiduLiik&amp;gt;&lt;br /&gt;
    &amp;lt;OlemasolevatYhikut&amp;gt;5&amp;lt;/OlemasolevatYhikut&amp;gt;&lt;br /&gt;
    &amp;lt;ToiduKogus&amp;gt;&lt;br /&gt;
      &amp;lt;Portsjon&amp;gt;&lt;br /&gt;
        &amp;lt;PortsjoniLiik&amp;gt;Poolportsjon&amp;lt;/PortsjoniLiik&amp;gt;&lt;br /&gt;
        &amp;lt;Myygiaeg&amp;gt;&lt;br /&gt;
          &amp;lt;Aasta&amp;gt;2011&amp;lt;/Aasta&amp;gt;&lt;br /&gt;
          &amp;lt;Kuu&amp;gt;1&amp;lt;/Kuu&amp;gt;&lt;br /&gt;
          &amp;lt;Paev&amp;gt;9&amp;lt;/Paev&amp;gt;&lt;br /&gt;
          &amp;lt;Tund&amp;gt;15&amp;lt;/Tund&amp;gt;&lt;br /&gt;
          &amp;lt;Minut&amp;gt;07&amp;lt;/Minut&amp;gt;&lt;br /&gt;
          &amp;lt;Sekund&amp;gt;23&amp;lt;/Sekund&amp;gt;&lt;br /&gt;
        &amp;lt;/Myygiaeg&amp;gt;        &lt;br /&gt;
        &amp;lt;ToiduHind&amp;gt;&lt;br /&gt;
          &amp;lt;Eurohind&amp;gt;2.15&amp;lt;/Eurohind&amp;gt;&lt;br /&gt;
          &amp;lt;Soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseProtsent&amp;gt;5%&amp;lt;/SoodustuseProtsent&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseLiik&amp;gt;ISIC kaart&amp;lt;/SoodustuseLiik&amp;gt;&lt;br /&gt;
          &amp;lt;/Soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/ToiduHind&amp;gt;&lt;br /&gt;
      &amp;lt;/Portsjon&amp;gt;&lt;br /&gt;
      &amp;lt;Portsjon&amp;gt;&lt;br /&gt;
        &amp;lt;Myygiaeg&amp;gt;&lt;br /&gt;
          &amp;lt;Aasta&amp;gt;0&amp;lt;/Aasta&amp;gt;&lt;br /&gt;
          &amp;lt;Kuu&amp;gt;0&amp;lt;/Kuu&amp;gt;&lt;br /&gt;
          &amp;lt;Paev&amp;gt;0&amp;lt;/Paev&amp;gt;&lt;br /&gt;
          &amp;lt;Tund&amp;gt;00&amp;lt;/Tund&amp;gt;&lt;br /&gt;
          &amp;lt;Minut&amp;gt;00&amp;lt;/Minut&amp;gt;&lt;br /&gt;
          &amp;lt;Sekund&amp;gt;00&amp;lt;/Sekund&amp;gt;&lt;br /&gt;
        &amp;lt;/Myygiaeg&amp;gt;&lt;br /&gt;
        &amp;lt;PortsjoniLiik&amp;gt;Täisportsjon&amp;lt;/PortsjoniLiik&amp;gt;&lt;br /&gt;
        &amp;lt;ToiduHind&amp;gt;&lt;br /&gt;
          &amp;lt;Eurohind&amp;gt;2.80&amp;lt;/Eurohind&amp;gt;&lt;br /&gt;
          &amp;lt;Soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseProtsent&amp;gt;5%&amp;lt;/SoodustuseProtsent&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseLiik&amp;gt;ISIC kaart&amp;lt;/SoodustuseLiik&amp;gt;&lt;br /&gt;
          &amp;lt;/Soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/ToiduHind&amp;gt;&lt;br /&gt;
      &amp;lt;/Portsjon&amp;gt;&lt;br /&gt;
    &amp;lt;/ToiduKogus&amp;gt;&lt;br /&gt;
    &amp;lt;Kommentaarid&amp;gt;&lt;br /&gt;
      &amp;lt;Kommentaar&amp;gt;&lt;br /&gt;
        &amp;lt;Saatja&amp;gt;&lt;br /&gt;
          &amp;lt;SaatjaNimi&amp;gt;Kristjan&amp;lt;/SaatjaNimi&amp;gt;&lt;br /&gt;
          &amp;lt;SaatjaRoll&amp;gt;Tudeng&amp;lt;/SaatjaRoll&amp;gt;&lt;br /&gt;
        &amp;lt;/Saatja&amp;gt;&lt;br /&gt;
        &amp;lt;Sisu&amp;gt;Minu lemmik toit ! Kui algebra tund ei hakkaks, sööks veel 5 portsjonit.&amp;lt;/Sisu&amp;gt;&lt;br /&gt;
      &amp;lt;/Kommentaar&amp;gt;&lt;br /&gt;
    &amp;lt;/Kommentaarid&amp;gt;&lt;br /&gt;
  &amp;lt;/Toit&amp;gt;&lt;br /&gt;
&amp;lt;/Toidud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kommentaariks siis niipalju, et meie näide on ilma kohviku osata, selleks et näidet mitte liiga suureks ajada.&lt;br /&gt;
&lt;br /&gt;
Ka on meil moment puudu ID väljad, mis on igasugu andmebaasiga suhtlemiseks hädavajalikud, samas siin näidises palju juurde ei anna.&lt;br /&gt;
&lt;br /&gt;
Asja tegemisel avastasime, et põhiliseks arusaamatuse kohaks on toitude erinevad kogused (ehk siis pool portsjonit, suur / väike ja muud võrdlevad ühikud). Esimese võimalusena kaalusime teha lihtsalt täiesti eraldi toidud kõige kohta, stiilis &amp;quot;väike viineripraad&amp;quot; ja &amp;quot;suur viineripraad&amp;quot;. Kahjuks see variant ei kõlbaks eriti hästi, kuna need erinevad portsjonid kasutavad ikkagi samu materjale ja kui me peaks mingi süsteemiga näitama kui palju portsjoneid alles on. Sööklast näiteks pakuti et väike portsjon kasutab materjale kuskil 0.8 suure portsjoni ulatuses, ehk see suhtarv peaks olema kasutaja poolt (kohvikupidaja, restoraniomanik) ise sätitav. &lt;br /&gt;
&lt;br /&gt;
Tänu sellele sai meie süsteemi alustalaks siiski Toit, millel on oma Portsjonid siis erinevate hindade ja soodustustega. Moment pole meil ka Portsjoni XML osas toodud ära seost kogusega. (Kui palju ühe portsjoni lisamine/müümine peaks toidu üldkogust muutma).&lt;br /&gt;
&lt;br /&gt;
Kommenteerida saab meil moment toitu ennast, mitte eraldi portsjonit. Isegi kui kasutajad tahavad lisada kommentaare stiilis &amp;quot;See väike supp oli tõesti väga väike&amp;quot;, ei soovi nad seda ilmselt eraldi portsjoni alla panna. Tulevikus peaks kindlasti olema ka võimalus pigem kommenteerida üldisemalt (Kohvikut ennast, söögipaiku üldse), kui spetsiifilisemalt (Väikse prae kaste lisandi kohta).&lt;br /&gt;
&lt;br /&gt;
=== XML Schema ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;Toidud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Toit&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;ToiduNimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;ToiduLiik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;OlemasolevatYhikut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;ToiduKogus&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:element name=&amp;quot;PortsjoniLiik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:element name=&amp;quot;Myygiaeg&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Sekund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:element name=&amp;quot;ToiduHind&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Eurohind&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:element name=&amp;quot;SoodustuseProtsent&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:element name=&amp;quot;SoodustuseLiik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;Kommentaarid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;Kommentaar&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Saatja&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;SaatjaNimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;SaatjaRoll&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Sisu&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Kohvikus müüdavad toidud&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Toidu Nimetus&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Toidu liik&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Veel alles&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Portsjon&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Müügiaeg&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Hind&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Soodustus&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Soodustuse liik&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Kommentaar(id)&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;Toidud/Toit&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;ToiduNimetus&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;ToiduLiik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;OlemasolevatYhikut&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;PortsjoniLiik&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Paev&amp;quot; /&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Kuu&amp;quot; /&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Aasta&amp;quot; /&amp;gt; &amp;amp;nbsp;  &lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Tund&amp;quot; /&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Minut&amp;quot; /&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Sekund&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;ToiduHind/Eurohind&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;ToiduHind/Soodustus/SoodustuseProtsent&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;ToiduHind/Soodustus/SoodustuseLiik&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;Kommentaarid/Kommentaar&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;Sisu&amp;quot; /&amp;gt;&amp;amp;nbsp;(&amp;lt;xsl:value-of select=&amp;quot;Saatja/SaatjaRoll&amp;quot; /&amp;gt;&amp;amp;nbsp;&amp;lt;xsl:value-of select=&amp;quot;Saatja/SaatjaNimi&amp;quot; /&amp;gt;)&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XSLT poolt loodud tulemus on järgnev (lisasin veel kaks toitu XML faili, siin wiki lehel on ruumi kokkuhoiuks vaid 1 toit toitude listis):&lt;br /&gt;
[[File:Xslt.jpg|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arhitektuur ==&lt;br /&gt;
&lt;br /&gt;
Süsteem on plaanis ehitada kolmekihilise arhitektuuriga ([http://en.wikipedia.org/wiki/Multitier_architecture#Three-tier_architecture Three-tier architecture]). See peaks lihtsustama süsteemi haldamist ja laiendamist tulevikus.&lt;br /&gt;
&lt;br /&gt;
[[Image:three-tier.png|thumb|center|alt=Arhitektuuri skeem.|Arhitektuuri skeem.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus I : CMS ==&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus I : Veebirakendus ==&lt;br /&gt;
&lt;br /&gt;
== Meeskonna kokkuvõttev aruanne ==&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
=== 9. aprill ===&lt;br /&gt;
Tegime rollide halduse, münüüde muutmise vormi. Meili saatmine registreerimisel. Toimus andmebaasi andmemudeli väike muutus. &lt;br /&gt;
&lt;br /&gt;
=== 30. märts ===&lt;br /&gt;
Tehtud on kohviku menüü ja kohviku kommenteerimise leht.&lt;br /&gt;
&lt;br /&gt;
=== 26. märts ===&lt;br /&gt;
Tehtud on esimesed veebiteenuse meetodid ja veebirakendusele kasutajate registreerimine.&lt;br /&gt;
&lt;br /&gt;
=== 10. märts ===&lt;br /&gt;
Väikese häki abil õnnestus kohviku kassa arvutis saada tööle üks Forms-i proovirakendus.&lt;br /&gt;
&lt;br /&gt;
=== 8. märts ===&lt;br /&gt;
Kuna kassa-aparaadis on operatsioonisüsteemiks Windows XP ja raud on 1.99 GHz, 256 RAM siis peaks saama&lt;br /&gt;
prototüübiks teha sinna peale rakenduse, mille ülesandeks menüüga tegelemine. &lt;br /&gt;
&lt;br /&gt;
=== 7. märts ===&lt;br /&gt;
Linnar Viik andis meile järgmist nõu: tuleb eristada kahte asja - see, mis peab valmis saama (&#039;&#039;must&#039;&#039;) ja see, mis oleks tore (&#039;&#039;nice to have&#039;&#039;). Valmis peab saama menüüga ekraan seinal (esialgu kasutajale prototüübi näitamiseks kasvõi näiteks PowerPoint-i abil tehtud). Alles siis kui on kasutajalt positiivne tagasiside saadud, võib edasi minna reaalse tarkvaralahenduse loomisega. Kui ka see on valmis ja kasutaja sellega rahul võib juurde mõelda &#039;&#039;nice to have&#039;&#039; asju (näiteks eelinfo järgmise päeva menüü kohta, üliõpilasesinduse sõnumite riba ja muid asju).&lt;br /&gt;
&lt;br /&gt;
Saime teada, et kui tahame, et meie loodav süsteem suhtleks IT Kohviku kassasüsteemiga, siis tuleb selle süsteemi tootjatega ühendust võtta ja nendega konsulteerida.&lt;br /&gt;
&lt;br /&gt;
=== 19.Veebruar ===&lt;br /&gt;
*Valmis XSLT fail.&lt;br /&gt;
&lt;br /&gt;
=== 9.Veebruar ===&lt;br /&gt;
* Esmane versioon XML ja XML Schemast olemas&lt;br /&gt;
* Tekkis küsimus kas XSLT faili tuleb käsitsi tekitada või automaatselt.&lt;br /&gt;
* Küsimus oli ka kas lahendasime portsjoni asja mõistlikult või oleks mõni teine lähenemine parem olnud.&lt;br /&gt;
* Küsimus, kas XML fail on liiga üle pingutatud või sobiva keerukusega&lt;br /&gt;
&lt;br /&gt;
=== 7. Veebruar ===&lt;br /&gt;
* Võtsime õppejõu poolt pakutud ideest kohe kinni, sest me eelistame teha praktilist asja, mida saab kasutada ja mille kasutamist saame ka iga päev jälgida. &lt;br /&gt;
* Esimese asjana otsustasime välja uurida mida meie &amp;quot;kliendid&amp;quot; (süsteemi tellijad) meilt ootavad. (Soovid idee punkti all)&lt;br /&gt;
* Valminud on lihtne teenusest ja klientidest koosnev süsteemi testmudel.&lt;br /&gt;
&lt;br /&gt;
[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
[[Category: Veebirakenduste loomine ASP.NET abil]]&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=26314</id>
		<title>Meeskond &quot;FoodWars&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=26314"/>
		<updated>2011-04-11T06:10:36Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Idee ==&lt;br /&gt;
Meie tiimil on plaanis teha internetipõhine söökla menüü süsteem (aluseks IT Kolledži kohvik, aga suunitlus selline, et kõik kohvikud/sööklad saaksid teha endale kasutajakonto ja hakata rakendust kasutama), kust saaks jälgida menüüd, mis sööke saab süüa, mis veel järgi on, kasutajatel on ka võimalus sööke hinnata (stiilis &amp;quot;meeldib&amp;quot;, &amp;quot;ei meeldi&amp;quot; nagu Facebook-is).&lt;br /&gt;
&lt;br /&gt;
Kohvikupidaja Teele soovid uue elektroonse süsteemi kohta:&lt;br /&gt;
&lt;br /&gt;
* elektroonilisest menüüst asju kustutada, isegi siis kui asja peaks olema teoreetiliselt alles, aga tegelikult on asi otsas.&lt;br /&gt;
* elektrikatkestuse korral jääb menüü püsima. Ta peab teadma hindu mistahes olukorras.&lt;br /&gt;
* menüül näidatakse automaatselt ka ISIC kaardi omanike soodushinnad&lt;br /&gt;
* süsteem toetab ka poole portsjoni müümist.&lt;br /&gt;
&lt;br /&gt;
Linnar Viigi soovid/visioonid uue elektroonse süsteemi kohta:&lt;br /&gt;
&lt;br /&gt;
* kõik oleks ka internetist kättesaadav, peale LCD ekraani, mis kajastab menüüd sööklas.&lt;br /&gt;
* aluseks facebook, kus siis söögid oleks nagu facebook-i alateemad.&lt;br /&gt;
* saab sööke hinnata, kommenteerida (täna oli väga maitsev praad).&lt;br /&gt;
* kasutajad saaks vaadata, mis menüüs on (ka järgmisel nädalal) ja mitu portsu veel alles on.&lt;br /&gt;
* kasutajad saaksid välja pakkuda menüüsid.&lt;br /&gt;
* erinevate söögikohtade kasutajad saaksid omavahel muljeid jagada.&lt;br /&gt;
* kuu aja aktiivsemad saavad prii lõuna.&lt;br /&gt;
* mingil ajal võib olla &amp;quot;happy hour&amp;quot; (enne sulgemist saab odavamalt).&lt;br /&gt;
* piiranguks on see, et toitu broneerida ei saa &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vaba tarkvara kasutamise võimalus&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Antud projekti puhul oleks võimalik kasutada [http://www.postgresql.org/ PostgreSQL] andmebaasi (vt. lisaks http://en.wikipedia.org/wiki/PostgreSQL ) Microsoft SQL Server&#039;i asemel. See võiks anda kasutajale võimaluse valida .NET ning [http://www.mono-project.com/ Mono] (vt. lisaks http://en.wikipedia.org/wiki/Mono_(software) ) platvormide vahel. Sel viisil oleks kliendil võimalik Microsoft&#039;i platvormi kõrval valida tõenäoliselt soodsam vaba tarkvara platvorm. Andmebaasi lõplik valik pole hetkel veel otsustatud.&lt;br /&gt;
&lt;br /&gt;
== Meeskond ja tööjaotus==&lt;br /&gt;
* Kristjan Stolin - projektijuht, suhtlus kliendiga, XML, wiki, teenuskihtide progemine, rollide halduse lehe progemine&lt;br /&gt;
* Ilmar Telga - XML, kliendiga suhtlus, wiki, teenuskihtide progemine, lõpprakenduste menüüd, login&lt;br /&gt;
* Rauno Rüga - XML, XSLT, andmebaasi loomine, wiki, mobiilirakendus&lt;br /&gt;
* Lauri Kermas - teenuskihtide ehitamine, wiki, login, kommenteerimise võimaluste progemine&lt;br /&gt;
&lt;br /&gt;
== XML Fail ==&lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Toidud&amp;gt;&lt;br /&gt;
  &amp;lt;Toit&amp;gt;&lt;br /&gt;
    &amp;lt;ToiduNimetus&amp;gt;Viineri kaste&amp;lt;/ToiduNimetus&amp;gt;&lt;br /&gt;
    &amp;lt;ToiduLiik&amp;gt;Praad&amp;lt;/ToiduLiik&amp;gt;&lt;br /&gt;
    &amp;lt;OlemasolevatYhikut&amp;gt;5&amp;lt;/OlemasolevatYhikut&amp;gt;&lt;br /&gt;
    &amp;lt;ToiduKogus&amp;gt;&lt;br /&gt;
      &amp;lt;Portsjon&amp;gt;&lt;br /&gt;
        &amp;lt;PortsjoniLiik&amp;gt;Poolportsjon&amp;lt;/PortsjoniLiik&amp;gt;&lt;br /&gt;
        &amp;lt;Myygiaeg&amp;gt;&lt;br /&gt;
          &amp;lt;Aasta&amp;gt;2011&amp;lt;/Aasta&amp;gt;&lt;br /&gt;
          &amp;lt;Kuu&amp;gt;1&amp;lt;/Kuu&amp;gt;&lt;br /&gt;
          &amp;lt;Paev&amp;gt;9&amp;lt;/Paev&amp;gt;&lt;br /&gt;
          &amp;lt;Tund&amp;gt;15&amp;lt;/Tund&amp;gt;&lt;br /&gt;
          &amp;lt;Minut&amp;gt;07&amp;lt;/Minut&amp;gt;&lt;br /&gt;
          &amp;lt;Sekund&amp;gt;23&amp;lt;/Sekund&amp;gt;&lt;br /&gt;
        &amp;lt;/Myygiaeg&amp;gt;        &lt;br /&gt;
        &amp;lt;ToiduHind&amp;gt;&lt;br /&gt;
          &amp;lt;Eurohind&amp;gt;2.15&amp;lt;/Eurohind&amp;gt;&lt;br /&gt;
          &amp;lt;Soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseProtsent&amp;gt;5%&amp;lt;/SoodustuseProtsent&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseLiik&amp;gt;ISIC kaart&amp;lt;/SoodustuseLiik&amp;gt;&lt;br /&gt;
          &amp;lt;/Soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/ToiduHind&amp;gt;&lt;br /&gt;
      &amp;lt;/Portsjon&amp;gt;&lt;br /&gt;
      &amp;lt;Portsjon&amp;gt;&lt;br /&gt;
        &amp;lt;Myygiaeg&amp;gt;&lt;br /&gt;
          &amp;lt;Aasta&amp;gt;0&amp;lt;/Aasta&amp;gt;&lt;br /&gt;
          &amp;lt;Kuu&amp;gt;0&amp;lt;/Kuu&amp;gt;&lt;br /&gt;
          &amp;lt;Paev&amp;gt;0&amp;lt;/Paev&amp;gt;&lt;br /&gt;
          &amp;lt;Tund&amp;gt;00&amp;lt;/Tund&amp;gt;&lt;br /&gt;
          &amp;lt;Minut&amp;gt;00&amp;lt;/Minut&amp;gt;&lt;br /&gt;
          &amp;lt;Sekund&amp;gt;00&amp;lt;/Sekund&amp;gt;&lt;br /&gt;
        &amp;lt;/Myygiaeg&amp;gt;&lt;br /&gt;
        &amp;lt;PortsjoniLiik&amp;gt;Täisportsjon&amp;lt;/PortsjoniLiik&amp;gt;&lt;br /&gt;
        &amp;lt;ToiduHind&amp;gt;&lt;br /&gt;
          &amp;lt;Eurohind&amp;gt;2.80&amp;lt;/Eurohind&amp;gt;&lt;br /&gt;
          &amp;lt;Soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseProtsent&amp;gt;5%&amp;lt;/SoodustuseProtsent&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseLiik&amp;gt;ISIC kaart&amp;lt;/SoodustuseLiik&amp;gt;&lt;br /&gt;
          &amp;lt;/Soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/ToiduHind&amp;gt;&lt;br /&gt;
      &amp;lt;/Portsjon&amp;gt;&lt;br /&gt;
    &amp;lt;/ToiduKogus&amp;gt;&lt;br /&gt;
    &amp;lt;Kommentaarid&amp;gt;&lt;br /&gt;
      &amp;lt;Kommentaar&amp;gt;&lt;br /&gt;
        &amp;lt;Saatja&amp;gt;&lt;br /&gt;
          &amp;lt;SaatjaNimi&amp;gt;Kristjan&amp;lt;/SaatjaNimi&amp;gt;&lt;br /&gt;
          &amp;lt;SaatjaRoll&amp;gt;Tudeng&amp;lt;/SaatjaRoll&amp;gt;&lt;br /&gt;
        &amp;lt;/Saatja&amp;gt;&lt;br /&gt;
        &amp;lt;Sisu&amp;gt;Minu lemmik toit ! Kui algebra tund ei hakkaks, sööks veel 5 portsjonit.&amp;lt;/Sisu&amp;gt;&lt;br /&gt;
      &amp;lt;/Kommentaar&amp;gt;&lt;br /&gt;
    &amp;lt;/Kommentaarid&amp;gt;&lt;br /&gt;
  &amp;lt;/Toit&amp;gt;&lt;br /&gt;
&amp;lt;/Toidud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kommentaariks siis niipalju, et meie näide on ilma kohviku osata, selleks et näidet mitte liiga suureks ajada.&lt;br /&gt;
&lt;br /&gt;
Ka on meil moment puudu ID väljad, mis on igasugu andmebaasiga suhtlemiseks hädavajalikud, samas siin näidises palju juurde ei anna.&lt;br /&gt;
&lt;br /&gt;
Asja tegemisel avastasime, et põhiliseks arusaamatuse kohaks on toitude erinevad kogused (ehk siis pool portsjonit, suur / väike ja muud võrdlevad ühikud). Esimese võimalusena kaalusime teha lihtsalt täiesti eraldi toidud kõige kohta, stiilis &amp;quot;väike viineripraad&amp;quot; ja &amp;quot;suur viineripraad&amp;quot;. Kahjuks see variant ei kõlbaks eriti hästi, kuna need erinevad portsjonid kasutavad ikkagi samu materjale ja kui me peaks mingi süsteemiga näitama kui palju portsjoneid alles on. Sööklast näiteks pakuti et väike portsjon kasutab materjale kuskil 0.8 suure portsjoni ulatuses, ehk see suhtarv peaks olema kasutaja poolt (kohvikupidaja, restoraniomanik) ise sätitav. &lt;br /&gt;
&lt;br /&gt;
Tänu sellele sai meie süsteemi alustalaks siiski Toit, millel on oma Portsjonid siis erinevate hindade ja soodustustega. Moment pole meil ka Portsjoni XML osas toodud ära seost kogusega. (Kui palju ühe portsjoni lisamine/müümine peaks toidu üldkogust muutma).&lt;br /&gt;
&lt;br /&gt;
Kommenteerida saab meil moment toitu ennast, mitte eraldi portsjonit. Isegi kui kasutajad tahavad lisada kommentaare stiilis &amp;quot;See väike supp oli tõesti väga väike&amp;quot;, ei soovi nad seda ilmselt eraldi portsjoni alla panna. Tulevikus peaks kindlasti olema ka võimalus pigem kommenteerida üldisemalt (Kohvikut ennast, söögipaiku üldse), kui spetsiifilisemalt (Väikse prae kaste lisandi kohta).&lt;br /&gt;
&lt;br /&gt;
=== XML Schema ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;Toidud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Toit&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;ToiduNimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;ToiduLiik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;OlemasolevatYhikut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;ToiduKogus&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:element name=&amp;quot;PortsjoniLiik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:element name=&amp;quot;Myygiaeg&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Sekund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:element name=&amp;quot;ToiduHind&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Eurohind&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:element name=&amp;quot;SoodustuseProtsent&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:element name=&amp;quot;SoodustuseLiik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;Kommentaarid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;Kommentaar&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Saatja&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;SaatjaNimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;SaatjaRoll&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Sisu&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Kohvikus müüdavad toidud&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Toidu Nimetus&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Toidu liik&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Veel alles&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Portsjon&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Müügiaeg&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Hind&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Soodustus&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Soodustuse liik&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Kommentaar(id)&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;Toidud/Toit&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;ToiduNimetus&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;ToiduLiik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;OlemasolevatYhikut&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;PortsjoniLiik&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Paev&amp;quot; /&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Kuu&amp;quot; /&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Aasta&amp;quot; /&amp;gt; &amp;amp;nbsp;  &lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Tund&amp;quot; /&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Minut&amp;quot; /&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Sekund&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;ToiduHind/Eurohind&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;ToiduHind/Soodustus/SoodustuseProtsent&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;ToiduHind/Soodustus/SoodustuseLiik&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;Kommentaarid/Kommentaar&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;Sisu&amp;quot; /&amp;gt;&amp;amp;nbsp;(&amp;lt;xsl:value-of select=&amp;quot;Saatja/SaatjaRoll&amp;quot; /&amp;gt;&amp;amp;nbsp;&amp;lt;xsl:value-of select=&amp;quot;Saatja/SaatjaNimi&amp;quot; /&amp;gt;)&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XSLT poolt loodud tulemus on järgnev (lisasin veel kaks toitu XML faili, siin wiki lehel on ruumi kokkuhoiuks vaid 1 toit toitude listis):&lt;br /&gt;
[[File:Xslt.jpg|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arhitektuur ==&lt;br /&gt;
&lt;br /&gt;
Süsteem on plaanis ehitada kolmekihilise arhitektuuriga ([http://en.wikipedia.org/wiki/Multitier_architecture#Three-tier_architecture Three-tier architecture]). See peaks lihtsustama süsteemi haldamist ja laiendamist tulevikus.&lt;br /&gt;
&lt;br /&gt;
[[Image:three-tier.png|thumb|center|alt=Arhitektuuri skeem.|Arhitektuuri skeem.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus I : CMS ==&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus I : Veebirakendus ==&lt;br /&gt;
&lt;br /&gt;
== Meeskonna kokkuvõttev aruanne ==&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
=== 9. aprill ===&lt;br /&gt;
Tegime rollide halduse, münüüde muutmise vormi. Meili saatmine registreerimisel. Toimus andmebaasi andmemudeli väike muutus. &lt;br /&gt;
&lt;br /&gt;
=== 30. märts ===&lt;br /&gt;
Tehtud on kohviku menüü ja kohviku kommenteerimise leht.&lt;br /&gt;
&lt;br /&gt;
=== 26. märts ===&lt;br /&gt;
Tehtud on esimesed veebiteenuse meetodid ja veebirakendusele kasutajate registreerimine.&lt;br /&gt;
&lt;br /&gt;
=== 10. märts ===&lt;br /&gt;
Väikese häki abil õnnestus kohviku kassa arvutis saada tööle üks Forms-i proovirakendus.&lt;br /&gt;
&lt;br /&gt;
=== 8. märts ===&lt;br /&gt;
Kuna kassa-aparaadis on operatsioonisüsteemiks Windows XP ja raud on 1.99 GHz, 256 RAM siis peaks saama&lt;br /&gt;
prototüübiks teha sinna peale rakenduse, mille ülesandeks menüüga tegelemine. &lt;br /&gt;
&lt;br /&gt;
=== 7. märts ===&lt;br /&gt;
Linnar Viik andis meile järgmist nõu: tuleb eristada kahte asja - see, mis peab valmis saama (&#039;&#039;must&#039;&#039;) ja see, mis oleks tore (&#039;&#039;nice to have&#039;&#039;). Valmis peab saama menüüga ekraan seinal (esialgu kasutajale prototüübi näitamiseks kasvõi näiteks PowerPoint-i abil tehtud). Alles siis kui on kasutajalt positiivne tagasiside saadud, võib edasi minna reaalse tarkvaralahenduse loomisega. Kui ka see on valmis ja kasutaja sellega rahul võib juurde mõelda &#039;&#039;nice to have&#039;&#039; asju (näiteks eelinfo järgmise päeva menüü kohta, üliõpilasesinduse sõnumite riba ja muid asju).&lt;br /&gt;
&lt;br /&gt;
Saime teada, et kui tahame, et meie loodav süsteem suhtleks IT Kohviku kassasüsteemiga, siis tuleb selle süsteemi tootjatega ühendust võtta ja nendega konsulteerida.&lt;br /&gt;
&lt;br /&gt;
=== 19.Veebruar ===&lt;br /&gt;
*Valmis XSLT fail.&lt;br /&gt;
&lt;br /&gt;
=== 9.Veebruar ===&lt;br /&gt;
* Esmane versioon XML ja XML Schemast olemas&lt;br /&gt;
* Tekkis küsimus kas XSLT faili tuleb käsitsi tekitada või automaatselt.&lt;br /&gt;
* Küsimus oli ka kas lahendasime portsjoni asja mõistlikult või oleks mõni teine lähenemine parem olnud.&lt;br /&gt;
* Küsimus, kas XML fail on liiga üle pingutatud või sobiva keerukusega&lt;br /&gt;
&lt;br /&gt;
=== 7. Veebruar ===&lt;br /&gt;
* Võtsime õppejõu poolt pakutud ideest kohe kinni, sest me eelistame teha praktilist asja, mida saab kasutada ja mille kasutamist saame ka iga päev jälgida. &lt;br /&gt;
* Esimese asjana otsustasime välja uurida mida meie &amp;quot;kliendid&amp;quot; (süsteemi tellijad) meilt ootavad. (Soovid idee punkti all)&lt;br /&gt;
* Valminud on lihtne teenusest ja klientidest koosnev süsteemi testmudel.&lt;br /&gt;
&lt;br /&gt;
[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
[[Category: Veebirakenduste loomine ASP.NET abil]]&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=26313</id>
		<title>Meeskond &quot;FoodWars&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=26313"/>
		<updated>2011-04-11T06:09:05Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Idee ==&lt;br /&gt;
Meie tiimil on plaanis teha internetipõhine söökla menüü süsteem (aluseks IT Kolledži kohvik, aga suunitlus selline, et kõik kohvikud/sööklad saaksid teha endale kasutajakonto ja hakata rakendust kasutama), kust saaks jälgida menüüd, mis sööke saab süüa, mis veel järgi on, kasutajatel on ka võimalus sööke hinnata (stiilis &amp;quot;meeldib&amp;quot;, &amp;quot;ei meeldi&amp;quot; nagu Facebook-is).&lt;br /&gt;
&lt;br /&gt;
Kohvikupidaja Teele soovid uue elektroonse süsteemi kohta:&lt;br /&gt;
&lt;br /&gt;
* elektroonilisest menüüst asju kustutada, isegi siis kui asja peaks olema teoreetiliselt alles, aga tegelikult on asi otsas.&lt;br /&gt;
* elektrikatkestuse korral jääb menüü püsima. Ta peab teadma hindu mistahes olukorras.&lt;br /&gt;
* menüül näidatakse automaatselt ka ISIC kaardi omanike soodushinnad&lt;br /&gt;
* süsteem toetab ka poole portsjoni müümist.&lt;br /&gt;
&lt;br /&gt;
Linnar Viigi soovid/visioonid uue elektroonse süsteemi kohta:&lt;br /&gt;
&lt;br /&gt;
* kõik oleks ka internetist kättesaadav, peale LCD ekraani, mis kajastab menüüd sööklas.&lt;br /&gt;
* aluseks facebook, kus siis söögid oleks nagu facebook-i alateemad.&lt;br /&gt;
* saab sööke hinnata, kommenteerida (täna oli väga maitsev praad).&lt;br /&gt;
* kasutajad saaks vaadata, mis menüüs on (ka järgmisel nädalal) ja mitu portsu veel alles on.&lt;br /&gt;
* kasutajad saaksid välja pakkuda menüüsid.&lt;br /&gt;
* erinevate söögikohtade kasutajad saaksid omavahel muljeid jagada.&lt;br /&gt;
* kuu aja aktiivsemad saavad prii lõuna.&lt;br /&gt;
* mingil ajal võib olla &amp;quot;happy hour&amp;quot; (enne sulgemist saab odavamalt).&lt;br /&gt;
* piiranguks on see, et toitu broneerida ei saa &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vaba tarkvara kasutamise võimalus&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Antud projekti puhul oleks võimalik kasutada [http://www.postgresql.org/ PostgreSQL] andmebaasi (vt. lisaks http://en.wikipedia.org/wiki/PostgreSQL ) Microsoft SQL Server&#039;i asemel. See võiks anda kasutajale võimaluse valida .NET ning [http://www.mono-project.com/ Mono] (vt. lisaks http://en.wikipedia.org/wiki/Mono_(software) ) platvormide vahel. Sel viisil oleks kliendil võimalik Microsoft&#039;i platvormi kõrval valida tõenäoliselt soodsam vaba tarkvara platvorm. Andmebaasi lõplik valik pole hetkel veel otsustatud.&lt;br /&gt;
&lt;br /&gt;
== Meeskond ja tööjaotus==&lt;br /&gt;
* Kristjan Stolin - projektijuht, suhtlus kliendiga, XML, wiki, teenuskihtide progemine, accountide/admini lehe progemine&lt;br /&gt;
* Ilmar Telga - XML, kliendiga suhtlus, wiki, teenuskihtide progemine, lõpprakenduste menüüd, login&lt;br /&gt;
* Rauno Rüga - XML, XSLT, andmebaasi loomine, wiki, mobiilirakendus&lt;br /&gt;
* Lauri Kermas - teenuskihtide ehitamine, wiki, login, kommenteerimise võimaluste progemine&lt;br /&gt;
&lt;br /&gt;
== XML Fail ==&lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Toidud&amp;gt;&lt;br /&gt;
  &amp;lt;Toit&amp;gt;&lt;br /&gt;
    &amp;lt;ToiduNimetus&amp;gt;Viineri kaste&amp;lt;/ToiduNimetus&amp;gt;&lt;br /&gt;
    &amp;lt;ToiduLiik&amp;gt;Praad&amp;lt;/ToiduLiik&amp;gt;&lt;br /&gt;
    &amp;lt;OlemasolevatYhikut&amp;gt;5&amp;lt;/OlemasolevatYhikut&amp;gt;&lt;br /&gt;
    &amp;lt;ToiduKogus&amp;gt;&lt;br /&gt;
      &amp;lt;Portsjon&amp;gt;&lt;br /&gt;
        &amp;lt;PortsjoniLiik&amp;gt;Poolportsjon&amp;lt;/PortsjoniLiik&amp;gt;&lt;br /&gt;
        &amp;lt;Myygiaeg&amp;gt;&lt;br /&gt;
          &amp;lt;Aasta&amp;gt;2011&amp;lt;/Aasta&amp;gt;&lt;br /&gt;
          &amp;lt;Kuu&amp;gt;1&amp;lt;/Kuu&amp;gt;&lt;br /&gt;
          &amp;lt;Paev&amp;gt;9&amp;lt;/Paev&amp;gt;&lt;br /&gt;
          &amp;lt;Tund&amp;gt;15&amp;lt;/Tund&amp;gt;&lt;br /&gt;
          &amp;lt;Minut&amp;gt;07&amp;lt;/Minut&amp;gt;&lt;br /&gt;
          &amp;lt;Sekund&amp;gt;23&amp;lt;/Sekund&amp;gt;&lt;br /&gt;
        &amp;lt;/Myygiaeg&amp;gt;        &lt;br /&gt;
        &amp;lt;ToiduHind&amp;gt;&lt;br /&gt;
          &amp;lt;Eurohind&amp;gt;2.15&amp;lt;/Eurohind&amp;gt;&lt;br /&gt;
          &amp;lt;Soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseProtsent&amp;gt;5%&amp;lt;/SoodustuseProtsent&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseLiik&amp;gt;ISIC kaart&amp;lt;/SoodustuseLiik&amp;gt;&lt;br /&gt;
          &amp;lt;/Soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/ToiduHind&amp;gt;&lt;br /&gt;
      &amp;lt;/Portsjon&amp;gt;&lt;br /&gt;
      &amp;lt;Portsjon&amp;gt;&lt;br /&gt;
        &amp;lt;Myygiaeg&amp;gt;&lt;br /&gt;
          &amp;lt;Aasta&amp;gt;0&amp;lt;/Aasta&amp;gt;&lt;br /&gt;
          &amp;lt;Kuu&amp;gt;0&amp;lt;/Kuu&amp;gt;&lt;br /&gt;
          &amp;lt;Paev&amp;gt;0&amp;lt;/Paev&amp;gt;&lt;br /&gt;
          &amp;lt;Tund&amp;gt;00&amp;lt;/Tund&amp;gt;&lt;br /&gt;
          &amp;lt;Minut&amp;gt;00&amp;lt;/Minut&amp;gt;&lt;br /&gt;
          &amp;lt;Sekund&amp;gt;00&amp;lt;/Sekund&amp;gt;&lt;br /&gt;
        &amp;lt;/Myygiaeg&amp;gt;&lt;br /&gt;
        &amp;lt;PortsjoniLiik&amp;gt;Täisportsjon&amp;lt;/PortsjoniLiik&amp;gt;&lt;br /&gt;
        &amp;lt;ToiduHind&amp;gt;&lt;br /&gt;
          &amp;lt;Eurohind&amp;gt;2.80&amp;lt;/Eurohind&amp;gt;&lt;br /&gt;
          &amp;lt;Soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseProtsent&amp;gt;5%&amp;lt;/SoodustuseProtsent&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseLiik&amp;gt;ISIC kaart&amp;lt;/SoodustuseLiik&amp;gt;&lt;br /&gt;
          &amp;lt;/Soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/ToiduHind&amp;gt;&lt;br /&gt;
      &amp;lt;/Portsjon&amp;gt;&lt;br /&gt;
    &amp;lt;/ToiduKogus&amp;gt;&lt;br /&gt;
    &amp;lt;Kommentaarid&amp;gt;&lt;br /&gt;
      &amp;lt;Kommentaar&amp;gt;&lt;br /&gt;
        &amp;lt;Saatja&amp;gt;&lt;br /&gt;
          &amp;lt;SaatjaNimi&amp;gt;Kristjan&amp;lt;/SaatjaNimi&amp;gt;&lt;br /&gt;
          &amp;lt;SaatjaRoll&amp;gt;Tudeng&amp;lt;/SaatjaRoll&amp;gt;&lt;br /&gt;
        &amp;lt;/Saatja&amp;gt;&lt;br /&gt;
        &amp;lt;Sisu&amp;gt;Minu lemmik toit ! Kui algebra tund ei hakkaks, sööks veel 5 portsjonit.&amp;lt;/Sisu&amp;gt;&lt;br /&gt;
      &amp;lt;/Kommentaar&amp;gt;&lt;br /&gt;
    &amp;lt;/Kommentaarid&amp;gt;&lt;br /&gt;
  &amp;lt;/Toit&amp;gt;&lt;br /&gt;
&amp;lt;/Toidud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kommentaariks siis niipalju, et meie näide on ilma kohviku osata, selleks et näidet mitte liiga suureks ajada.&lt;br /&gt;
&lt;br /&gt;
Ka on meil moment puudu ID väljad, mis on igasugu andmebaasiga suhtlemiseks hädavajalikud, samas siin näidises palju juurde ei anna.&lt;br /&gt;
&lt;br /&gt;
Asja tegemisel avastasime, et põhiliseks arusaamatuse kohaks on toitude erinevad kogused (ehk siis pool portsjonit, suur / väike ja muud võrdlevad ühikud). Esimese võimalusena kaalusime teha lihtsalt täiesti eraldi toidud kõige kohta, stiilis &amp;quot;väike viineripraad&amp;quot; ja &amp;quot;suur viineripraad&amp;quot;. Kahjuks see variant ei kõlbaks eriti hästi, kuna need erinevad portsjonid kasutavad ikkagi samu materjale ja kui me peaks mingi süsteemiga näitama kui palju portsjoneid alles on. Sööklast näiteks pakuti et väike portsjon kasutab materjale kuskil 0.8 suure portsjoni ulatuses, ehk see suhtarv peaks olema kasutaja poolt (kohvikupidaja, restoraniomanik) ise sätitav. &lt;br /&gt;
&lt;br /&gt;
Tänu sellele sai meie süsteemi alustalaks siiski Toit, millel on oma Portsjonid siis erinevate hindade ja soodustustega. Moment pole meil ka Portsjoni XML osas toodud ära seost kogusega. (Kui palju ühe portsjoni lisamine/müümine peaks toidu üldkogust muutma).&lt;br /&gt;
&lt;br /&gt;
Kommenteerida saab meil moment toitu ennast, mitte eraldi portsjonit. Isegi kui kasutajad tahavad lisada kommentaare stiilis &amp;quot;See väike supp oli tõesti väga väike&amp;quot;, ei soovi nad seda ilmselt eraldi portsjoni alla panna. Tulevikus peaks kindlasti olema ka võimalus pigem kommenteerida üldisemalt (Kohvikut ennast, söögipaiku üldse), kui spetsiifilisemalt (Väikse prae kaste lisandi kohta).&lt;br /&gt;
&lt;br /&gt;
=== XML Schema ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;Toidud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Toit&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;ToiduNimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;ToiduLiik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;OlemasolevatYhikut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;ToiduKogus&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:element name=&amp;quot;PortsjoniLiik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:element name=&amp;quot;Myygiaeg&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Sekund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:element name=&amp;quot;ToiduHind&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Eurohind&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:element name=&amp;quot;SoodustuseProtsent&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:element name=&amp;quot;SoodustuseLiik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;Kommentaarid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;Kommentaar&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Saatja&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;SaatjaNimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;SaatjaRoll&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Sisu&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Kohvikus müüdavad toidud&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Toidu Nimetus&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Toidu liik&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Veel alles&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Portsjon&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Müügiaeg&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Hind&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Soodustus&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Soodustuse liik&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Kommentaar(id)&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;Toidud/Toit&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;ToiduNimetus&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;ToiduLiik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;OlemasolevatYhikut&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;PortsjoniLiik&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Paev&amp;quot; /&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Kuu&amp;quot; /&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Aasta&amp;quot; /&amp;gt; &amp;amp;nbsp;  &lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Tund&amp;quot; /&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Minut&amp;quot; /&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Sekund&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;ToiduHind/Eurohind&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;ToiduHind/Soodustus/SoodustuseProtsent&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;ToiduHind/Soodustus/SoodustuseLiik&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;Kommentaarid/Kommentaar&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;Sisu&amp;quot; /&amp;gt;&amp;amp;nbsp;(&amp;lt;xsl:value-of select=&amp;quot;Saatja/SaatjaRoll&amp;quot; /&amp;gt;&amp;amp;nbsp;&amp;lt;xsl:value-of select=&amp;quot;Saatja/SaatjaNimi&amp;quot; /&amp;gt;)&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XSLT poolt loodud tulemus on järgnev (lisasin veel kaks toitu XML faili, siin wiki lehel on ruumi kokkuhoiuks vaid 1 toit toitude listis):&lt;br /&gt;
[[File:Xslt.jpg|1200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arhitektuur ==&lt;br /&gt;
&lt;br /&gt;
Süsteem on plaanis ehitada kolmekihilise arhitektuuriga ([http://en.wikipedia.org/wiki/Multitier_architecture#Three-tier_architecture Three-tier architecture]). See peaks lihtsustama süsteemi haldamist ja laiendamist tulevikus.&lt;br /&gt;
&lt;br /&gt;
[[Image:three-tier.png|thumb|center|alt=Arhitektuuri skeem.|Arhitektuuri skeem.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus I : CMS ==&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus I : Veebirakendus ==&lt;br /&gt;
&lt;br /&gt;
== Meeskonna kokkuvõttev aruanne ==&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
=== 9. aprill ===&lt;br /&gt;
Tegime rollide halduse, münüüde muutmise vormi. Meili saatmine registreerimisel. Toimus andmebaasi andmemudeli väike muutus. &lt;br /&gt;
&lt;br /&gt;
=== 30. märts ===&lt;br /&gt;
Tehtud on kohviku menüü ja kohviku kommenteerimise leht.&lt;br /&gt;
&lt;br /&gt;
=== 26. märts ===&lt;br /&gt;
Tehtud on esimesed veebiteenuse meetodid ja veebirakendusele kasutajate registreerimine.&lt;br /&gt;
&lt;br /&gt;
=== 10. märts ===&lt;br /&gt;
Väikese häki abil õnnestus kohviku kassa arvutis saada tööle üks Forms-i proovirakendus.&lt;br /&gt;
&lt;br /&gt;
=== 8. märts ===&lt;br /&gt;
Kuna kassa-aparaadis on operatsioonisüsteemiks Windows XP ja raud on 1.99 GHz, 256 RAM siis peaks saama&lt;br /&gt;
prototüübiks teha sinna peale rakenduse, mille ülesandeks menüüga tegelemine. &lt;br /&gt;
&lt;br /&gt;
=== 7. märts ===&lt;br /&gt;
Linnar Viik andis meile järgmist nõu: tuleb eristada kahte asja - see, mis peab valmis saama (&#039;&#039;must&#039;&#039;) ja see, mis oleks tore (&#039;&#039;nice to have&#039;&#039;). Valmis peab saama menüüga ekraan seinal (esialgu kasutajale prototüübi näitamiseks kasvõi näiteks PowerPoint-i abil tehtud). Alles siis kui on kasutajalt positiivne tagasiside saadud, võib edasi minna reaalse tarkvaralahenduse loomisega. Kui ka see on valmis ja kasutaja sellega rahul võib juurde mõelda &#039;&#039;nice to have&#039;&#039; asju (näiteks eelinfo järgmise päeva menüü kohta, üliõpilasesinduse sõnumite riba ja muid asju).&lt;br /&gt;
&lt;br /&gt;
Saime teada, et kui tahame, et meie loodav süsteem suhtleks IT Kohviku kassasüsteemiga, siis tuleb selle süsteemi tootjatega ühendust võtta ja nendega konsulteerida.&lt;br /&gt;
&lt;br /&gt;
=== 19.Veebruar ===&lt;br /&gt;
*Valmis XSLT fail.&lt;br /&gt;
&lt;br /&gt;
=== 9.Veebruar ===&lt;br /&gt;
* Esmane versioon XML ja XML Schemast olemas&lt;br /&gt;
* Tekkis küsimus kas XSLT faili tuleb käsitsi tekitada või automaatselt.&lt;br /&gt;
* Küsimus oli ka kas lahendasime portsjoni asja mõistlikult või oleks mõni teine lähenemine parem olnud.&lt;br /&gt;
* Küsimus, kas XML fail on liiga üle pingutatud või sobiva keerukusega&lt;br /&gt;
&lt;br /&gt;
=== 7. Veebruar ===&lt;br /&gt;
* Võtsime õppejõu poolt pakutud ideest kohe kinni, sest me eelistame teha praktilist asja, mida saab kasutada ja mille kasutamist saame ka iga päev jälgida. &lt;br /&gt;
* Esimese asjana otsustasime välja uurida mida meie &amp;quot;kliendid&amp;quot; (süsteemi tellijad) meilt ootavad. (Soovid idee punkti all)&lt;br /&gt;
* Valminud on lihtne teenusest ja klientidest koosnev süsteemi testmudel.&lt;br /&gt;
&lt;br /&gt;
[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
[[Category: Veebirakenduste loomine ASP.NET abil]]&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Tact%22&amp;diff=23486</id>
		<title>Talk:Meeskond &quot;Tact&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Tact%22&amp;diff=23486"/>
		<updated>2011-03-04T14:53:05Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: Created page with &amp;#039;XML arvustus:  Selge ja arusaadav teenus, inimeste kontaktandmeid automaatselt saada. XML ehitus on ok, samas asja saab ka veidi  teisiti lahendada.. panna nii telefonid, aadress…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XML arvustus:&lt;br /&gt;
&lt;br /&gt;
Selge ja arusaadav teenus, inimeste kontaktandmeid automaatselt saada. XML ehitus on ok, samas asja saab ka veidi &lt;br /&gt;
teisiti lahendada.. panna nii telefonid, aadressid, emailid ja ka sotsiaalvõrgustiku kontod ühe suure &amp;quot;Kontaktid&amp;quot; lahtri alla. Need mis siis olemas on, oleks näha. &lt;br /&gt;
&lt;br /&gt;
Selge on see, et team &amp;quot;Tact&amp;quot; valdab XML formaati küll.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:Kstolin|Kstolin]] 16:53, 4 March 2011 (EET) Kristjan Stolin&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=23333</id>
		<title>Meeskond &quot;FoodWars&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=23333"/>
		<updated>2011-02-22T18:18:10Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: /* XML */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
Meie tiimil on plaanis teha internetipõhine söökla menüü süsteem (aluseks IT Kolledži kohvik, aga suunitlus selline, et kõik kohvikud/sööklad saaksid teha endale kasutajakonto ja hakata rakendust kasutama), kust saaks jälgida menüüd, mis sööke saab süüa, mis veel järgi on, kasutajatel on ka võimalus sööke hinnata (stiilis &amp;quot;meeldib&amp;quot;, &amp;quot;ei meeldi&amp;quot; nagu Facebook-is).&lt;br /&gt;
&lt;br /&gt;
Kohvikupidaja Teele soovid uue elektroonse süsteemi kohta:&lt;br /&gt;
&lt;br /&gt;
* elektroonilisest menüüst asju kustutada, isegi siis kui asja peaks olema teoreetiliselt alles, aga tegelikult on asi otsas.&lt;br /&gt;
* elektrikatkestuse korral jääb menüü püsima. Ta peab teadma hindu mistahes olukorras.&lt;br /&gt;
* menüül näidatakse automaatselt ka ISIC kaardi omanike soodushinnad&lt;br /&gt;
* süsteem toetab ka poole portsjoni müümist.&lt;br /&gt;
&lt;br /&gt;
Linnar Viigi soovid/visioonid uue elektroonse süsteemi kohta:&lt;br /&gt;
&lt;br /&gt;
* kõik oleks ka internetist kättesaadav, peale LCD ekraani, mis kajastab menüüd sööklas.&lt;br /&gt;
* aluseks facebook, kus siis söögid oleks nagu facebook-i alateemad.&lt;br /&gt;
* saab sööke hinnata, kommenteerida (täna oli väga maitsev praad).&lt;br /&gt;
* kasutajad saaks vaadata, mis menüüs on (ka järgmisel nädalal) ja mitu portsu veel alles on.&lt;br /&gt;
* kasutajad saaksid välja pakkuda menüüsid.&lt;br /&gt;
* erinevate söögikohtade kasutajad saaksid omavahel muljeid jagada.&lt;br /&gt;
* kuu aja aktiivsemad saavad prii lõuna.&lt;br /&gt;
* mingil ajal võib olla &amp;quot;happy hour&amp;quot; (enne sulgemist saab odavamalt).&lt;br /&gt;
* piiranguks on see, et toitu broneerida ei saa &lt;br /&gt;
&lt;br /&gt;
=== Vaba tarkvara kasutamise võimalus ===&lt;br /&gt;
&lt;br /&gt;
Antud projekti puhul oleks võimalik kasutada [http://www.postgresql.org/ PostgreSQL] andmebaasi (vt. lisaks http://en.wikipedia.org/wiki/PostgreSQL ) Microsoft SQL Server&#039;i asemel. See võiks anda kasutajale võimaluse valida .NET ning [http://www.mono-project.com/ Mono] (vt. lisaks http://en.wikipedia.org/wiki/Mono_(software) ) platvormide vahel. Sel viisil oleks kliendil võimalik Microsoft&#039;i platvormi kõrval valida tõenäoliselt soodsam vaba tarkvara platvorm. Andmebaasi lõplik valik pole hetkel veel otsustatud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Kristjan Stolin&lt;br /&gt;
* Ilmar Telga&lt;br /&gt;
* Rauno Rüga&lt;br /&gt;
* Lauri Kermas&lt;br /&gt;
&lt;br /&gt;
== XML Fail ==&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Toidud&amp;gt;&lt;br /&gt;
  &amp;lt;Toit&amp;gt;&lt;br /&gt;
    &amp;lt;ToiduNimetus&amp;gt;Viineri kaste&amp;lt;/ToiduNimetus&amp;gt;&lt;br /&gt;
    &amp;lt;ToiduLiik&amp;gt;Praad&amp;lt;/ToiduLiik&amp;gt;&lt;br /&gt;
    &amp;lt;OlemasolevatYhikut&amp;gt;5&amp;lt;/OlemasolevatYhikut&amp;gt;&lt;br /&gt;
    &amp;lt;ToiduKogus&amp;gt;&lt;br /&gt;
      &amp;lt;Portsjon&amp;gt;&lt;br /&gt;
        &amp;lt;PortsjoniLiik&amp;gt;Poolportsjon&amp;lt;/PortsjoniLiik&amp;gt;&lt;br /&gt;
        &amp;lt;Myygiaeg&amp;gt;&lt;br /&gt;
          &amp;lt;Aasta&amp;gt;2011&amp;lt;/Aasta&amp;gt;&lt;br /&gt;
          &amp;lt;Kuu&amp;gt;1&amp;lt;/Kuu&amp;gt;&lt;br /&gt;
          &amp;lt;Paev&amp;gt;9&amp;lt;/Paev&amp;gt;&lt;br /&gt;
          &amp;lt;Tund&amp;gt;15&amp;lt;/Tund&amp;gt;&lt;br /&gt;
          &amp;lt;Minut&amp;gt;07&amp;lt;/Minut&amp;gt;&lt;br /&gt;
          &amp;lt;Sekund&amp;gt;23&amp;lt;/Sekund&amp;gt;&lt;br /&gt;
        &amp;lt;/Myygiaeg&amp;gt;        &lt;br /&gt;
        &amp;lt;ToiduHind&amp;gt;&lt;br /&gt;
          &amp;lt;Eurohind&amp;gt;2.15&amp;lt;/Eurohind&amp;gt;&lt;br /&gt;
          &amp;lt;Soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseProtsent&amp;gt;5%&amp;lt;/SoodustuseProtsent&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseLiik&amp;gt;ISIC kaart&amp;lt;/SoodustuseLiik&amp;gt;&lt;br /&gt;
          &amp;lt;/Soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/ToiduHind&amp;gt;&lt;br /&gt;
      &amp;lt;/Portsjon&amp;gt;&lt;br /&gt;
      &amp;lt;Portsjon&amp;gt;&lt;br /&gt;
        &amp;lt;Myygiaeg&amp;gt;&lt;br /&gt;
          &amp;lt;Aasta&amp;gt;0&amp;lt;/Aasta&amp;gt;&lt;br /&gt;
          &amp;lt;Kuu&amp;gt;0&amp;lt;/Kuu&amp;gt;&lt;br /&gt;
          &amp;lt;Paev&amp;gt;0&amp;lt;/Paev&amp;gt;&lt;br /&gt;
          &amp;lt;Tund&amp;gt;00&amp;lt;/Tund&amp;gt;&lt;br /&gt;
          &amp;lt;Minut&amp;gt;00&amp;lt;/Minut&amp;gt;&lt;br /&gt;
          &amp;lt;Sekund&amp;gt;00&amp;lt;/Sekund&amp;gt;&lt;br /&gt;
        &amp;lt;/Myygiaeg&amp;gt;&lt;br /&gt;
        &amp;lt;PortsjoniLiik&amp;gt;Täisportsjon&amp;lt;/PortsjoniLiik&amp;gt;&lt;br /&gt;
        &amp;lt;ToiduHind&amp;gt;&lt;br /&gt;
          &amp;lt;Eurohind&amp;gt;2.80&amp;lt;/Eurohind&amp;gt;&lt;br /&gt;
          &amp;lt;Soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseProtsent&amp;gt;5%&amp;lt;/SoodustuseProtsent&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseLiik&amp;gt;ISIC kaart&amp;lt;/SoodustuseLiik&amp;gt;&lt;br /&gt;
          &amp;lt;/Soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/ToiduHind&amp;gt;&lt;br /&gt;
      &amp;lt;/Portsjon&amp;gt;&lt;br /&gt;
    &amp;lt;/ToiduKogus&amp;gt;&lt;br /&gt;
    &amp;lt;Kommentaarid&amp;gt;&lt;br /&gt;
      &amp;lt;Kommentaar&amp;gt;&lt;br /&gt;
        &amp;lt;Saatja&amp;gt;&lt;br /&gt;
          &amp;lt;SaatjaNimi&amp;gt;Kristjan&amp;lt;/SaatjaNimi&amp;gt;&lt;br /&gt;
          &amp;lt;SaatjaRoll&amp;gt;Tudeng&amp;lt;/SaatjaRoll&amp;gt;&lt;br /&gt;
        &amp;lt;/Saatja&amp;gt;&lt;br /&gt;
        &amp;lt;Sisu&amp;gt;Minu lemmik toit ! Kui algebra tund ei hakkaks, sööks veel 5 portsjonit.&amp;lt;/Sisu&amp;gt;&lt;br /&gt;
      &amp;lt;/Kommentaar&amp;gt;&lt;br /&gt;
    &amp;lt;/Kommentaarid&amp;gt;&lt;br /&gt;
  &amp;lt;/Toit&amp;gt;&lt;br /&gt;
&amp;lt;/Toidud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kommentaariks siis niipalju, et meie näide on ilma kohviku osata, selleks et näidet mitte liiga suureks ajada.&lt;br /&gt;
&lt;br /&gt;
Ka on meil moment puudu ID väljad, mis on igasugu andmebaasiga suhtlemiseks hädavajalikud, samas siin näidises palju juurde ei anna.&lt;br /&gt;
&lt;br /&gt;
Asja tegemisel avastasime, et põhiliseks arusaamatuse kohaks on toitude erinevad kogused (ehk siis pool portsjonit, suur / väike ja muud võrdlevad ühikud). Esimese võimalusena kaalusime teha lihtsalt täiesti eraldi toidud kõige kohta, stiilis &amp;quot;väike viineripraad&amp;quot; ja &amp;quot;suur viineripraad&amp;quot;. Kahjuks see variant ei kõlbaks eriti hästi, kuna need erinevad portsjonid kasutavad ikkagi samu materjale ja kui me peaks mingi süsteemiga näitama kui palju portsjoneid alles on. Sööklast näiteks pakuti et väike portsjon kasutab materjale kuskil 0.8 suure portsjoni ulatuses, ehk see suhtarv peaks olema kasutaja poolt (kohvikupidaja, restoraniomanik) ise sätitav. &lt;br /&gt;
&lt;br /&gt;
Tänu sellele sai meie süsteemi alustalaks siiski Toit, millel on oma Portsjonid siis erinevate hindade ja soodustustega. Moment pole meil ka Portsjoni XML osas toodud ära seost kogusega. (Kui palju ühe portsjoni lisamine/müümine peaks toidu üldkogust muutma).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kommenteerida saab meil moment toitu ennast, mitte eraldi portsjonit. Isegi kui kasutajad tahavad lisada kommentaare stiilis &amp;quot;See väike supp oli tõesti väga väike&amp;quot;, ei soovi nad seda ilmselt eraldi portsjoni alla panna. Tulevikus peaks kindlasti olema ka võimalus pigem kommenteerida üldisemalt (Kohvikut ennast, söögipaiku üldse), kui spetsiifilisemalt (Väikse prae kaste lisandi kohta).&lt;br /&gt;
&lt;br /&gt;
===XML Schema===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;Toidud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Toit&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;ToiduNimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;ToiduLiik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;OlemasolevatYhikut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;ToiduKogus&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:element name=&amp;quot;PortsjoniLiik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:element name=&amp;quot;Myygiaeg&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Sekund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:element name=&amp;quot;ToiduHind&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Eurohind&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:element name=&amp;quot;SoodustuseProtsent&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:element name=&amp;quot;SoodustuseLiik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;Kommentaarid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;Kommentaar&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Saatja&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;SaatjaNimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;SaatjaRoll&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Sisu&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===XSLT===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;h2&amp;gt;Kohvikus müüdavad toidud&amp;lt;/h2&amp;gt;&lt;br /&gt;
    &amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr bgcolor=&amp;quot;#9acd32&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Toidu Nimetus&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Toidu liik&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Veel alles&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Portsjon&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Müügiaeg&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Hind&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Soodustus&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Soodustuse liik&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;th&amp;gt;Kommentaar(id)&amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;Toidud/Toit&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;ToiduNimetus&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;ToiduLiik&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;OlemasolevatYhikut&amp;quot;/&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;PortsjoniLiik&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Paev&amp;quot; /&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Kuu&amp;quot; /&amp;gt;/&amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Aasta&amp;quot; /&amp;gt; &amp;amp;nbsp;  &lt;br /&gt;
        &amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Tund&amp;quot; /&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Minut&amp;quot; /&amp;gt;:&amp;lt;xsl:value-of select=&amp;quot;Myygiaeg/Sekund&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;ToiduHind/Eurohind&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;ToiduHind/Soodustus/SoodustuseProtsent&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;ToiduKogus/Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;ToiduHind/Soodustus/SoodustuseLiik&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:for-each select=&amp;quot;Kommentaarid/Kommentaar&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:value-of select=&amp;quot;Sisu&amp;quot; /&amp;gt;&amp;amp;nbsp;(&amp;lt;xsl:value-of select=&amp;quot;Saatja/SaatjaRoll&amp;quot; /&amp;gt;&amp;amp;nbsp;&amp;lt;xsl:value-of select=&amp;quot;Saatja/SaatjaNimi&amp;quot; /&amp;gt;)&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;/table&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XSLT poolt loodud tulemus on järgnev (lisasin veel kaks toitu XML faili, siin wiki lehel on ruumi kokkuhoiuks vaid 1 toit toitude listis):&lt;br /&gt;
[[File:Xslt.jpg|1200px]]&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus I : CMS ==&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus I : Veebirakendus ==&lt;br /&gt;
&lt;br /&gt;
== Meeskonna kokkuvõttev aruanne ==&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
=== 7. Veebruar ===&lt;br /&gt;
* Võtsime õppejõu poolt pakutud ideest kohe kinni, sest me eelistame teha praktilist asja, mida saab kasutada ja mille kasutamist saame ka iga päev jälgida. &lt;br /&gt;
* Esimese asjana otsustasime välja uurida mida meie &amp;quot;kliendid&amp;quot; (süsteemi tellijad) meilt ootavad. (Soovid idee punkti all)&lt;br /&gt;
* Valminud on lihtne teenusest ja klientidest koosnev süsteemi testmudel.&lt;br /&gt;
&lt;br /&gt;
=== 9.Veebruar ===&lt;br /&gt;
* Esmane versioon XML ja XML Schemast olemas&lt;br /&gt;
* Tekkis küsimus kas XSLT faili tuleb käsitsi tekitada või automaatselt.&lt;br /&gt;
* Küsimus oli ka kas lahendasime portsjoni asja mõistlikult või oleks mõni teine lähenemine parem olnud.&lt;br /&gt;
* Küsimus, kas XML fail on liiga üle pingutatud või sobiva keerukusega&lt;br /&gt;
&lt;br /&gt;
=== 19.Veebruar ===&lt;br /&gt;
*Valmis XSLT fail.&lt;br /&gt;
&lt;br /&gt;
[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
[[Category: Veebirakenduste loomine ASP.NET abil]]&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=23200</id>
		<title>Meeskond &quot;FoodWars&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=23200"/>
		<updated>2011-02-10T07:59:26Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: /* 9.Veebruar */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee==&lt;br /&gt;
Meie tiimil on plaanis teha internetipõhine söökla menüü süsteem (aluseks IT Kolledži kohvik, aga suunitlus selline, et kõik kohvikud/sööklad saaksid teha endale kasutajakonto ja hakata rakendust kasutama), kust saaks jälgida menüüd, mis sööke saab süüa, mis veel järgi on, kasutajatel on ka võimalus sööke hinnata (stiilis &amp;quot;meeldib&amp;quot;, &amp;quot;ei meeldi&amp;quot; nagu Facebook-is).&lt;br /&gt;
&lt;br /&gt;
Kohvikupidaja Teele soovid uue elektroonse süsteemi kohta:&lt;br /&gt;
&lt;br /&gt;
* elektroonilisest menüüst asju kustutada, isegi siis kui asja peaks olema teoreetiliselt alles, aga tegelikult on asi otsas.&lt;br /&gt;
* elektrikatkestuse korral jääb menüü püsima. Ta peab teadma hindu mistahes olukorras.&lt;br /&gt;
* menüül näidatakse automaatselt ka ISIC kaardi omanike soodushinnad&lt;br /&gt;
* süsteem toetab ka poole portsjoni müümist.&lt;br /&gt;
&lt;br /&gt;
Linnar Viigi soovid/visioonid uue elektroonse süsteemi kohta:&lt;br /&gt;
&lt;br /&gt;
* kõik oleks ka internetist kättesaadav, peale LCD ekraani, mis kajastab menüüd sööklas.&lt;br /&gt;
* aluseks facebook, kus siis söögid oleks nagu facebook-i alateemad.&lt;br /&gt;
* saab sööke hinnata, kommenteerida (täna oli väga maitsev praad).&lt;br /&gt;
* kasutajad saaks vaadata, mis menüüs on (ka järgmisel nädalal) ja mitu portsu veel alles on.&lt;br /&gt;
* kasutajad saaksid välja pakkuda menüüsid.&lt;br /&gt;
* erinevate söögikohtade kasutajad saaksid omavahel muljeid jagada.&lt;br /&gt;
* kuu aja aktiivsemad saavad prii lõuna.&lt;br /&gt;
* mingil ajal võib olla &amp;quot;happy hour&amp;quot; (enne sulgemist saab odavamalt).&lt;br /&gt;
* piiranguks on see, et toitu broneerida ei saa &lt;br /&gt;
&lt;br /&gt;
=== Vaba tarkvara kasutamise võimalus ===&lt;br /&gt;
&lt;br /&gt;
Antud projekti puhul oleks võimalik kasutada [http://www.postgresql.org/ PostgreSQL] andmebaasi (vt. lisaks http://en.wikipedia.org/wiki/PostgreSQL ) Microsoft SQL Server&#039;i asemel. See võiks anda kasutajale võimaluse valida .NET ning [http://www.mono-project.com/ Mono] (vt. lisaks http://en.wikipedia.org/wiki/Mono_(software) ) platvormide vahel. Sel viisil oleks kliendil võimalik Microsoft&#039;i platvormi kõrval valida tõenäoliselt soodsam vaba tarkvara platvorm. Andmebaasi lõplik valik pole hetkel veel otsustatud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Meeskond==&lt;br /&gt;
* Kristjan Stolin&lt;br /&gt;
* Ilmar Telga&lt;br /&gt;
* Rauno Rüga&lt;br /&gt;
* Lauri Kermas&lt;br /&gt;
&lt;br /&gt;
== XML Fail ==&lt;br /&gt;
===XML===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Toidud&amp;gt;&lt;br /&gt;
  &amp;lt;Toit&amp;gt;&lt;br /&gt;
    &amp;lt;ToiduNimetus&amp;gt;Viineri kaste&amp;lt;/ToiduNimetus&amp;gt;&lt;br /&gt;
    &amp;lt;ToiduLiik&amp;gt;Praad&amp;lt;/ToiduLiik&amp;gt;&lt;br /&gt;
    &amp;lt;OlemasolevatYhikut&amp;gt;5&amp;lt;/OlemasolevatYhikut&amp;gt;&lt;br /&gt;
    &amp;lt;ToiduKogus&amp;gt;&lt;br /&gt;
      &amp;lt;Portsjon&amp;gt;&lt;br /&gt;
        &amp;lt;PortsjoniLiik&amp;gt;Poolportsjon&amp;lt;/PortsjoniLiik&amp;gt;&lt;br /&gt;
        &amp;lt;Myygiaeg&amp;gt;&lt;br /&gt;
          &amp;lt;Aasta&amp;gt;2011&amp;lt;/Aasta&amp;gt;&lt;br /&gt;
          &amp;lt;Kuu&amp;gt;1&amp;lt;/Kuu&amp;gt;&lt;br /&gt;
          &amp;lt;Paev&amp;gt;9&amp;lt;/Paev&amp;gt;&lt;br /&gt;
          &amp;lt;Tund&amp;gt;15&amp;lt;/Tund&amp;gt;&lt;br /&gt;
          &amp;lt;Minut&amp;gt;7&amp;lt;/Minut&amp;gt;&lt;br /&gt;
          &amp;lt;Sekund&amp;gt;23&amp;lt;/Sekund&amp;gt;&lt;br /&gt;
        &amp;lt;/Myygiaeg&amp;gt;        &lt;br /&gt;
        &amp;lt;ToiduHind&amp;gt;&lt;br /&gt;
          &amp;lt;Eurohind&amp;gt;2.15&amp;lt;/Eurohind&amp;gt;&lt;br /&gt;
          &amp;lt;Soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseProtsent&amp;gt;5%&amp;lt;/SoodustuseProtsent&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseLiik&amp;gt;ISIC kaart&amp;lt;/SoodustuseLiik&amp;gt;&lt;br /&gt;
          &amp;lt;/Soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/ToiduHind&amp;gt;&lt;br /&gt;
      &amp;lt;/Portsjon&amp;gt;&lt;br /&gt;
      &amp;lt;Portsjon&amp;gt;&lt;br /&gt;
        &amp;lt;Myygiaeg&amp;gt;&lt;br /&gt;
          &amp;lt;Aasta&amp;gt;0&amp;lt;/Aasta&amp;gt;&lt;br /&gt;
          &amp;lt;Kuu&amp;gt;0&amp;lt;/Kuu&amp;gt;&lt;br /&gt;
          &amp;lt;Paev&amp;gt;0&amp;lt;/Paev&amp;gt;&lt;br /&gt;
          &amp;lt;Tund&amp;gt;0&amp;lt;/Tund&amp;gt;&lt;br /&gt;
          &amp;lt;Minut&amp;gt;0&amp;lt;/Minut&amp;gt;&lt;br /&gt;
          &amp;lt;Sekund&amp;gt;0&amp;lt;/Sekund&amp;gt;&lt;br /&gt;
        &amp;lt;/Myygiaeg&amp;gt;&lt;br /&gt;
        &amp;lt;PortsjoniLiik&amp;gt;Täisportsjon&amp;lt;/PortsjoniLiik&amp;gt;&lt;br /&gt;
        &amp;lt;ToiduHind&amp;gt;&lt;br /&gt;
          &amp;lt;Eurohind&amp;gt;2.80&amp;lt;/Eurohind&amp;gt;&lt;br /&gt;
          &amp;lt;Soodustus&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseProtsent&amp;gt;5%&amp;lt;/SoodustuseProtsent&amp;gt;&lt;br /&gt;
            &amp;lt;SoodustuseLiik&amp;gt;ISIC kaart&amp;lt;/SoodustuseLiik&amp;gt;&lt;br /&gt;
          &amp;lt;/Soodustus&amp;gt;&lt;br /&gt;
        &amp;lt;/ToiduHind&amp;gt;&lt;br /&gt;
      &amp;lt;/Portsjon&amp;gt;&lt;br /&gt;
    &amp;lt;/ToiduKogus&amp;gt;&lt;br /&gt;
    &amp;lt;Kommentaarid&amp;gt;&lt;br /&gt;
      &amp;lt;Kommentaar&amp;gt;&lt;br /&gt;
        &amp;lt;Saatja&amp;gt;&lt;br /&gt;
          &amp;lt;SaatjaNimi&amp;gt;Kristjan&amp;lt;/SaatjaNimi&amp;gt;&lt;br /&gt;
          &amp;lt;SaatjaRoll&amp;gt;Tudeng&amp;lt;/SaatjaRoll&amp;gt;&lt;br /&gt;
        &amp;lt;/Saatja&amp;gt;&lt;br /&gt;
        &amp;lt;Sisu&amp;gt;Minu leemmik toit ! Täna oli väga maitsev.&amp;lt;/Sisu&amp;gt;&lt;br /&gt;
      &amp;lt;/Kommentaar&amp;gt;&lt;br /&gt;
    &amp;lt;/Kommentaarid&amp;gt;&lt;br /&gt;
  &amp;lt;/Toit&amp;gt;&lt;br /&gt;
&amp;lt;/Toidud&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
===XML Schema===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;Toidud&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element name=&amp;quot;Toit&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;ToiduNimetus&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;ToiduLiik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;OlemasolevatYhikut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;ToiduKogus&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;Portsjon&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:choice maxOccurs=&amp;quot;unbounded&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:element name=&amp;quot;PortsjoniLiik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:element name=&amp;quot;Myygiaeg&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Aasta&amp;quot; type=&amp;quot;xs:unsignedShort&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Kuu&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Paev&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Tund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Minut&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Sekund&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:element name=&amp;quot;ToiduHind&amp;quot;&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Eurohind&amp;quot; type=&amp;quot;xs:decimal&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:element name=&amp;quot;Soodustus&amp;quot;&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:element name=&amp;quot;SoodustuseProtsent&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:element name=&amp;quot;SoodustuseLiik&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:choice&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;Kommentaarid&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element name=&amp;quot;Kommentaar&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Saatja&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;SaatjaNimi&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element name=&amp;quot;SaatjaRoll&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;Sisu&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&lt;br /&gt;
== Klientrakendused ==&lt;br /&gt;
&lt;br /&gt;
== Meeskonna kokkuvõttev aruanne ==&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
=== 7. Veebruar ===&lt;br /&gt;
* Võtsime õppejõu poolt pakutud ideest kohe kinni, sest me eelistame teha praktilist asja, mida saab kasutada ja mille kasutamist saame ka iga päev jälgida. &lt;br /&gt;
* Esimese asjana otsustasime välja uurida mida meie &amp;quot;kliendid&amp;quot; (süsteemi tellijad) meilt ootavad. (Soovid idee punkti all)&lt;br /&gt;
* Valminud on lihtne teenusest ja klientidest koosnev süsteemi testmudel.&lt;br /&gt;
&lt;br /&gt;
=== 9.Veebruar ===&lt;br /&gt;
* Esmane versioon XML ja XML Schemast olemas&lt;br /&gt;
* Tekkis küsimus kas XSLD faili tuleb käsitsi tekitada või automaatselt.&lt;br /&gt;
* Küsimus oli ka kas lahendasime portsjoni asja mõistlikult või oleks mõni teine lähenemine parem olnud.&lt;br /&gt;
* Küsimus, kas XML fail on liiga üle pingutatud või sobiva keerukusega&lt;br /&gt;
&lt;br /&gt;
[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=23156</id>
		<title>Meeskond &quot;FoodWars&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=23156"/>
		<updated>2011-02-07T15:23:06Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Meie teamil on plaanis teha netipõhine söökla süsteem (aluseks meie kool, aga suunitlus et kõik restoranid saaksid teha&lt;br /&gt;
endale kasutajakonto ja hakata asja kasutama), kust saaks jälgida menüüd, mis sööke saab süüa, mis veel järgi on, kasutajatel&lt;br /&gt;
ka võimalus sööke hinnata (stiilis like, dislike a la Facebook)&lt;br /&gt;
&lt;br /&gt;
7. veebr 2011.&lt;br /&gt;
Võtsime täna õppejõu poolt pakutud ideest kohe kinni, sest me eelistame teha praktilist asja mida saab&lt;br /&gt;
kasutada ja mille kasutamist saame ka iga päev jälgida.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Esimese asjana otsustasime välja uurida mida meie &amp;quot;kliendid&amp;quot; (süsteemi tellijad) meilt ootavad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sööklatädi soovid uue elektroonse süsteemi puhul:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Et saaks elektroonilisest menüüst asju kustutada, isegi siis kui asja peaks olema teoreetiliselt alles, aga tegelikult&lt;br /&gt;
on asi otsas.&lt;br /&gt;
&lt;br /&gt;
Et elektrikatkestuse korral jääks menüü püsima.&lt;br /&gt;
&lt;br /&gt;
Et menüül automaatselt näidataks ka ära ISIC kaardi omanike soodushinnad&lt;br /&gt;
&lt;br /&gt;
Et süsteem toetaks ka poole portsjoni müümist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linnar Viigi soovid uue elektroonse süsteemi puhul:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Et kõik oleks ka netist kättesaadav, peale LCD ekraani mis kajastab menüüd sööklas.&lt;br /&gt;
&lt;br /&gt;
Aluseks facebook, kus siis söögid oleks nagu facebook-i alateemad.&lt;br /&gt;
&lt;br /&gt;
Et saaks sööke hinnata, kommenteerida (täna oli väga maitsev praad).&lt;br /&gt;
&lt;br /&gt;
Et kasutajad saaks vaadata mis menüüs ja mitu portsu veel alles on.&lt;br /&gt;
&lt;br /&gt;
Et erinevate söögikohtade kasutajad saaksid omavahel muljeid jagada.&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=23155</id>
		<title>Meeskond &quot;FoodWars&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=23155"/>
		<updated>2011-02-07T15:22:49Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Meie teamil on plaanis teha netipõhine söökla süsteem (aluseks meie kool, aga suunitlus et kõik restoranid saaksid teha&lt;br /&gt;
endale kasutajakonto ja hakata asja kasutama), kust saaks jälgida menüüd, mis sööke saab süüa, mis veel järgi on, kasutajatel&lt;br /&gt;
ka võimalus sööke hinnata (stiilis like, dislike a la Facebook)&lt;br /&gt;
&lt;br /&gt;
7. veebr 2011.&lt;br /&gt;
Võtsime täna õppejõu poolt pakutud ideest kohe kinni, sest me eelistame teha praktilist asja mida saab&lt;br /&gt;
kasutada ja mille kasutamist saame ka iga päev jälgida.&lt;br /&gt;
 &lt;br /&gt;
Esimese asjana otsustasime välja uurida mida meie &amp;quot;kliendid&amp;quot; (süsteemi tellijad) meilt ootavad.&lt;br /&gt;
&lt;br /&gt;
Sööklatädi soovid uue elektroonse süsteemi puhul:&lt;br /&gt;
&lt;br /&gt;
Et saaks elektroonilisest menüüst asju kustutada, isegi siis kui asja peaks olema teoreetiliselt alles, aga tegelikult&lt;br /&gt;
on asi otsas.&lt;br /&gt;
&lt;br /&gt;
Et elektrikatkestuse korral jääks menüü püsima.&lt;br /&gt;
&lt;br /&gt;
Et menüül automaatselt näidataks ka ära ISIC kaardi omanike soodushinnad&lt;br /&gt;
&lt;br /&gt;
Et süsteem toetaks ka poole portsjoni müümist.&lt;br /&gt;
&lt;br /&gt;
Linnar Viigi soovid uue elektroonse süsteemi puhul:&lt;br /&gt;
&lt;br /&gt;
Et kõik oleks ka netist kättesaadav, peale LCD ekraani mis kajastab menüüd sööklas.&lt;br /&gt;
&lt;br /&gt;
Aluseks facebook, kus siis söögid oleks nagu facebook-i alateemad.&lt;br /&gt;
&lt;br /&gt;
Et saaks sööke hinnata, kommenteerida (täna oli väga maitsev praad).&lt;br /&gt;
&lt;br /&gt;
Et kasutajad saaks vaadata mis menüüs ja mitu portsu veel alles on.&lt;br /&gt;
&lt;br /&gt;
Et erinevate söögikohtade kasutajad saaksid omavahel muljeid jagada.&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=23154</id>
		<title>Meeskond &quot;FoodWars&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=23154"/>
		<updated>2011-02-07T15:22:00Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Meie teamil on plaanis teha netipõhine söökla süsteem (aluseks meie kool, aga suunitlus et kõik restoranid saaksid teha&lt;br /&gt;
endale kasutajakonto ja hakata asja kasutama), kust saaks jälgida menüüd, mis sööke saab süüa, mis veel järgi on, kasutajatel&lt;br /&gt;
ka võimalus sööke hinnata (stiilis like, dislike a la Facebook)&lt;br /&gt;
&lt;br /&gt;
7. veebr 2011.&lt;br /&gt;
Võtsime täna õppejõu poolt pakutud ideest kohe kinni, sest me eelistame teha praktilist asja mida saab&lt;br /&gt;
kasutada ja mille kasutamist saame ka iga päev jälgida.&lt;br /&gt;
 &lt;br /&gt;
Esimese asjana otsustasime välja uurida mida meie &amp;quot;kliendid&amp;quot; (süsteemi tellijad) meilt ootavad.&lt;br /&gt;
&lt;br /&gt;
Sööklatädi soovid uue elektroonse süsteemi puhul:&lt;br /&gt;
&lt;br /&gt;
Et saaks elektroonilisest menüüst asju kustutada, isegi siis kui asja peaks olema teoreetiliselt alles, aga tegelikult&lt;br /&gt;
on asi otsas.&lt;br /&gt;
&lt;br /&gt;
Et elektrikatkestuse korral jääks menüü püsima.&lt;br /&gt;
&lt;br /&gt;
Et menüül automaatselt näidataks ka ära ISIC kaardi omanike soodushinnad&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linnar Viigi soovid uue elektroonse süsteemi puhul:&lt;br /&gt;
&lt;br /&gt;
Et kõik oleks ka netist kättesaadav, peale LCD ekraani mis kajastab menüüd sööklas.&lt;br /&gt;
&lt;br /&gt;
Aluseks facebook, kus siis söögid oleks nagu facebook-i alateemad.&lt;br /&gt;
&lt;br /&gt;
Et saaks sööke hinnata, kommenteerida (täna oli väga maitsev praad).&lt;br /&gt;
&lt;br /&gt;
Et kasutajad saaks vaadata mis menüüs ja mitu portsu veel alles on.&lt;br /&gt;
&lt;br /&gt;
Et erinevate söögikohtade kasutajad saaksid omavahel muljeid jagada.&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=23153</id>
		<title>Meeskond &quot;FoodWars&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=23153"/>
		<updated>2011-02-07T15:16:30Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Meie teamil on plaanis teha netipõhine söökla süsteem (aluseks meie kool, aga suunitlus et kõik restoranid saaksid teha&lt;br /&gt;
endale kasutajakonto ja hakata asja kasutama), kust saaks jälgida menüüd, mis sööke saab süüa, mis veel järgi on, kasutajatel&lt;br /&gt;
ka võimalus sööke hinnata (stiilis like, dislike a la Facebook)&lt;br /&gt;
&lt;br /&gt;
7. veebr 2011.&lt;br /&gt;
Võtsime täna õppejõu poolt pakutud ideest kohe kinni, sest me eelistame teha praktilist asja mida saab&lt;br /&gt;
kasutada ja mille kasutamist saame ka iga päev jälgida.&lt;br /&gt;
 &lt;br /&gt;
Esimese asjana otsustasime välja uurida mida meie &amp;quot;kliendid&amp;quot; (süsteemi tellijad) meilt ootavad.&lt;br /&gt;
&lt;br /&gt;
Sööklatädi soovid uue elektroonse süsteemi puhul:&lt;br /&gt;
&lt;br /&gt;
Et saaks elektroonilisest menüüst asju kustutada, isegi siis kui asja peaks olema teoreetiliselt alles, aga tegelikult&lt;br /&gt;
on asi otsas.&lt;br /&gt;
&lt;br /&gt;
Et elektrikatkestuse korral jääks menüü püsima.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linnar Viigi soovid uue elektroonse süsteemi puhul:&lt;br /&gt;
&lt;br /&gt;
Et kõik oleks ka netist kättesaadav, peale LCD ekraani mis kajastab menüüd sööklas.&lt;br /&gt;
&lt;br /&gt;
Aluseks facebook, kus siis söögid oleks nagu facebook-i alateemad.&lt;br /&gt;
&lt;br /&gt;
Et saaks sööke hinnata, kommenteerida (täna oli väga maitsev praad).&lt;br /&gt;
&lt;br /&gt;
Et kasutajad saaks vaadata mis menüüs ja mitu portsu veel alles on.&lt;br /&gt;
&lt;br /&gt;
Et erinevate söögikohtade kasutajad saaksid omavahel muljeid jagada.&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=23152</id>
		<title>Meeskond &quot;FoodWars&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=23152"/>
		<updated>2011-02-07T15:12:22Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Meie teamil on plaanis teha netipõhine söökla süsteem (aluseks meie kool, aga suunitlus et kõik restoranid saaksid teha&lt;br /&gt;
endale kasutajakonto ja hakata asja kasutama), kust saaks jälgida menüüd, mis sööke saab süüa, mis veel järgi on, kasutajatel&lt;br /&gt;
ka võimalus sööke hinnata (stiilis like, dislike a la Facebook)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sööklatädi soovid uue elektroonse süsteemi puhul:&lt;br /&gt;
&lt;br /&gt;
Et saaks elektroonilisest menüüst asju kustutada, isegi siis kui asja peaks olema teoreetiliselt alles, aga tegelikult&lt;br /&gt;
on asi otsas.&lt;br /&gt;
&lt;br /&gt;
Et elektrikatkestuse korral jääks menüü püsima.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linnar Viigi soovid uue elektroonse süsteemi puhul:&lt;br /&gt;
&lt;br /&gt;
Et kõik oleks ka netist kättesaadav, peale LCD ekraani mis kajastab menüüd sööklas.&lt;br /&gt;
&lt;br /&gt;
Aluseks facebook, kus siis söögid oleks nagu facebook-i alateemad.&lt;br /&gt;
&lt;br /&gt;
Et saaks sööke hinnata, kommenteerida (täna oli väga maitsev praad).&lt;br /&gt;
&lt;br /&gt;
Et kasutajad saaks vaadata mis menüüs ja mitu portsu veel alles on.&lt;br /&gt;
&lt;br /&gt;
Et erinevate söögikohtade kasutajad saaksid omavahel muljeid jagada.&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=23151</id>
		<title>Meeskond &quot;FoodWars&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22FoodWars%22&amp;diff=23151"/>
		<updated>2011-02-07T15:09:43Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: Created page with &amp;#039;Meie teamil on plaanis teha netipõhine söökla süsteem (aluseks meie kool, aga suunitlus et kõik restoranid saaksid teha endale kasutajakonto ja hakata asja kasutama), kust s…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Meie teamil on plaanis teha netipõhine söökla süsteem (aluseks meie kool, aga suunitlus et kõik restoranid saaksid teha&lt;br /&gt;
endale kasutajakonto ja hakata asja kasutama), kust saaks jälgida menüüd, mis sööke saab süüa, mis veel järgi on, kasutajatel&lt;br /&gt;
ka võimalus sööke hinnata (stiilis like, dislike a la Facebook)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Sööklatädi soovid uue elektroonse süsteemi puhul:&lt;br /&gt;
&lt;br /&gt;
Et saaks elektroonilisest menüüst asju kustutada, isegi siis kui asja peaks olema teoreetiliselt alles, aga tegelikult&lt;br /&gt;
on asi otsas.&lt;br /&gt;
&lt;br /&gt;
Et elektrikatkestuse korral jääks menüü püsima.&lt;br /&gt;
&lt;br /&gt;
Et kõik oleks ka netist kättesaadav, peale LCD ekraani mis kajastab menüüd sööklas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linnar Viigi soovid uue elektroonse süsteemi puhul:&lt;br /&gt;
&lt;br /&gt;
Aluseks facebook, kus siis söögid oleks nagu facebook-i alateemad.&lt;br /&gt;
&lt;br /&gt;
Et saaks sööke hinnata, kommenteerida (täna oli väga maitsev praad).&lt;br /&gt;
&lt;br /&gt;
Et kasutajad saaks vaadata mis menüüs ja mitu portsu veel alles on.&lt;br /&gt;
&lt;br /&gt;
Et erinevate söögikohtade kasutajad saaksid omavahel muljeid jagada.&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2011&amp;diff=23148</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2011</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2011&amp;diff=23148"/>
		<updated>2011-02-07T14:51:55Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: /* Liikmed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot;=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML veebiteenus ja vastava kliendi loomise abil ning süvendada meeskonnatööoskust. Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendused (soovitavalt vähemalt kaks)endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..5 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
* Teema ning meeskonna koosseis peab olema õppejõuga kooskõlastatud hiljemalt 21. veebruar 2011.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039;&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt 27. veebruar 2011.&lt;br /&gt;
** Arvamused XML-failide kohta peavad tehtud olema 4. märts 2011&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 10. aprill 2011.&lt;br /&gt;
** Arvamused veebiteenuste kohta peavad tehtud olema 17. aprill 2011&lt;br /&gt;
** Veebiteenus tuleb esitleda!&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039;&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 10. aprill 2011.&lt;br /&gt;
** Arvamused veebiteenuste kohta peavad tehtud olema 17. aprill 2011&lt;br /&gt;
** Klientrakendused tuleb esitleda!&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne&#039;&#039;&#039;&lt;br /&gt;
** Meeskonnatöö kokkuvõttev aruanne peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 8.mai 2011&lt;br /&gt;
** Arvamused Meeskonnatöö kokkuvõtva aruande ja esitluse kohta tuleb esitada hiljemalt päev enne eksamit&lt;br /&gt;
** &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne ja töö lõplik tulemus&#039;&#039;&#039; tuleb esitleda!&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalr 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilrakendused &lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* AJAX / Silverlight&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning paar kolm sobivat XSL faili loodud XML failis olevate andmete  transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena, Silverlight, WPF või vormirakendusena.&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel +372 56 957 000 või heiki.tahis [ät] eesti.ee&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
=Teemad 2010 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
===Nimede pakkumise teenus===&lt;br /&gt;
Mõte selles, et luua nimede baas, mille abil pakkuda rakenduse loojale sobiva algusega nimesid. Reaalne rakendus: &#039;&#039;autocompleter&#039;&#039; tarvis teenuse pakkumine&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua kontroll, et nimi lisatakse baasi alles siis, kui seda nime on pakkunud vähemalt kaks erinevat kasutajat&lt;br /&gt;
* luua roll-back&#039;i võimalus juhuks, kui mõni kasutaja on tegelenud spämmimisega&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus kasutajatel oma kontaktibaase omavahel jagada&lt;br /&gt;
* luua võimalus pakkuda kontaktibaasis leiduvate nimede järgi sobivaid nimesid&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus kasutajatel erinevaid vooge grupeerida&lt;br /&gt;
* luua võimalus voogudes leiduvate uudiste puhverdamiseks (voogude lugemine võtab enamasti üsna palju aega)&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2011=&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;MiskiFäänciNimi&amp;quot;]]==&lt;br /&gt;
===Teema===&lt;br /&gt;
Kaks-kolm lauset, et mis kuidas ja miks..&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
Jaan Igamees&lt;br /&gt;
Jane Money&lt;br /&gt;
Katja Pobeda&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;FoodWars&amp;quot;]]==&lt;br /&gt;
===Teema===&lt;br /&gt;
Uus elektrooniline süsteem sööklas menüüde haldamiseks ja tagasisideme saamiseks.&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
Kristjan Stolin&lt;br /&gt;
&lt;br /&gt;
Ilmar Telga&lt;br /&gt;
&lt;br /&gt;
Rauno Rüga&lt;br /&gt;
&lt;br /&gt;
Lauri Kermas&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2011&amp;diff=23147</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2011</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2011&amp;diff=23147"/>
		<updated>2011-02-07T14:51:27Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot;=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML veebiteenus ja vastava kliendi loomise abil ning süvendada meeskonnatööoskust. Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendused (soovitavalt vähemalt kaks)endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..5 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
* Teema ning meeskonna koosseis peab olema õppejõuga kooskõlastatud hiljemalt 21. veebruar 2011.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039;&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt 27. veebruar 2011.&lt;br /&gt;
** Arvamused XML-failide kohta peavad tehtud olema 4. märts 2011&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 10. aprill 2011.&lt;br /&gt;
** Arvamused veebiteenuste kohta peavad tehtud olema 17. aprill 2011&lt;br /&gt;
** Veebiteenus tuleb esitleda!&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039;&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 10. aprill 2011.&lt;br /&gt;
** Arvamused veebiteenuste kohta peavad tehtud olema 17. aprill 2011&lt;br /&gt;
** Klientrakendused tuleb esitleda!&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne&#039;&#039;&#039;&lt;br /&gt;
** Meeskonnatöö kokkuvõttev aruanne peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 8.mai 2011&lt;br /&gt;
** Arvamused Meeskonnatöö kokkuvõtva aruande ja esitluse kohta tuleb esitada hiljemalt päev enne eksamit&lt;br /&gt;
** &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne ja töö lõplik tulemus&#039;&#039;&#039; tuleb esitleda!&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalr 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilrakendused &lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* AJAX / Silverlight&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning paar kolm sobivat XSL faili loodud XML failis olevate andmete  transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena, Silverlight, WPF või vormirakendusena.&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel +372 56 957 000 või heiki.tahis [ät] eesti.ee&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
=Teemad 2010 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
===Nimede pakkumise teenus===&lt;br /&gt;
Mõte selles, et luua nimede baas, mille abil pakkuda rakenduse loojale sobiva algusega nimesid. Reaalne rakendus: &#039;&#039;autocompleter&#039;&#039; tarvis teenuse pakkumine&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua kontroll, et nimi lisatakse baasi alles siis, kui seda nime on pakkunud vähemalt kaks erinevat kasutajat&lt;br /&gt;
* luua roll-back&#039;i võimalus juhuks, kui mõni kasutaja on tegelenud spämmimisega&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus kasutajatel oma kontaktibaase omavahel jagada&lt;br /&gt;
* luua võimalus pakkuda kontaktibaasis leiduvate nimede järgi sobivaid nimesid&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus kasutajatel erinevaid vooge grupeerida&lt;br /&gt;
* luua võimalus voogudes leiduvate uudiste puhverdamiseks (voogude lugemine võtab enamasti üsna palju aega)&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2011=&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;MiskiFäänciNimi&amp;quot;]]==&lt;br /&gt;
===Teema===&lt;br /&gt;
Kaks-kolm lauset, et mis kuidas ja miks..&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
Jaan Igamees&lt;br /&gt;
Jane Money&lt;br /&gt;
Katja Pobeda&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;FoodWars&amp;quot;]]==&lt;br /&gt;
===Teema===&lt;br /&gt;
Uus elektrooniline süsteem sööklas menüüde haldamiseks ja tagasisideme saamiseks.&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
Kristjan Stolin&lt;br /&gt;
Ilmar Telga&lt;br /&gt;
Rauno Rüga&lt;br /&gt;
Lauri Kermas&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Viitet%C3%BC%C3%BCpi_muutujad_CSharp_programmeerimiskeeles&amp;diff=22104</id>
		<title>Viitetüüpi muutujad CSharp programmeerimiskeeles</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Viitet%C3%BC%C3%BCpi_muutujad_CSharp_programmeerimiskeeles&amp;diff=22104"/>
		<updated>2011-01-05T11:27:36Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Eesmärk =&lt;br /&gt;
Antud õpiobjekti eesmärgiks on tutvustada viitetüüpi muutujatüüpide olemust ning kasutamisvõimalusi C# programmeerimiskeeles.&lt;br /&gt;
&lt;br /&gt;
* Väärtus- ja viitetüüpi muutujate erinevus&lt;br /&gt;
* Viitetüüpi muutujate kasutamine C# keeles&lt;br /&gt;
* String, kui viitetüüpi muutujatüüp&lt;br /&gt;
* Pärilus&lt;br /&gt;
* Liidesed&lt;br /&gt;
* Koodinäited&lt;br /&gt;
* Praktilised ülesanded&lt;br /&gt;
&lt;br /&gt;
= Väärtus- ja viitetüüpi muutujate erinevus =&lt;br /&gt;
Kui väärtustüüpi muutujatüübid on eelkõige mõeldud konkreetsete andmete hoidmiseks konkreetse skoobi piires, siis viitetüüpi muutujad sisaldavad ainult viidet andmetele ning konkreetset skoopi ei saa määratleda. .Net raamistikus säilib viitetüüpi muutuja seni, kuni sellele on säilinud vähemalt üks viide.&lt;br /&gt;
&lt;br /&gt;
Samas võib viitetüüpi muutuja viidata ka &#039;&#039;null &#039;&#039;väärtusele ehk lihtsustatult: viitetüüpi muutuja võib ka mitte viidata konkreetsele andmehulgale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kass kiisu; //deklareeritakse uus viitetüüpi muutuja kiisu, mis on Kass tüüpi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
kiisu = new Kass(); // kiisu hakkab viitama uuele Kass tüüpi objektile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
kiisu = null; // kiisu ei viita enam sellele objektile, kui sellele Kass tüüpi objektile rohkem viiteid ei &lt;br /&gt;
&lt;br /&gt;
//ole, siis selle objekti poole enam pöörduda ei saa&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
== Erinevused praktikas ==&lt;br /&gt;
&#039;&#039;&#039;Suurim erinevus väärtustüüpi ja viitetüüpi muutujatüüpide vahel seisnebki selles, et igale väärtustüüpi muutujale vastab konkreetne koht mälus. Samas viitetüüpi muutujale ei pruugi vastata ühtegi kohta mälus (&#039;&#039;null &#039;&#039;viide) ning teisalt võib ühele ja samale kohale mälus viidata mitu erinevat viitetüüpi muutujat.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kass kiisu = new Kass(); // Luuakse Kass tüüpi muutuja kiisu ning luuakse uus Kass tüüpi objekt&lt;br /&gt;
&lt;br /&gt;
Kass k6uts = kiisu; //k6uts ja kiisu viitavad nüüd ühele ja samale objektile&lt;br /&gt;
&lt;br /&gt;
k6uts.MuudaNimi(„Miisu“); // muudetakse kassi nime, läbi viite k6uts, muutub ka kiisu nimi.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Nagu näitest näha, kui kaks viitetüüpi muutujat viitavad ühele ja samale objektile, siis muutes üht muutujat muutub ka teine, sest need viitavad ühele ja samale mäluosale.&lt;br /&gt;
&lt;br /&gt;
== Erinevused võrdlemisel ==&lt;br /&gt;
Kui väärtustüüpi muutujate korral võrreldakse kahe muutuja võrdlemisel nende konkreetseid väärtuseid, siis viitetüüpi muutujate korral võrreldakse vaikimisi hoopis viiteid: kui muutujad viitavad ühele ja samale mäluosale, siis loetakse need võrdseks, muul juhul aga mitte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kass kiisu = new Kass(); // Luuakse Kass tüüpi muutuja kiisu ning luuakse uus Kass tüüpi objekt&lt;br /&gt;
&lt;br /&gt;
kiisu.MuudaNimi(„Jassu“);&lt;br /&gt;
&lt;br /&gt;
Kass k6uts = new Kass(); // Luuakse Kass tüüpi muutuja k6uts ning luuakse uus Kass tüüpi objekt &lt;br /&gt;
&lt;br /&gt;
k6uts.MuudaNimi(„Jassu“); // muudetakse kassi nime, kiisu nimi ei muutu.&lt;br /&gt;
&lt;br /&gt;
If(kiisu == k6uts)&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(„On võrdsed!“);&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;Antud hetkel teadet „On võrdsed!“ ei tuleks, sest tegemist on küll Kassidega, millistel on üks nimi, aga samas ei ole need üks ja sama Kass!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Viitetüüpi muutujate kasutamine C# keeles =&lt;br /&gt;
Viitetüüpi muutuja kasutamiseks tuleb muutuja deklareerida ning seejärel initsialiseerida.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kass kiisu; // deklareeritakse Kass tüüpi muutuja kiisu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Kui muutuja deklareerida, kuid jätta initsialiseerimata, siis on tegemist muutujaga, mis ei viita mitte kuhugi (ehk viide on &#039;&#039;null&#039;&#039;). Seega ei ole võimalik ka lugeda ega kirjutada muutuja andmeväljadele, sest neid lihtsalt ei ole veel olemas.&lt;br /&gt;
&lt;br /&gt;
Samuti ei ole võimalik pöörduda selle objekti meetodite poole, põhjus sama: objekti lihtsalt ei eksisteeri, on olemas vaid viide objektile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kass kiisu; // deklareeritakse Kass tüüpi muutuja kiisu&lt;br /&gt;
&lt;br /&gt;
Kiisu.MuudaNimi(„Miisu“); // tekib viga, sest viite näol on tegemist &#039;&#039;null&#039;&#039; viitega&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Muutuja initsialiseerimiseks tuleb luua uus vastavat tüüpi andmeobjekt mällu ning luua sellele viide. Seejärel on võimalik pöörduda kõigi selle objekti andmeväljade ja meetodite poole.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kass kiisu; // deklareeritakse Kass tüüpi muutuja kiisu&lt;br /&gt;
&lt;br /&gt;
kiisu = new Kass(); // initsialiseeritakse uus Kass tüüpi andmeobjekt ning muutuja kiisu viitab sellele&lt;br /&gt;
&lt;br /&gt;
Kiisu.MuudaNimi(„Miisu“); // viga ei teki&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
= String, kui viitetüüpi muutujatüüp =&lt;br /&gt;
String on C# programmeerimiskeeles realiseeritud kui tähemärkide jada (massiiv), millel on palju erisusi võrreldes tavaliste viitetüüpi muutujatega, seepärast on siinkohal vajalik selle muutujatüübi täpsem käsitlemine.&lt;br /&gt;
&lt;br /&gt;
String tüüpi muutuja loomiseks on mitmeid võimalusi, lihtsaim neist on see, kui üks string tüüpi väärtus omistatakse teisele.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
String tervitus = „Tere“; // siin deklareeriti muutuja tervitus, mis initsialiseeriti teise stringiga „Tere“&lt;br /&gt;
&lt;br /&gt;
string&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Siit selgubki, et stringi puhul on realiseeritud omistamine erinevalt tavalistest viitetüüpi muutujatest: kui tavaliselt pannakse viitetüüpi muutujate kasutamisel omistamisel lihtsalt muutuja viitama samale objektile, siis siin on võimalik siiski konkreetne väärtus eraldi konstruktori abil ette anda.&lt;br /&gt;
&lt;br /&gt;
Samas on stringil olemas ka tavapärane konstruktor, mida saab ka kasutada.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
string tere = new String(&#039;a&#039;,10); //Siinsel juhul luuakse muutuja tere, mis koosneb 10’st ’a’ &lt;br /&gt;
&lt;br /&gt;
//tähemärgist&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
== Stringi meetodid ==&lt;br /&gt;
Et leida string muutujatüübi pikkus, võib kasutada omadust Length.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
string lause = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
int lausePikkus = lause.Length; // lausePikkus väärtus on 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Kontrollimaks, kas string sisaldab mõnd fraasi, saab kasutada stringi meetodit Contains, tulem antakse tõeväärtusena.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
string lause = &amp;quot;Tere ise ka&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
bool kasOn = lause.Contains(&amp;quot;ise&amp;quot;); // kasOn sisaldab väärust „true“&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Kui on vaja stringist välja lõigata üks osa, kasuta stringi meetodit Substring, esimene argument näitab mitmendast tähest alates ja teine arument näitab mitu tähte&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
string lause = &amp;quot;Tere, Juku!&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
string lause2 = lause.Substring(6, 4); //Nüüd on lause2 väärtus “Juku”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Kui soovime teada saada mitmendal kohal asub stringis mõni sümbol, tuleb kasutada stringi IndexOf meetodit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
string lause = &amp;quot;Tere, Juku!&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
int mitmesKoma = lause.IndexOf(&#039;,&#039;); // vastus on 4, sest loendama hakatakse 0’st.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Stringi stringi lisamiseks on võimalik kasutada meetodit Insert, esimene argument näitab kuhu lisatakse ja teine näitab mida lisatakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
string lause = &amp;quot;Tere, Juku!&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
lause = lause.Insert(6, &amp;quot;kallis &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
int lausePikkus =lause.Length;&lt;br /&gt;
&lt;br /&gt;
lause =lause.Insert( lausePikkus-1, &amp;quot;, tore Sind näha&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// Kokku peaks siis nüüd tulema „Tere, kallis Juku, tore Sind näha!“&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Starts.With – kontrollib, kas string algab kindla sümboliga&lt;br /&gt;
&lt;br /&gt;
Remove – võimaldab stringist osa eemaldada&lt;br /&gt;
&lt;br /&gt;
Replace – asendab stringis ühe fraasi teisega&lt;br /&gt;
&lt;br /&gt;
Trim – võimaldab eemaldada kindlad sümbolid&lt;br /&gt;
&lt;br /&gt;
PadRight – lisab sümboleid stringi lõppu, kuni string on kindla pikkusega&lt;br /&gt;
&lt;br /&gt;
Kõik string muutujatüübi meetodid on kirjeldatud: [http://msdn.microsoft.com/en-us/library/system.string_methods.aspx http://msdn.microsoft.com/en-us/library/system.string_methods.aspx]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Pärilus =&lt;br /&gt;
(veebistuudiumi õppematerjalist)&lt;br /&gt;
&lt;br /&gt;
Ajapikku on objektorienteeritud programmeerimiskeelte juurde lisatud mitmesuguseid täiustusi ja võimalusi. Pärilus (inheritance) on mingil moel enamike objektorienteeritud keelte küljes olemas. Nii ka end suhteliselt arenenuks keeleks pidava C# juures.&lt;br /&gt;
&lt;br /&gt;
Objektidega toimetamisel ning pärilusel sealhulgas on vähemalt kaks eesmärki. Püütakse lihtsustada koodi kohandamist. Samuti võimaldab pärilus vältida sama tööd tegeva koodi kopeerimist, lubades samu käsklusi kasutada mitmel pool.&lt;br /&gt;
&lt;br /&gt;
Päriluse abil püütakse programmeerimiskeele objektitüüpide omavahelisi suhteid lähendada inimeste igapäevaselt tajutavale. Üheksakümnendate aastate algul ilmunud objektorienteeritud programmeerimist tutvustavas õpikus oli ilus näide: &amp;quot;sebra on nagu hobune, kellel on triibud&amp;quot;. Sarnane tuttava kaudu uue tüübi kokkupanek ongi päriluse põhisisu. Midagi lisatakse, midagi muudetakse, vahel harva ka kaotatakse. Ning märkamatult muutubki hobune sebraks või tühi paneel tekstiväljaks. &lt;br /&gt;
&lt;br /&gt;
Nõnda õnnestub olemasolevate (pool)valmis tükkide abil omale sobiv komplekt kokku panna. Teiselt poolt võidakse objektide päriluspuu ehitada ka oludes, kus kõik programmi osad on enese määrata. Sellisel juhul pole küll eesmärk omale üks ja parim tüüp kokku panna, vaid otsitakse ühisosi, mille puhul on võimalik valminud tüübid gruppidesse jaotada ning nende gruppidega vajadusel koos midagi ette võtta. Tüüpilise näitena pole teatripiletit müües vaja teada inimese sugu ja ametit. Küll aga on balletirolli juures mõlemad andmed tähtsad. Tavaelus tundub loomulikuna, et eriomadusi arvestatakse vaid kohtades, kus need on vajalikud ning muul juhul aetakse vaid üldiste tunnustega läbi. Haruharva tuleb eraldi rõhutada, et &amp;quot;meie teatrisse tohivad vaatajaks tulla inimesed sõltumata usutunnistusest ja nahavärvist&amp;quot;. Arvuti juures tuleb aga tasemed selgelt välja tuua. Igal keerukuse astmel tuleb määrata, millised oskused ja omadused sinna juurde kuuluvad ning millise rolli jaoks millisel tasemel oskuste komplekti vaja on. Keerukaks kiskunud seletuste kõrvale selgitused näidete abil.&lt;br /&gt;
&lt;br /&gt;
== Päriluseta näide ==&lt;br /&gt;
Alustame inimese klassiga, kus igasugune pärilus puudub. Üks klass oma muutuja, konstruktori ja meetodiga ning testprogrammis saab tema võimalusi katsetada.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide&lt;br /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
namespace Parilus1{&lt;br /&gt;
&lt;br /&gt;
class Inimene{&lt;br /&gt;
&lt;br /&gt;
protected int vanus;&lt;br /&gt;
&lt;br /&gt;
public Inimene(int uvanus){&lt;br /&gt;
&lt;br /&gt;
vanus=uvanus;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public void YtleVanus(){&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(&amp;quot;Minu vanus on &amp;quot;+vanus+&amp;quot; aastat&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class InimTest{&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;public static void Main(string[] arg){&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inimene inim1=new Inimene(13);&lt;br /&gt;
&lt;br /&gt;
inim1.YtleVanus(); &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
C:\Projects\oma\naited&amp;gt;Parilus1&lt;br /&gt;
&lt;br /&gt;
Minu vanus on 13 aastat&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
==== Alamklass ====&lt;br /&gt;
Edasi juba juures inimese alamklass (subclass) Modell, kel on olemas kõik inimese omadused (ehk siis selle programmi puhul võime oma vanust öelda), kuid juures käsklus enese esitlemiseks. Et esitlemine koosneb vanuse ja ümbermõõdu teatamisest, on see juba esitlemiskäskluse sisse kirjutatud.&lt;br /&gt;
&lt;br /&gt;
Klass Inimene on Modelli suhtes ülemklassiks (superclass, base class, parent class). C# puhul on igal klassil alati täpselt üks ülemklass. Kui muud pole määratud, siis kasutatakse selleks vaikimisi nimeruumi System klassi Object. Muul juhul aga on ülemklass kirjas klassikirjelduse päriluse osas. Nii tekibki klasside puu, mis algab klassist Object. &lt;br /&gt;
&lt;br /&gt;
Kui klassil konstruktor puudub, siis loob kompilaator vaikimisi tühja konstruktori, millel pole parameetreid ja mis ka midagi ei tee. Inimese puhul siis näiteks &lt;br /&gt;
&lt;br /&gt;
public Inimene(){}&lt;br /&gt;
&lt;br /&gt;
Kui aga vähemalt üks programmeerija loodud konstruktor on olemas, siis seda nähtamatut konstruktorit ei tehta. Päriluse puhul kutsutakse alamklassi eksemplari loomisel alati välja ülemklassi konstruktor. Vaikimisi võtab kompilaator selleks ülemklassi parameetritega konstruktori. Kui see aga puudub või soovitakse käivitada mõnda muud, siis tuleb sobiva konstruktori väljakutse alamklassi juures ära märkida. Siin märgitakse näiteks Modelli loomise juures, et Modelli isendi loomise juures tehakse kõigepealt valmis baasklassi (inimese) isend, kellele siis Modelli enese konstruktoris vajalikud lisandused juurde pannakse. Ülemklassi konstruktori määramine on kohe Modelli konstruktori juures. Pärast koolonit olev base(vanus) ütleb, et kasutatagu inimese puhul seda konstruktorit, kus tuleb täisarvuline vanus kohe ette öelda. &lt;br /&gt;
&lt;br /&gt;
public Modell(int vanus, int uymberm66t):base(vanus){&lt;br /&gt;
&lt;br /&gt;
ymberm66t=uymberm66t;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Ehkki praegu tegelikult muud võimalust polnudki, tuleb see ikkagi arvutile ette öelda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide&lt;br /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
namespace Parilus2{&lt;br /&gt;
&lt;br /&gt;
class Inimene{&lt;br /&gt;
&lt;br /&gt;
protected int vanus;&lt;br /&gt;
&lt;br /&gt;
public Inimene(int uvanus){&lt;br /&gt;
&lt;br /&gt;
vanus=uvanus;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public void YtleVanus(){&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(&amp;quot;Minu vanus on &amp;quot;+vanus+&amp;quot; aastat&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Modell:Inimene {&lt;br /&gt;
&lt;br /&gt;
protected int ymberm66t;&lt;br /&gt;
&lt;br /&gt;
public Modell(int vanus, int uymberm66t):base(vanus){&lt;br /&gt;
&lt;br /&gt;
ymberm66t=uymberm66t;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public void Esitle(){&lt;br /&gt;
&lt;br /&gt;
YtleVanus();&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(&amp;quot;Mu ymberm66duks on &amp;quot;+ymberm66t+&amp;quot; sentimeetrit&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class InimTest{&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;public static void Main(string[] arg){&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modell m=new Modell(20, 90);&lt;br /&gt;
&lt;br /&gt;
m.Esitle();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
C:\Projects\oma\naited&amp;gt;Parilus2&lt;br /&gt;
&lt;br /&gt;
Minu vanus on 20 aastat&lt;br /&gt;
&lt;br /&gt;
Mu ymberm66duks on 90 sentimeetrit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
== Ülekate  ==&lt;br /&gt;
Mõnikord ei piirduta omaduste lisamisega - tahetakse olemasolevaid võimalusi ka muuta. Tavanäiteks on kujundid või graafikakomponendid, mis igaüks ennast vastavalt oma omadustele joonistavad. Aga sarnaselt üle kaetavad võivad olla voogudesse andmete kirjutamise käsklused või andmestruktuuridesse andmeid lisavad või sealt eemaldavad käsklused nii, et neid käsklusi kasutav programm võib lihtsalt kasutatavat tükki usaldada, et tal on vastava nimega käsklus olemas ning ta selle soovitud ajal sooritab. &lt;br /&gt;
&lt;br /&gt;
Siin näites on Inimese alamklassiks tehtud Daam, kel kõik muud kirjeldatud omadused hariliku Inimesega sarnased. Kuid vanuse ütlemine käib mõnevõrra teisiti. Et käske saaks rahus üle katta, selleks on Inimese juurde käsu ehk meetodi YtleVanus ette lisatud sõna virtual, Daami vastava meetodi ette aga override. Selliselt on mõlemat tüüpi objektil vanuse ütlemine selge, need lihtsalt käituvad erinevalt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide&lt;br /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
namespace Parilus3{&lt;br /&gt;
&lt;br /&gt;
class Inimene{&lt;br /&gt;
&lt;br /&gt;
protected int vanus;&lt;br /&gt;
&lt;br /&gt;
public Inimene(int uvanus){&lt;br /&gt;
&lt;br /&gt;
vanus=uvanus;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public virtual void YtleVanus(){&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(&amp;quot;Minu vanus on &amp;quot;+vanus+&amp;quot; aastat&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Daam:Inimene {&lt;br /&gt;
&lt;br /&gt;
public Daam(int vanus):base(vanus){}&lt;br /&gt;
&lt;br /&gt;
public override void YtleVanus(){&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(&amp;quot;Minu vanus on &amp;quot;+(vanus-5)+&amp;quot; aastat&amp;quot;); &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class InimTest{&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;public static void Main(string[] arg){&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inimene inim1=new Inimene(40);&lt;br /&gt;
&lt;br /&gt;
Daam inim2=new Daam(40);&lt;br /&gt;
&lt;br /&gt;
inim1.YtleVanus();&lt;br /&gt;
&lt;br /&gt;
inim2.YtleVanus();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
C:\Projects\oma\naited&amp;gt;Parilus3&lt;br /&gt;
&lt;br /&gt;
Minu vanus on 40 aastat&lt;br /&gt;
&lt;br /&gt;
Minu vanus on 35 aastat&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
= Liidesed =&lt;br /&gt;
(Veebistuudiumi õppematerjalist)&lt;br /&gt;
&lt;br /&gt;
Nagu eespool kirjeldatud, on C# puhul üks ja kindel objektitüüpide pärinemise puu. Igal klassil on oma ülemklass ning juureks on klass Object nimeruumist System. Samas aga mõnegi tüübi puhul on sellest klassist objekte mugav kasutada tunduvalt rohkemates kohtades, kui otsene päriluspuu ette näeb. Nii nagu Ambla kihelkonna Lehtse valla Läpi küla Troska talu perepoeg Karl oli lisaks nendele ametlikele tiitlitele veel küla sepp, puutöömees ning korralik vanapoiss, nii on hea mõnegi klassi puhul programmi ülesehituse lihtsuse huvides pakkuda sinna rohkem rolle kui otsese päriluse järgi neid kokku tuleks. Näiteks Karlal oli leivateenimise mõttes sepatööst kindlasti rohkem kasu kui teatest, et ta Ambla kirikuraamatus kirjas on. Niisamuti on klassidele võimalik juurde panna liideseid, mis annavad õiguse vastava klassi eksemplare kloonida, järjestada või muid kasulikke omadusi lisada. Liideste arv ühe klassi juures ei ole piiratud. Liidesed mõeldi programmeerimiskeelte juurde välja, kuna selgus, et nõnda kirjeldusi määrates ja kokku leppides õnnestub programmeerimisel vigu vähendada.&lt;br /&gt;
&lt;br /&gt;
Järgnevas näites loodi liides IViisakas. I on liidesel ees sõnast Interface. Liidese juurde käib enamasti sisuline seletus selle kohta, millised seda liidest realiseerivad objektid on. Ning lisaks võivad olla mõned käsklused, millele vastavat liidest realiseerivad objektid on võimelised reageerima. Liidese IViisakas puhul valiti selliseks käskluseks Tervita, mis saab omale tekstilise parameetri. Ehk siis eeldatakse, et iga viisakas tegelane mõistab tervitusele vastata juhul, kui talle öeldakse, kellega on tegemist. Nagu näha - Lapse ja Koera puhul need tervitused on erinevad. Kuid nii nagu liides nõuab - nad on olemas. Sinnamaani suudab kompilaator kontrollida. Ülejäänu on juba programmeerija hoolitseda, et kindlaksmääratud nimega käskluse juurde ka vastavale klassile sobiv sisu saaks. &lt;br /&gt;
&lt;br /&gt;
static void TuleSynnipaevale(IViisakas v){&lt;br /&gt;
&lt;br /&gt;
v.Tervita(&amp;quot;vanaema&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Loodud meetodi juures on näha, et parameetrina võetakse vastu vaid nende klasside eksemplare, kelle puhul liides IViisakas on realiseeritud. Ning igaühel neist palutakse tervitada vanaema. Kuidas keegi sellega hakkama saab, on juba klassi enese sees hoolitsetud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide&lt;br /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
namespace Liides1{&lt;br /&gt;
&lt;br /&gt;
class Inimene{&lt;br /&gt;
&lt;br /&gt;
protected int vanus;&lt;br /&gt;
&lt;br /&gt;
public Inimene(int uvanus){&lt;br /&gt;
&lt;br /&gt;
vanus=uvanus;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public virtual void YtleVanus(){&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(&amp;quot;Minu vanus on &amp;quot;+vanus+&amp;quot; aastat&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
interface IViisakas{&lt;br /&gt;
&lt;br /&gt;
void Tervita(String tuttav);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Laps:Inimene, IViisakas {&lt;br /&gt;
&lt;br /&gt;
public Laps(int vanus):base(vanus){}&lt;br /&gt;
&lt;br /&gt;
public void Tervita(String tuttav){&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(&amp;quot;Tere, &amp;quot;+tuttav);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Koer: IViisakas{&lt;br /&gt;
&lt;br /&gt;
public void Tervita(String tuttav){&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(&amp;quot;Auh!&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class InimTest{&lt;br /&gt;
&lt;br /&gt;
static void TuleSynnipaevale(IViisakas v){&lt;br /&gt;
&lt;br /&gt;
v.Tervita(&amp;quot;vanaema&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;public static void Main(string[] arg){&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Laps juku=new Laps(6);&lt;br /&gt;
&lt;br /&gt;
juku.YtleVanus();&lt;br /&gt;
&lt;br /&gt;
Koer muki=new Koer();&lt;br /&gt;
&lt;br /&gt;
TuleSynnipaevale(juku);&lt;br /&gt;
&lt;br /&gt;
TuleSynnipaevale(muki);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
C:\Projects\oma\naited&amp;gt;Liides1&lt;br /&gt;
&lt;br /&gt;
Minu vanus on 6 aastat&lt;br /&gt;
&lt;br /&gt;
Tere, vanaema&lt;br /&gt;
&lt;br /&gt;
Auh!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Kui mingil põhjusel jäänuks Lapsele või Koerale käsklus Tervita lisamata, siis annaks kompilaator veateate. Sama tekiks ka juhul, kui käskluse tekstis trükiviga tehtaks. Selline kompilaatoripoolne kontroll aitab vead üles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Koodinäited&lt;br /&gt;
&lt;br /&gt;
Klass Kass&lt;br /&gt;
&lt;br /&gt;
using&#039;&#039;&#039; System;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
using&#039;&#039;&#039; System.Collections.Generic;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
using&#039;&#039;&#039; System.Linq;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
using&#039;&#039;&#039; System.Text;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
namespace&#039;&#039;&#039; Loeng7&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
class&#039;&#039;&#039; &#039;&#039;&#039;Kass&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
private&#039;&#039;&#039; &#039;&#039;&#039;string&#039;&#039;&#039; nimi;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
private&#039;&#039;&#039; &#039;&#039;&#039;string&#039;&#039;&#039; toug;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
public&#039;&#039;&#039; &#039;&#039;&#039;enum&#039;&#039;&#039; &#039;&#039;&#039;sugu&#039;&#039;&#039; { isane, emane, lihtsaltKass };&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
private&#039;&#039;&#039; &#039;&#039;&#039;sugu&#039;&#039;&#039; kassiSugu;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public&#039;&#039;&#039; Kass() : &#039;&#039;&#039;this&#039;&#039;&#039;(&#039;&#039;&#039;&amp;quot;Jossu&amp;quot;&#039;&#039;&#039;,&#039;&#039;&#039;&amp;quot;teadmata&amp;quot;&#039;&#039;&#039;,&#039;&#039;&#039;sugu.isane)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
public&#039;&#039;&#039; Kass(&#039;&#039;&#039;string&#039;&#039;&#039; nimi)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
//this.nimi = nimi;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TeeKass(nimi, &#039;&#039;&#039;&amp;quot;teadmata&amp;quot;&#039;&#039;&#039;, &#039;&#039;&#039;sugu.isane);&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
public&#039;&#039;&#039; &#039;&#039;&#039;void&#039;&#039;&#039; MuudaNimi(&#039;&#039;&#039;string&#039;&#039;&#039; uusNimi)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nimi = uusNimi;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
public&#039;&#039;&#039; Kass(&#039;&#039;&#039;Kass.sugu&#039;&#039;&#039; sugu)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
//this.nimi = nimi;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TeeKass(&#039;&#039;&#039;&amp;quot;Jossu&amp;quot;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;quot;teadmata&amp;quot;&#039;&#039;&#039;, sugu);&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
public&#039;&#039;&#039; Kass(&#039;&#039;&#039;string&#039;&#039;&#039; nimi, &#039;&#039;&#039;string&#039;&#039;&#039; Toug)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
//this.nimi = nimi;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TeeKass(nimi, Toug, &#039;&#039;&#039;sugu.lihtsaltKass);&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
public&#039;&#039;&#039; Kass(&#039;&#039;&#039;string&#039;&#039;&#039; nimi, &#039;&#039;&#039;string&#039;&#039;&#039; toug, &#039;&#039;&#039;Kass.sugu&#039;&#039;&#039; kassisugu)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TeeKass(nimi, toug, kassisugu);&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
private&#039;&#039;&#039; &#039;&#039;&#039;void&#039;&#039;&#039; TeeKass(&#039;&#039;&#039;string&#039;&#039;&#039; nimi, &#039;&#039;&#039;string&#039;&#039;&#039; toug, &#039;&#039;&#039;Kass.sugu&#039;&#039;&#039; kassisugu)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
this.nimi = nimi;&lt;br /&gt;
&lt;br /&gt;
this.toug = toug;&lt;br /&gt;
&lt;br /&gt;
this.kassiSugu = kassisugu;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public&#039;&#039;&#039; &#039;&#039;&#039;override&#039;&#039;&#039; &#039;&#039;&#039;string&#039;&#039;&#039; ToString()&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
return&#039;&#039;&#039; &#039;&#039;&#039;&amp;quot;Tere, mina olen kass, nimi on mul: &amp;quot;&#039;&#039;&#039; +&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nimi + &#039;&#039;&#039;&amp;quot;, tõug: &amp;quot;&#039;&#039;&#039; +toug +&#039;&#039;&#039;&amp;quot; ja sugu: &amp;quot;+ kassiSugu;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;~Kass()&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{ &#039;&#039;&#039;Console.WriteLine(&amp;quot;Tapeti kass nimega: &amp;quot;&#039;&#039;&#039; + &#039;&#039;&#039;this.nimi); }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
class&#039;&#039;&#039; &#039;&#039;&#039;Program&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
static&#039;&#039;&#039; &#039;&#039;&#039;void&#039;&#039;&#039; Main(&#039;&#039;&#039;string&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;[] args)&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kass&#039;&#039;&#039; kiisu = &#039;&#039;&#039;new&#039;&#039;&#039; &#039;&#039;&#039;Kass&#039;&#039;&#039;(&#039;&#039;&#039;&amp;quot;Peeter&amp;quot;&#039;&#039;&#039;);&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(kiisu.ToString());&lt;br /&gt;
&lt;br /&gt;
Kass&#039;&#039;&#039; k6uts = &#039;&#039;&#039;new&#039;&#039;&#039; &#039;&#039;&#039;Kass&#039;&#039;&#039;(&#039;&#039;&#039;&amp;quot;Jasper&amp;quot;&#039;&#039;&#039;,&#039;&#039;&#039;&amp;quot;angoora&amp;quot;&#039;&#039;&#039;, &#039;&#039;&#039;Kass.sugu.isane);&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(k6uts.ToString());&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
string&#039;&#039;&#039; tere = &#039;&#039;&#039;new&#039;&#039;&#039; &#039;&#039;&#039;String&#039;&#039;&#039;(&#039;&#039;&#039;&#039;a&#039;&#039;&#039;&#039;,10);&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(tere);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Viitet%C3%BC%C3%BCpi_muutujad_CSharp_programmeerimiskeeles&amp;diff=22102</id>
		<title>Viitetüüpi muutujad CSharp programmeerimiskeeles</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Viitet%C3%BC%C3%BCpi_muutujad_CSharp_programmeerimiskeeles&amp;diff=22102"/>
		<updated>2011-01-05T11:24:33Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Eesmärk =&lt;br /&gt;
Antud õpiobjekti eesmärgiks on tutvustada viitetüüpi muutujatüüpide olemust ning kasutamisvõimalusi C# programmeerimiskeeles.&lt;br /&gt;
&lt;br /&gt;
* Väärtus- ja viitetüüpi muutujate erinevus&lt;br /&gt;
* Viitetüüpi muutujate kasutamine C# keeles&lt;br /&gt;
* String, kui viitetüüpi muutujatüüp&lt;br /&gt;
* Pärilus&lt;br /&gt;
* Liidesed&lt;br /&gt;
* Koodinäited&lt;br /&gt;
* Praktilised ülesanded&lt;br /&gt;
&lt;br /&gt;
= Väärtus- ja viitetüüpi muutujate erinevus =&lt;br /&gt;
Kui väärtustüüpi muutujatüübid on eelkõige mõeldud konkreetsete andmete hoidmiseks konkreetse skoobi piires, siis viitetüüpi muutujad sisaldavad ainult viidet andmetele ning konkreetset skoopi ei saa määratleda. .Net raamistikus säilib viitetüüpi muutuja seni, kuni sellele on säilinud vähemalt üks viide.&lt;br /&gt;
&lt;br /&gt;
Samas võib viitetüüpi muutuja viidata ka &#039;&#039;null &#039;&#039;väärtusele ehk lihtsustatult: viitetüüpi muutuja võib ka mitte viidata konkreetsele andmehulgale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kass kiisu; //deklareeritakse uus viitetüüpi muutuja kiisu, mis on Kass tüüpi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
kiisu = new Kass(); // kiisu hakkab viitama uuele Kass tüüpi objektile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
kiisu = null; // kiisu ei viita enam sellele objektile, kui sellele Kass tüüpi objektile rohkem viiteid ei &lt;br /&gt;
&lt;br /&gt;
//ole, siis selle objekti poole enam pöörduda ei saa&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
== Erinevused praktikas ==&lt;br /&gt;
&#039;&#039;&#039;Suurim erinevus väärtustüüpi ja viitetüüpi muutujatüüpide vahel seisnebki selles, et igale väärtustüüpi muutujale vastab konkreetne koht mälus. Samas viitetüüpi muutujale ei pruugi vastata ühtegi kohta mälus (&#039;&#039;null &#039;&#039;viide) ning teisalt võib ühele ja samale kohale mälus viidata mitu erinevat viitetüüpi muutujat.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kass kiisu = new Kass(); // Luuakse Kass tüüpi muutuja kiisu ning luuakse uus Kass tüüpi objekt&lt;br /&gt;
&lt;br /&gt;
Kass k6uts = kiisu; //k6uts ja kiisu viitavad nüüd ühele ja samale objektile&lt;br /&gt;
&lt;br /&gt;
k6uts.MuudaNimi(„Miisu“); // muudetakse kassi nime, läbi viite k6uts, muutub ka kiisu nimi.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Nagu näitest näha, kui kaks viitetüüpi muutujat viitavad ühele ja samale objektile, siis muutes üht muutujat muutub ka teine, sest need viitavad ühele ja samale mäluosale.&lt;br /&gt;
&lt;br /&gt;
== Erinevused võrdlemisel ==&lt;br /&gt;
Kui väärtustüüpi muutujate korral võrreldakse kahe muutuja võrdlemisel nende konkreetseid väärtuseid, siis viitetüüpi muutujate korral võrreldakse vaikimisi hoopis viiteid: kui muutujad viitavad ühele ja samale mäluosale, siis loetakse need võrdseks, muul juhul aga mitte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kass kiisu = new Kass(); // Luuakse Kass tüüpi muutuja kiisu ning luuakse uus Kass tüüpi objekt&lt;br /&gt;
&lt;br /&gt;
kiisu.MuudaNimi(„Jassu“);&lt;br /&gt;
&lt;br /&gt;
Kass k6uts = new Kass(); // Luuakse Kass tüüpi muutuja k6uts ning luuakse uus Kass tüüpi objekt &lt;br /&gt;
&lt;br /&gt;
k6uts.MuudaNimi(„Jassu“); // muudetakse kassi nime, läbi viite k6uts, muutub ka kiisu nimi.&lt;br /&gt;
&lt;br /&gt;
If(kiisu == k6uts)&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(„On võrdsed!“);&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;Antud hetkel teadet „On võrdsed!“ ei tuleks, sest tegemist on küll Kassidega, millistel on üks nimi, aga samas ei ole need üks ja sama Kass!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Viitetüüpi muutujate kasutamine C# keeles =&lt;br /&gt;
Viitetüüpi muutuja kasutamiseks tuleb muutuja deklareerida ning seejärel initsialiseerida.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kass kiisu; // deklareeritakse Kass tüüpi muutuja kiisu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Kui muutuja deklareerida, kuid jätta initsialiseerimata, siis on tegemist muutujaga, mis ei viita mitte kuhugi (ehk viide on &#039;&#039;null&#039;&#039;). Seega ei ole võimalik ka lugeda ega kirjutada muutuja andmeväljadele, sest neid lihtsalt ei ole veel olemas.&lt;br /&gt;
&lt;br /&gt;
Samuti ei ole võimalik pöörduda selle objekti meetodite poole, põhjus sama: objekti lihtsalt ei eksisteeri, on olemas vaid viide objektile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kass kiisu; // deklareeritakse Kass tüüpi muutuja kiisu&lt;br /&gt;
&lt;br /&gt;
Kiisu.MuudaNimi(„Miisu“); // tekib viga, sest viite näol on tegemist &#039;&#039;null&#039;&#039; viitega&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Muutuja initsialiseerimiseks tuleb luua uus vastavat tüüpi andmeobjekt mällu ning luua sellele viide. Seejärel on võimalik pöörduda kõigi selle objekti andmeväljade ja meetodite poole.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kass kiisu; // deklareeritakse Kass tüüpi muutuja kiisu&lt;br /&gt;
&lt;br /&gt;
kiisu = new Kass(); // initsialiseeritakse uus Kass tüüpi andmeobjekt ning muutuja kiisu viitab sellele&lt;br /&gt;
&lt;br /&gt;
Kiisu.MuudaNimi(„Miisu“); // viga ei teki&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
= String, kui viitetüüpi muutujatüüp =&lt;br /&gt;
String on C# programmeerimiskeeles realiseeritud kui tähemärkide jada (massiiv), millel on palju erisusi võrreldes tavaliste viitetüüpi muutujatega, seepärast on siinkohal vajalik selle muutujatüübi täpsem käsitlemine.&lt;br /&gt;
&lt;br /&gt;
String tüüpi muutuja loomiseks on mitmeid võimalusi, lihtsaim neist on see, kui üks string tüüpi väärtus omistatakse teisele.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
String tervitus = „Tere“; // siin deklareeriti muutuja tervitus, mis initsialiseeriti teise stringiga „Tere“&lt;br /&gt;
&lt;br /&gt;
string&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Siit selgubki, et stringi puhul on realiseeritud omistamine erinevalt tavalistest viitetüüpi muutujatest: kui tavaliselt pannakse viitetüüpi muutujate kasutamisel omistamisel lihtsalt muutuja viitama samale objektile, siis siin on võimalik siiski konkreetne väärtus eraldi konstruktori abil ette anda.&lt;br /&gt;
&lt;br /&gt;
Samas on stringil olemas ka tavapärane konstruktor, mida saab ka kasutada.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
string tere = new String(&#039;a&#039;,10); //Siinsel juhul luuakse muutuja tere, mis koosneb 10’st ’a’ &lt;br /&gt;
&lt;br /&gt;
//tähemärgist&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
== Stringi meetodid ==&lt;br /&gt;
Et leida string muutujatüübi pikkus, võib kasutada omadust Length.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
string lause = &amp;quot;Tere&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
int lausePikkus = lause.Length; // lausePikkus väärtus on 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Kontrollimaks, kas string sisaldab mõnd fraasi, saab kasutada stringi meetodit Contains, tulem antakse tõeväärtusena.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
string lause = &amp;quot;Tere ise ka&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
bool kasOn = lause.Contains(&amp;quot;ise&amp;quot;); // kasOn sisaldab väärust „true“&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Kui on vaja stringist välja lõigata üks osa, kasuta stringi meetodit Substring, esimene argument näitab mitmendast tähest alates ja teine arument näitab mitu tähte&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
string lause = &amp;quot;Tere, Juku!&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
string lause2 = lause.Substring(6, 4); //Nüüd on lause2 väärtus “Juku”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Kui soovime teada saada mitmendal kohal asub stringis mõni sümbol, tuleb kasutada stringi IndexOf meetodit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
string lause = &amp;quot;Tere, Juku!&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
int mitmesKoma = lause.IndexOf(&#039;,&#039;); // vastus on 4, sest loendama hakatakse 0’st.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Stringi stringi lisamiseks on võimalik kasutada meetodit Insert, esimene argument näitab kuhu lisatakse ja teine näitab mida lisatakse.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
string lause = &amp;quot;Tere, Juku!&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
lause = lause.Insert(6, &amp;quot;kallis &amp;quot;);&lt;br /&gt;
&lt;br /&gt;
int lausePikkus =lause.Length;&lt;br /&gt;
&lt;br /&gt;
lause =lause.Insert( lausePikkus-1, &amp;quot;, tore Sind näha&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
// Kokku peaks siis nüüd tulema „Tere, kallis Juku, tore Sind näha!“&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Starts.With – kontrollib, kas string algab kindla sümboliga&lt;br /&gt;
&lt;br /&gt;
Remove – võimaldab stringist osa eemaldada&lt;br /&gt;
&lt;br /&gt;
Replace – asendab stringis ühe fraasi teisega&lt;br /&gt;
&lt;br /&gt;
Trim – võimaldab eemaldada kindlad sümbolid&lt;br /&gt;
&lt;br /&gt;
PadRight – lisab sümboleid stringi lõppu, kuni string on kindla pikkusega&lt;br /&gt;
&lt;br /&gt;
Kõik string muutujatüübi meetodid on kirjeldatud: [http://msdn.microsoft.com/en-us/library/system.string_methods.aspx http://msdn.microsoft.com/en-us/library/system.string_methods.aspx]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Pärilus =&lt;br /&gt;
(veebistuudiumi õppematerjalist)&lt;br /&gt;
&lt;br /&gt;
Ajapikku on objektorienteeritud programmeerimiskeelte juurde lisatud mitmesuguseid täiustusi ja võimalusi. Pärilus (inheritance) on mingil moel enamike objektorienteeritud keelte küljes olemas. Nii ka end suhteliselt arenenuks keeleks pidava C# juures.&lt;br /&gt;
&lt;br /&gt;
Objektidega toimetamisel ning pärilusel sealhulgas on vähemalt kaks eesmärki. Püütakse lihtsustada koodi kohandamist. Samuti võimaldab pärilus vältida sama tööd tegeva koodi kopeerimist, lubades samu käsklusi kasutada mitmel pool.&lt;br /&gt;
&lt;br /&gt;
Päriluse abil püütakse programmeerimiskeele objektitüüpide omavahelisi suhteid lähendada inimeste igapäevaselt tajutavale. Üheksakümnendate aastate algul ilmunud objektorienteeritud programmeerimist tutvustavas õpikus oli ilus näide: &amp;quot;sebra on nagu hobune, kellel on triibud&amp;quot;. Sarnane tuttava kaudu uue tüübi kokkupanek ongi päriluse põhisisu. Midagi lisatakse, midagi muudetakse, vahel harva ka kaotatakse. Ning märkamatult muutubki hobune sebraks või tühi paneel tekstiväljaks. &lt;br /&gt;
&lt;br /&gt;
Nõnda õnnestub olemasolevate (pool)valmis tükkide abil omale sobiv komplekt kokku panna. Teiselt poolt võidakse objektide päriluspuu ehitada ka oludes, kus kõik programmi osad on enese määrata. Sellisel juhul pole küll eesmärk omale üks ja parim tüüp kokku panna, vaid otsitakse ühisosi, mille puhul on võimalik valminud tüübid gruppidesse jaotada ning nende gruppidega vajadusel koos midagi ette võtta. Tüüpilise näitena pole teatripiletit müües vaja teada inimese sugu ja ametit. Küll aga on balletirolli juures mõlemad andmed tähtsad. Tavaelus tundub loomulikuna, et eriomadusi arvestatakse vaid kohtades, kus need on vajalikud ning muul juhul aetakse vaid üldiste tunnustega läbi. Haruharva tuleb eraldi rõhutada, et &amp;quot;meie teatrisse tohivad vaatajaks tulla inimesed sõltumata usutunnistusest ja nahavärvist&amp;quot;. Arvuti juures tuleb aga tasemed selgelt välja tuua. Igal keerukuse astmel tuleb määrata, millised oskused ja omadused sinna juurde kuuluvad ning millise rolli jaoks millisel tasemel oskuste komplekti vaja on. Keerukaks kiskunud seletuste kõrvale selgitused näidete abil.&lt;br /&gt;
&lt;br /&gt;
== Päriluseta näide ==&lt;br /&gt;
Alustame inimese klassiga, kus igasugune pärilus puudub. Üks klass oma muutuja, konstruktori ja meetodiga ning testprogrammis saab tema võimalusi katsetada.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide&lt;br /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
namespace Parilus1{&lt;br /&gt;
&lt;br /&gt;
class Inimene{&lt;br /&gt;
&lt;br /&gt;
protected int vanus;&lt;br /&gt;
&lt;br /&gt;
public Inimene(int uvanus){&lt;br /&gt;
&lt;br /&gt;
vanus=uvanus;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public void YtleVanus(){&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(&amp;quot;Minu vanus on &amp;quot;+vanus+&amp;quot; aastat&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class InimTest{&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;public static void Main(string[] arg){&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inimene inim1=new Inimene(13);&lt;br /&gt;
&lt;br /&gt;
inim1.YtleVanus(); &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
C:\Projects\oma\naited&amp;gt;Parilus1&lt;br /&gt;
&lt;br /&gt;
Minu vanus on 13 aastat&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
==== Alamklass ====&lt;br /&gt;
Edasi juba juures inimese alamklass (subclass) Modell, kel on olemas kõik inimese omadused (ehk siis selle programmi puhul võime oma vanust öelda), kuid juures käsklus enese esitlemiseks. Et esitlemine koosneb vanuse ja ümbermõõdu teatamisest, on see juba esitlemiskäskluse sisse kirjutatud.&lt;br /&gt;
&lt;br /&gt;
Klass Inimene on Modelli suhtes ülemklassiks (superclass, base class, parent class). C# puhul on igal klassil alati täpselt üks ülemklass. Kui muud pole määratud, siis kasutatakse selleks vaikimisi nimeruumi System klassi Object. Muul juhul aga on ülemklass kirjas klassikirjelduse päriluse osas. Nii tekibki klasside puu, mis algab klassist Object. &lt;br /&gt;
&lt;br /&gt;
Kui klassil konstruktor puudub, siis loob kompilaator vaikimisi tühja konstruktori, millel pole parameetreid ja mis ka midagi ei tee. Inimese puhul siis näiteks &lt;br /&gt;
&lt;br /&gt;
public Inimene(){}&lt;br /&gt;
&lt;br /&gt;
Kui aga vähemalt üks programmeerija loodud konstruktor on olemas, siis seda nähtamatut konstruktorit ei tehta. Päriluse puhul kutsutakse alamklassi eksemplari loomisel alati välja ülemklassi konstruktor. Vaikimisi võtab kompilaator selleks ülemklassi parameetritega konstruktori. Kui see aga puudub või soovitakse käivitada mõnda muud, siis tuleb sobiva konstruktori väljakutse alamklassi juures ära märkida. Siin märgitakse näiteks Modelli loomise juures, et Modelli isendi loomise juures tehakse kõigepealt valmis baasklassi (inimese) isend, kellele siis Modelli enese konstruktoris vajalikud lisandused juurde pannakse. Ülemklassi konstruktori määramine on kohe Modelli konstruktori juures. Pärast koolonit olev base(vanus) ütleb, et kasutatagu inimese puhul seda konstruktorit, kus tuleb täisarvuline vanus kohe ette öelda. &lt;br /&gt;
&lt;br /&gt;
public Modell(int vanus, int uymberm66t):base(vanus){&lt;br /&gt;
&lt;br /&gt;
ymberm66t=uymberm66t;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Ehkki praegu tegelikult muud võimalust polnudki, tuleb see ikkagi arvutile ette öelda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide&lt;br /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
namespace Parilus2{&lt;br /&gt;
&lt;br /&gt;
class Inimene{&lt;br /&gt;
&lt;br /&gt;
protected int vanus;&lt;br /&gt;
&lt;br /&gt;
public Inimene(int uvanus){&lt;br /&gt;
&lt;br /&gt;
vanus=uvanus;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public void YtleVanus(){&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(&amp;quot;Minu vanus on &amp;quot;+vanus+&amp;quot; aastat&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Modell:Inimene {&lt;br /&gt;
&lt;br /&gt;
protected int ymberm66t;&lt;br /&gt;
&lt;br /&gt;
public Modell(int vanus, int uymberm66t):base(vanus){&lt;br /&gt;
&lt;br /&gt;
ymberm66t=uymberm66t;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public void Esitle(){&lt;br /&gt;
&lt;br /&gt;
YtleVanus();&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(&amp;quot;Mu ymberm66duks on &amp;quot;+ymberm66t+&amp;quot; sentimeetrit&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class InimTest{&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;public static void Main(string[] arg){&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modell m=new Modell(20, 90);&lt;br /&gt;
&lt;br /&gt;
m.Esitle();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
C:\Projects\oma\naited&amp;gt;Parilus2&lt;br /&gt;
&lt;br /&gt;
Minu vanus on 20 aastat&lt;br /&gt;
&lt;br /&gt;
Mu ymberm66duks on 90 sentimeetrit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
== Ülekate  ==&lt;br /&gt;
Mõnikord ei piirduta omaduste lisamisega - tahetakse olemasolevaid võimalusi ka muuta. Tavanäiteks on kujundid või graafikakomponendid, mis igaüks ennast vastavalt oma omadustele joonistavad. Aga sarnaselt üle kaetavad võivad olla voogudesse andmete kirjutamise käsklused või andmestruktuuridesse andmeid lisavad või sealt eemaldavad käsklused nii, et neid käsklusi kasutav programm võib lihtsalt kasutatavat tükki usaldada, et tal on vastava nimega käsklus olemas ning ta selle soovitud ajal sooritab. &lt;br /&gt;
&lt;br /&gt;
Siin näites on Inimese alamklassiks tehtud Daam, kel kõik muud kirjeldatud omadused hariliku Inimesega sarnased. Kuid vanuse ütlemine käib mõnevõrra teisiti. Et käske saaks rahus üle katta, selleks on Inimese juurde käsu ehk meetodi YtleVanus ette lisatud sõna virtual, Daami vastava meetodi ette aga override. Selliselt on mõlemat tüüpi objektil vanuse ütlemine selge, need lihtsalt käituvad erinevalt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide&lt;br /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
namespace Parilus3{&lt;br /&gt;
&lt;br /&gt;
class Inimene{&lt;br /&gt;
&lt;br /&gt;
protected int vanus;&lt;br /&gt;
&lt;br /&gt;
public Inimene(int uvanus){&lt;br /&gt;
&lt;br /&gt;
vanus=uvanus;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public virtual void YtleVanus(){&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(&amp;quot;Minu vanus on &amp;quot;+vanus+&amp;quot; aastat&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Daam:Inimene {&lt;br /&gt;
&lt;br /&gt;
public Daam(int vanus):base(vanus){}&lt;br /&gt;
&lt;br /&gt;
public override void YtleVanus(){&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(&amp;quot;Minu vanus on &amp;quot;+(vanus-5)+&amp;quot; aastat&amp;quot;); &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class InimTest{&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;public static void Main(string[] arg){&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inimene inim1=new Inimene(40);&lt;br /&gt;
&lt;br /&gt;
Daam inim2=new Daam(40);&lt;br /&gt;
&lt;br /&gt;
inim1.YtleVanus();&lt;br /&gt;
&lt;br /&gt;
inim2.YtleVanus();&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
C:\Projects\oma\naited&amp;gt;Parilus3&lt;br /&gt;
&lt;br /&gt;
Minu vanus on 40 aastat&lt;br /&gt;
&lt;br /&gt;
Minu vanus on 35 aastat&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
= Liidesed =&lt;br /&gt;
(Veebistuudiumi õppematerjalist)&lt;br /&gt;
&lt;br /&gt;
Nagu eespool kirjeldatud, on C# puhul üks ja kindel objektitüüpide pärinemise puu. Igal klassil on oma ülemklass ning juureks on klass Object nimeruumist System. Samas aga mõnegi tüübi puhul on sellest klassist objekte mugav kasutada tunduvalt rohkemates kohtades, kui otsene päriluspuu ette näeb. Nii nagu Ambla kihelkonna Lehtse valla Läpi küla Troska talu perepoeg Karl oli lisaks nendele ametlikele tiitlitele veel küla sepp, puutöömees ning korralik vanapoiss, nii on hea mõnegi klassi puhul programmi ülesehituse lihtsuse huvides pakkuda sinna rohkem rolle kui otsese päriluse järgi neid kokku tuleks. Näiteks Karlal oli leivateenimise mõttes sepatööst kindlasti rohkem kasu kui teatest, et ta Ambla kirikuraamatus kirjas on. Niisamuti on klassidele võimalik juurde panna liideseid, mis annavad õiguse vastava klassi eksemplare kloonida, järjestada või muid kasulikke omadusi lisada. Liideste arv ühe klassi juures ei ole piiratud. Liidesed mõeldi programmeerimiskeelte juurde välja, kuna selgus, et nõnda kirjeldusi määrates ja kokku leppides õnnestub programmeerimisel vigu vähendada.&lt;br /&gt;
&lt;br /&gt;
Järgnevas näites loodi liides IViisakas. I on liidesel ees sõnast Interface. Liidese juurde käib enamasti sisuline seletus selle kohta, millised seda liidest realiseerivad objektid on. Ning lisaks võivad olla mõned käsklused, millele vastavat liidest realiseerivad objektid on võimelised reageerima. Liidese IViisakas puhul valiti selliseks käskluseks Tervita, mis saab omale tekstilise parameetri. Ehk siis eeldatakse, et iga viisakas tegelane mõistab tervitusele vastata juhul, kui talle öeldakse, kellega on tegemist. Nagu näha - Lapse ja Koera puhul need tervitused on erinevad. Kuid nii nagu liides nõuab - nad on olemas. Sinnamaani suudab kompilaator kontrollida. Ülejäänu on juba programmeerija hoolitseda, et kindlaksmääratud nimega käskluse juurde ka vastavale klassile sobiv sisu saaks. &lt;br /&gt;
&lt;br /&gt;
static void TuleSynnipaevale(IViisakas v){&lt;br /&gt;
&lt;br /&gt;
v.Tervita(&amp;quot;vanaema&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Loodud meetodi juures on näha, et parameetrina võetakse vastu vaid nende klasside eksemplare, kelle puhul liides IViisakas on realiseeritud. Ning igaühel neist palutakse tervitada vanaema. Kuidas keegi sellega hakkama saab, on juba klassi enese sees hoolitsetud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
| Näide&lt;br /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
namespace Liides1{&lt;br /&gt;
&lt;br /&gt;
class Inimene{&lt;br /&gt;
&lt;br /&gt;
protected int vanus;&lt;br /&gt;
&lt;br /&gt;
public Inimene(int uvanus){&lt;br /&gt;
&lt;br /&gt;
vanus=uvanus;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public virtual void YtleVanus(){&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(&amp;quot;Minu vanus on &amp;quot;+vanus+&amp;quot; aastat&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
interface IViisakas{&lt;br /&gt;
&lt;br /&gt;
void Tervita(String tuttav);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Laps:Inimene, IViisakas {&lt;br /&gt;
&lt;br /&gt;
public Laps(int vanus):base(vanus){}&lt;br /&gt;
&lt;br /&gt;
public void Tervita(String tuttav){&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(&amp;quot;Tere, &amp;quot;+tuttav);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Koer: IViisakas{&lt;br /&gt;
&lt;br /&gt;
public void Tervita(String tuttav){&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(&amp;quot;Auh!&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class InimTest{&lt;br /&gt;
&lt;br /&gt;
static void TuleSynnipaevale(IViisakas v){&lt;br /&gt;
&lt;br /&gt;
v.Tervita(&amp;quot;vanaema&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;public static void Main(string[] arg){&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Laps juku=new Laps(6);&lt;br /&gt;
&lt;br /&gt;
juku.YtleVanus();&lt;br /&gt;
&lt;br /&gt;
Koer muki=new Koer();&lt;br /&gt;
&lt;br /&gt;
TuleSynnipaevale(juku);&lt;br /&gt;
&lt;br /&gt;
TuleSynnipaevale(muki);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
&lt;br /&gt;
C:\Projects\oma\naited&amp;gt;Liides1&lt;br /&gt;
&lt;br /&gt;
Minu vanus on 6 aastat&lt;br /&gt;
&lt;br /&gt;
Tere, vanaema&lt;br /&gt;
&lt;br /&gt;
Auh!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*/&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
Kui mingil põhjusel jäänuks Lapsele või Koerale käsklus Tervita lisamata, siis annaks kompilaator veateate. Sama tekiks ka juhul, kui käskluse tekstis trükiviga tehtaks. Selline kompilaatoripoolne kontroll aitab vead üles&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Koodinäited&lt;br /&gt;
&lt;br /&gt;
Klass Kass&lt;br /&gt;
&lt;br /&gt;
using&#039;&#039;&#039; System;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
using&#039;&#039;&#039; System.Collections.Generic;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
using&#039;&#039;&#039; System.Linq;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
using&#039;&#039;&#039; System.Text;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
namespace&#039;&#039;&#039; Loeng7&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
class&#039;&#039;&#039; &#039;&#039;&#039;Kass&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
private&#039;&#039;&#039; &#039;&#039;&#039;string&#039;&#039;&#039; nimi;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
private&#039;&#039;&#039; &#039;&#039;&#039;string&#039;&#039;&#039; toug;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
public&#039;&#039;&#039; &#039;&#039;&#039;enum&#039;&#039;&#039; &#039;&#039;&#039;sugu&#039;&#039;&#039; { isane, emane, lihtsaltKass };&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
private&#039;&#039;&#039; &#039;&#039;&#039;sugu&#039;&#039;&#039; kassiSugu;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public&#039;&#039;&#039; Kass() : &#039;&#039;&#039;this&#039;&#039;&#039;(&#039;&#039;&#039;&amp;quot;Jossu&amp;quot;&#039;&#039;&#039;,&#039;&#039;&#039;&amp;quot;teadmata&amp;quot;&#039;&#039;&#039;,&#039;&#039;&#039;sugu.isane)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
public&#039;&#039;&#039; Kass(&#039;&#039;&#039;string&#039;&#039;&#039; nimi)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
//this.nimi = nimi;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TeeKass(nimi, &#039;&#039;&#039;&amp;quot;teadmata&amp;quot;&#039;&#039;&#039;, &#039;&#039;&#039;sugu.isane);&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
public&#039;&#039;&#039; &#039;&#039;&#039;void&#039;&#039;&#039; MuudaNimi(&#039;&#039;&#039;string&#039;&#039;&#039; uusNimi)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nimi = uusNimi;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
public&#039;&#039;&#039; Kass(&#039;&#039;&#039;Kass.sugu&#039;&#039;&#039; sugu)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
//this.nimi = nimi;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TeeKass(&#039;&#039;&#039;&amp;quot;Jossu&amp;quot;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;quot;teadmata&amp;quot;&#039;&#039;&#039;, sugu);&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
public&#039;&#039;&#039; Kass(&#039;&#039;&#039;string&#039;&#039;&#039; nimi, &#039;&#039;&#039;string&#039;&#039;&#039; Toug)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
//this.nimi = nimi;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TeeKass(nimi, Toug, &#039;&#039;&#039;sugu.lihtsaltKass);&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
public&#039;&#039;&#039; Kass(&#039;&#039;&#039;string&#039;&#039;&#039; nimi, &#039;&#039;&#039;string&#039;&#039;&#039; toug, &#039;&#039;&#039;Kass.sugu&#039;&#039;&#039; kassisugu)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TeeKass(nimi, toug, kassisugu);&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
private&#039;&#039;&#039; &#039;&#039;&#039;void&#039;&#039;&#039; TeeKass(&#039;&#039;&#039;string&#039;&#039;&#039; nimi, &#039;&#039;&#039;string&#039;&#039;&#039; toug, &#039;&#039;&#039;Kass.sugu&#039;&#039;&#039; kassisugu)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
this.nimi = nimi;&lt;br /&gt;
&lt;br /&gt;
this.toug = toug;&lt;br /&gt;
&lt;br /&gt;
this.kassiSugu = kassisugu;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public&#039;&#039;&#039; &#039;&#039;&#039;override&#039;&#039;&#039; &#039;&#039;&#039;string&#039;&#039;&#039; ToString()&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
return&#039;&#039;&#039; &#039;&#039;&#039;&amp;quot;Tere, mina olen kass, nimi on mul: &amp;quot;&#039;&#039;&#039; +&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;nimi + &#039;&#039;&#039;&amp;quot;, tõug: &amp;quot;&#039;&#039;&#039; +toug +&#039;&#039;&#039;&amp;quot; ja sugu: &amp;quot;+ kassiSugu;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;~Kass()&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{ &#039;&#039;&#039;Console.WriteLine(&amp;quot;Tapeti kass nimega: &amp;quot;&#039;&#039;&#039; + &#039;&#039;&#039;this.nimi); }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
class&#039;&#039;&#039; &#039;&#039;&#039;Program&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
static&#039;&#039;&#039; &#039;&#039;&#039;void&#039;&#039;&#039; Main(&#039;&#039;&#039;string&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;[] args)&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;{&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kass&#039;&#039;&#039; kiisu = &#039;&#039;&#039;new&#039;&#039;&#039; &#039;&#039;&#039;Kass&#039;&#039;&#039;(&#039;&#039;&#039;&amp;quot;Peeter&amp;quot;&#039;&#039;&#039;);&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(kiisu.ToString());&lt;br /&gt;
&lt;br /&gt;
Kass&#039;&#039;&#039; k6uts = &#039;&#039;&#039;new&#039;&#039;&#039; &#039;&#039;&#039;Kass&#039;&#039;&#039;(&#039;&#039;&#039;&amp;quot;Jasper&amp;quot;&#039;&#039;&#039;,&#039;&#039;&#039;&amp;quot;angoora&amp;quot;&#039;&#039;&#039;, &#039;&#039;&#039;Kass.sugu.isane);&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(k6uts.ToString());&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
string&#039;&#039;&#039; tere = &#039;&#039;&#039;new&#039;&#039;&#039; &#039;&#039;&#039;String&#039;&#039;&#039;(&#039;&#039;&#039;&#039;a&#039;&#039;&#039;&#039;,10);&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Console.WriteLine(tere);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Programmeerimine_CSharp_keeles:_2010_s%C3%BCgis,_p%C3%A4eva%C3%B5ppe_kokkuv%C3%B5tted&amp;diff=21899</id>
		<title>Programmeerimine CSharp keeles: 2010 sügis, päevaõppe kokkuvõtted</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Programmeerimine_CSharp_keeles:_2010_s%C3%BCgis,_p%C3%A4eva%C3%B5ppe_kokkuv%C3%B5tted&amp;diff=21899"/>
		<updated>2011-01-03T19:09:50Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Valminud projektid ja retsensioonid=&lt;br /&gt;
(Näide) &lt;br /&gt;
&lt;br /&gt;
==John Smith==&lt;br /&gt;
* Mäng : [[Meeskond &amp;quot;IDDQD&amp;quot;]]&lt;br /&gt;
** Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22C-Team%22&lt;br /&gt;
** Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22XNA_(Xbox_Not_Available)%22&lt;br /&gt;
&lt;br /&gt;
* Mäng : [[Meeskond &amp;quot;ISU - aI Sii jUu&amp;quot;]]&lt;br /&gt;
** Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Jana_ja_poisid%22&lt;br /&gt;
** Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Skill_and_Others%22&lt;br /&gt;
&lt;br /&gt;
==Indrek Tamm==&lt;br /&gt;
* Mäng : [[Meeskond &amp;quot;2#4U&amp;quot;]]&lt;br /&gt;
** Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Eagles_With_Lasers%22&lt;br /&gt;
** Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Hype%22&lt;br /&gt;
&lt;br /&gt;
* Rakendus : [[Meeskond &amp;quot;Siiski&amp;quot;]]&lt;br /&gt;
** Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Skill_and_Others%22&lt;br /&gt;
** Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22ISU_-_aI_Sii_jUu%22&lt;br /&gt;
&lt;br /&gt;
==Miina Sikk==&lt;br /&gt;
&lt;br /&gt;
*Mäng : [[Meeskond &amp;quot;2#4U&amp;quot;]]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22C-Team%22&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Hype%22&lt;br /&gt;
&lt;br /&gt;
*Ärirakendus: [[Meeskond &amp;quot;Siiski&amp;quot;]]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Alphabook%22&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Ying_Yang%22&lt;br /&gt;
&lt;br /&gt;
==Helen Muidik==&lt;br /&gt;
&lt;br /&gt;
*Mäng : [[Meeskond &amp;quot;H.A.S.H.&amp;quot;]]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22IDDQD%22&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22PEA%22&lt;br /&gt;
&lt;br /&gt;
*Ärirakendus: [[Meeskond &amp;quot;HASH&amp;quot;]]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Jana_ja_poisid%22&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Skill_and_Others%22&lt;br /&gt;
&lt;br /&gt;
==Taavi Ilves==&lt;br /&gt;
&lt;br /&gt;
*Mäng : [[Meeskond &amp;quot;Miinipilduja tuli&amp;quot;]]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Hype%22&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Meeskond_%22Projekt_Tank%22&lt;br /&gt;
&lt;br /&gt;
*Ärirakendus: [[Meeskond &amp;quot;ISU - aI Sii jUu&amp;quot;]]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Modern_Iron%22&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Skill_and_Others%22&lt;br /&gt;
&lt;br /&gt;
==Mihkel Sokk==&lt;br /&gt;
&lt;br /&gt;
*Mäng : [[Meeskond &amp;quot;Hype&amp;quot;]]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22H.A.S.H.%22&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Kosmoseahi%22&lt;br /&gt;
&lt;br /&gt;
*Ärirakendus: [[Meeskond &amp;quot;Alphabook&amp;quot;]]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22FilmiAhi%22&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:%22LMDB%22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Martin Lensment==&lt;br /&gt;
&lt;br /&gt;
*Mäng : [[Meeskond &amp;quot;Hype&amp;quot;]]&lt;br /&gt;
**Arvustus1 : [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22XNA_%28Xbox_Not_Available%29%22 XNA (Xbox Not Available)]&lt;br /&gt;
**Arvustus2 : [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Pacman%22 Pacman]&lt;br /&gt;
&lt;br /&gt;
*Ärirakendus: [[Meeskond &amp;quot;Alphabook&amp;quot;]]&lt;br /&gt;
**Arvustus1 : [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22HASH%22 HASH]&lt;br /&gt;
**Arvustus2 : [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22ASP-TASTIC%22 ASP-TASTIC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Taavi Jakoobi==&lt;br /&gt;
&lt;br /&gt;
*Mäng : [[Meeskond &amp;quot;Kosmoseahi&amp;quot;]]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%222&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22S%C3%B5jardid%22&lt;br /&gt;
&lt;br /&gt;
*Ärirakendus: [[Meeskond &amp;quot;FilmiAhi&amp;quot;]]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Jana_ja_poisid%22&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Skill_and_Others%22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Jaak Lehtsalu==&lt;br /&gt;
* Mäng : [[Meeskond &amp;quot;Hype&amp;quot;]]&lt;br /&gt;
** Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Pacman%22&lt;br /&gt;
** Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%222&lt;br /&gt;
&lt;br /&gt;
* Mäng : [[Meeskond &amp;quot;Alphabook&amp;quot;]]&lt;br /&gt;
** Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22ISU_-_aI_Sii_jUu%22&lt;br /&gt;
** Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Skill_and_Others%22&lt;br /&gt;
&lt;br /&gt;
==Tanel Liiv==&lt;br /&gt;
*Mäng : [[Meeskond &amp;quot;Miinipilduja tuli&amp;quot;]]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Hype%22&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Projekt_Tank%22&lt;br /&gt;
&lt;br /&gt;
*Ärirakendus: [[Meeskond &amp;quot;ISU - aI Sii jUu&amp;quot;]]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Project_Manager%22&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22ToString2%22&lt;br /&gt;
&lt;br /&gt;
==Seda Sahradyan==&lt;br /&gt;
*Mäng : [[Meeskond &amp;quot;H.A.S.H.&amp;quot;]]&lt;br /&gt;
**Arvustus1 : [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22IDDQD%22 IDDQD]&lt;br /&gt;
**Arvustus2 : [https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22C-Team%22 C-Team]&lt;br /&gt;
&lt;br /&gt;
*Ärirakendus: [[Meeskond &amp;quot;HASH&amp;quot;]]&lt;br /&gt;
**Arvustus1 : tuleb veel&lt;br /&gt;
**Arvustus2 : tuleb veel&lt;br /&gt;
&lt;br /&gt;
==Kristjan Stolin==&lt;br /&gt;
* Mäng : [[Meeskond &amp;quot;XNA (Xbox Not Available)&amp;quot;]]&lt;br /&gt;
** Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22S%C3%B5jardid%22&lt;br /&gt;
** Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Kosmoseahi%22&lt;br /&gt;
* Rakendus : [[Meeskond &amp;quot;Ready_or_Not,_Here_it_Comes!&amp;quot;]]&lt;br /&gt;
** Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Jana_ja_poisid%22&lt;br /&gt;
** Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:%22LMDB%22&lt;br /&gt;
&lt;br /&gt;
==Jaan Kruusma==&lt;br /&gt;
*Mäng : [[Meeskond &amp;quot;Projekt Tank&amp;quot;]]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Eagles_With_Lasers%22&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Hype%22&lt;br /&gt;
&lt;br /&gt;
*Ärirakendus: [[Meeskond &amp;quot;Modern Iron&amp;quot;]]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Ready_or_Not,_Here_it_Comes!%22&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Skill_and_Others%22&lt;br /&gt;
**Arvustus3 (kogematta) : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22codebastards%22&lt;br /&gt;
&lt;br /&gt;
==Toomas Soha==&lt;br /&gt;
*Mäng : [[Meeskond_&amp;quot;Blockmania&amp;quot;]]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22IDDQD%22&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22PEA%22&lt;br /&gt;
&lt;br /&gt;
*Ärirakendus: [[&amp;quot;LMDB&amp;quot;]]&lt;br /&gt;
**Arvustus1 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Alphabook%22&lt;br /&gt;
**Arvustus2 : https://wiki.itcollege.ee/index.php/Talk:Meeskond_%22Skill_and_Others%22&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Ready_or_Not,_Here_it_Comes!%22&amp;diff=21829</id>
		<title>Talk:Meeskond &quot;Ready or Not, Here it Comes!&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Ready_or_Not,_Here_it_Comes!%22&amp;diff=21829"/>
		<updated>2011-01-03T08:31:07Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Rakendus&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Loodud rakendus tundub mängu modimiseks suurepärane ning genereeritud xml on ka inim mõistusele arusaadav. Solution käivitades ytleb et sword 10 kuni 14 on puudu, aga peale käsitsi nende failide loomist läheb ilusti tööle. Üldiselt see rakendus kellelegi teisele kasulik pole, aga xmli modimine on viidud vingele tasemele.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lähtekood&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Programmi lähtekood on korralikult kirjutatud kuid kommentaarid võiksid olla sisukamad, et tekiks parem arusaamine koodis toimuvast. Layouti ja disaini oleks võinud eraldi CSSis teha, mitte staatiliselt programmi sees. Contenti all oleks ilus panna pildid kõik ühte kausta.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wiki&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Wiki lehel on üldine info olemas, aga detailset infot võiks rohkem olla. Juhend programmi kasutamiseks on hea, aga koodi tööpõhimõtte lahtiseletus puudub.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jaan Kruusma, D22&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Märkuseks Jaani arvustusele: tõepoolest olid puudu mõned pildid. Nüüdseks on probleem lahendatud.&lt;br /&gt;
&lt;br /&gt;
Ilmar Telga&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üks vähestest projektidest, kus pole vaja hunnikut muud nänni enda arvutisse paigaldada ja seadistada, et programmi tööle saada.&lt;br /&gt;
&lt;br /&gt;
Kasutajaliides on lihtne, aga samas erinevate värvide kasutamise pärast ei tundu ka liiga tühi. &lt;br /&gt;
&lt;br /&gt;
Üks asi tundus mulle veider. Nimelt on teil boolean väärtuste muutmiseks olemas nii tekstikast kui ka radiobutton. Kujutan ette, et pole kuigi tark mõte sinna kastikesse kirjutada midagi peale true/false, aga selleks otstarbeks on juba ju radiobuttonid olemas. Kui liigutaksite need nupud tekstikastide asemele, siis tekiks kasutajaliidesesse hunnik vaba ruumi, mida saaks kindlasti paremini kasutada.&lt;br /&gt;
&lt;br /&gt;
Väga kasuliku võimalusena tundus see, et on korraga võimalik muuta kõikide oskuste mingi välja väärtust. Isegi lihtsamad aritmeetilised tehted on lubatud. Küll aga peaksite lisama kontrolli, mis näiteks liitmistehte korral ei muudaks väärtusi, mis enne olid &#039;0&#039;. Hetkel tekib selline absurdne olukord, kus antud tehet kasutades saab &#039;Melee Defence&#039; endale nullist suurema range.&lt;br /&gt;
&lt;br /&gt;
Üldiselt tundub see programm mängu tuunimiseks päris kasulik ja on kindlasti kiirem kui XML failides tuhnimine.&lt;br /&gt;
&lt;br /&gt;
Väike märkus: Te võiksite lõpuks ka enda XNA mängu lähtekoodi wikisse üles lasta. Tahaks päris näha, mille pärast te Skype-i grupis halasite, et 12 tundi päevas progete aga mitte edasi ei liigu. Ma ei usu, et keegi teie lähtekoodi varastab ja hakkab seda edasi arendama. Pealegi esitluse käigus ei tundunud teie mäng pooltki nii valmis, et saaksite selle müüki paisata.&lt;br /&gt;
&lt;br /&gt;
Siim Aaver D21&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Märkused Siimu arvustusele. See tekstikast + radiobutton korraga oli meelega tehtud. &lt;br /&gt;
&lt;br /&gt;
Kujuta ette situatsiooni kus sa kogemata vale välja (kus enne true/false valuet polnud) muudad näiteks &amp;quot;true&amp;quot;-ks. Nüüd programm automaatselt tunneks ära et ahha, &amp;quot;true&amp;quot;, järelikult teeme ainult radiobuttonid. Enam sa välja numbriliseks näiteks tagasi muuta ei saaks ju? Peaksid käsitsi XML faili kallale minema.&lt;br /&gt;
&lt;br /&gt;
XNA mängule panin esialgse tähtaja augustiks. Niikaua käib tõsine töö. Kui miski ebaõnnestub või projekt pooleli jääb, kaalun kindlasti projekti Wiki-sse üles panemist. &lt;br /&gt;
&lt;br /&gt;
Kristjan Stolin&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:%22LMDB%22&amp;diff=21243</id>
		<title>Talk:&quot;LMDB&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:%22LMDB%22&amp;diff=21243"/>
		<updated>2010-12-19T20:00:34Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ma proovisin siis ka seda super-duper filmilaenutust.&lt;br /&gt;
&lt;br /&gt;
Algas sellega et tehtud oli üks vinge installikas. (Väga vinge)&lt;br /&gt;
&lt;br /&gt;
Värvivalik ja disain (vinge)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Programmi stabiilsus (esimese minuti jooksul õnnestus mul küll asi umbe jooksutada, aga see oli pisiviga) (vinge)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wiki ja wiki kujundus (vinge)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Üldine mulje: Isegi vingem kui kodune raamatukogu TM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Source kood: ei vaadanud (oletame et siis vinge)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ja kõige vingem asi:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Uninstall LMDB.png|600px|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kristjan Stolin D21&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:%22LMDB%22&amp;diff=21240</id>
		<title>Talk:&quot;LMDB&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:%22LMDB%22&amp;diff=21240"/>
		<updated>2010-12-19T19:57:39Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: Created page with &amp;#039;Ma proovisin siis ka seda super-duper filmilaenutust.  Algas sellega et tehtud oli üks vinge installikas. (Väga vinge) Värvivalik ja disain (vinge) Programmi stabiilsus (esime…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ma proovisin siis ka seda super-duper filmilaenutust.&lt;br /&gt;
&lt;br /&gt;
Algas sellega et tehtud oli üks vinge installikas. (Väga vinge)&lt;br /&gt;
Värvivalik ja disain (vinge)&lt;br /&gt;
Programmi stabiilsus (esimese minuti jooksul õnnestus mul küll asi umbe jooksutada, aga see oli pisiviga) (vinge)&lt;br /&gt;
Wiki ja wiki kujundus (vinge)&lt;br /&gt;
Üldine mulje: Isegi vingem kui kodune raamatukogu TM&lt;br /&gt;
Source kood: jäi puurimatta (oletame et siis vinge)&lt;br /&gt;
&lt;br /&gt;
Ja kõige vingem asi:&lt;br /&gt;
&lt;br /&gt;
[[File:Uninstall LMDB.png]|200px|border]]&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Uninstall_LMDB.png&amp;diff=21234</id>
		<title>File:Uninstall LMDB.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Uninstall_LMDB.png&amp;diff=21234"/>
		<updated>2010-12-19T19:55:46Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Jana_ja_poisid%22&amp;diff=21192</id>
		<title>Talk:Meeskond &quot;Jana ja poisid&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Jana_ja_poisid%22&amp;diff=21192"/>
		<updated>2010-12-19T19:22:08Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wiki: Wiki on piisavalt põhjalik, on olemas sihid, logi ja tööjaotus. Eriti meeldib mulle tööjaotuse sektsioon, kus on määratud kes mida teeb ning kas tema ülesanne on lõppule viidud. Ekraani pauk on ka olemas mis on pluss.&lt;br /&gt;
&lt;br /&gt;
Kasutajaliides: Kasutajliides on kena, mulle meeldib. Ainuke asi mis vähekene häirib on see tegumi-kast (kuhu ilmuvad sooritatud ülesanded). See meenutab mõnevõrra kasti, kuhu ma pean ise midagi sisse kirjutama. Nupudele oleks võinud luua mõne ühtse stiili.&lt;br /&gt;
&lt;br /&gt;
Funktsionaalsus: Funktsionaalsus on kõik korrektne ja töötab nii nagu peab. Väga häiriv asi, mis silma jäi, oli see, et kui regitreerida kastuaja, siis ei saadeta mingit tagasisidet, et mis nüüd toimus. Ilmub lihtsalt tegumi-kast sõnum Valmis- mis asi on valmis? ja tekib nupp tagasi-tagasi kuhu?&lt;br /&gt;
&lt;br /&gt;
Kood: Puudub ülevaade, kuna wikilehel ei ole linki lähtekoodile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:Ikoue|Ikoue]] Indrek Kõue, D21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==.==&lt;br /&gt;
Lihtsa ja arusaadava ülesehitatud programm. Miskil põhjusel minul ei toiminud laenutuste lisamine. Programm teatas küll, et laenutamine õnnestus, aga laenutuste lehele uusi ridasid ei tekkinud. Samas raamatute lisamine toimis nagu peab. Pärast uue kasutaja loomist võiks võibolla uue kasutaja kohe sisselogida. Kuna lähtekoodi ei ole, siis ei tea, kas VaataLaenutusi nupu mitte töötamine on minu kohalik probleem või programmi viga. Muidu kena raamatukogu haldus.&lt;br /&gt;
&lt;br /&gt;
Artur Mölter&lt;br /&gt;
-------------&lt;br /&gt;
Registeerimise formil üpriski korralik kontroll va. see, et ei kontrollitud kas tegu on emailiga. &lt;br /&gt;
Pärast registeerimist ei oska kuidagi edasi käituda, teatab küll, et valmis, aga mis edasi?&lt;br /&gt;
&lt;br /&gt;
Raamatute lisamine toimis ootuspäraselt, samuti meeldis korralik raamatute sorteerimine.&lt;br /&gt;
Algul tuli üpris pikalt mõistatada kuidas laenutamine toimida võiks, oleks oodanud mingisugust laenuta nuppu.&lt;br /&gt;
Nupule &amp;quot;Laenuta&amp;quot; vajutades kuvas iga raamatu kohta &amp;quot;Keegi jõudis sinust ette ja laenutas selle raamatu juba ära&amp;quot; kuigi näitas, et raamat on saadaval.&lt;br /&gt;
&lt;br /&gt;
Wiki piisavalt põhjalik, korralik logi, ning eriti meeldis tööjaotuse tabel.&lt;br /&gt;
&lt;br /&gt;
Lähtekood korralikult klassideks jaotatud, ning piisavalt komenteeritud.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtlikult võiks öelda Heiki Tähise sõnad &amp;quot;testimine, testimine, testimine&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allar Anijago, D21&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Märkuseks eelmisele kommentaarile:&#039;&#039;&#039; Sellel EXE versioonil oli tõesti antud viga küljes (unustatud uuendamata). Otse source koodist käima pannes oleks kõik korralikult toiminud. Nüüdseks panin uue exe ka üles.&lt;br /&gt;
&lt;br /&gt;
Siim Aaver&lt;br /&gt;
&lt;br /&gt;
-------------&lt;br /&gt;
Ma ilmselt kasutasin juba parandatud versiooni asjast, siis ülalkommijate märgatud puuduseid ma ise ei märganud.&lt;br /&gt;
&lt;br /&gt;
Minu arust kogu programm toimis ootuspäraselt. Raamatu ilmumisaega ei kuvatud kuskil nähtaval kohal.&lt;br /&gt;
&lt;br /&gt;
Ja veel - J.Pöial, &amp;quot;Algoritmid&amp;quot;, fantaasiakirjandus&lt;br /&gt;
&amp;lt;- naersin end ribadeks (samas lahtris Harry Potteriga)&lt;br /&gt;
&lt;br /&gt;
Üldkokkuvõte: täielikult rahuldav.&lt;br /&gt;
&lt;br /&gt;
Kristjan Stolin, D21&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Juhend:_Teine_kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(WPF_Projekt)&amp;diff=20709</id>
		<title>Juhend: Teine kodutöö aines &quot;Programmeerimine CSharp keeles&quot; (WPF Projekt)</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Juhend:_Teine_kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(WPF_Projekt)&amp;diff=20709"/>
		<updated>2010-12-16T20:02:57Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: /* Meeskond &amp;quot;Ready or Not, Here it Comes!&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Teine kodutöö aines &amp;quot;Programmeerimine CSharp keeles&amp;quot; (WPF Projekt)=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline arenduskogemus .Net keskkonnas ning süvendada meeskonnatööoskust. Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..5 tudengit (erandjuhul ka 2) ning ühel teemal teostab projekti üks või mitu meeskonda.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse http://wiki.itcollege.ee keskkonnas ning soovikorral ka ajaveebis (blogis). Ajaveebi pidamise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest. Ajaveebi loob ja ajaveebi haldab projektimeeskond vabalt valitud (avalikus) keskkonnas.&lt;br /&gt;
&lt;br /&gt;
http://wiki.itcollege.ee keskkonnas peab olema vähemalt kokkuvõte tehtud tööst, lahenduse tehniline kirjeldus (letud lahendused, kasutusel olevad klassid ja nende kirjeldus, toimimise põhimõte) ning kasutusjuhis. &#039;&#039;&#039;Wikis peab kindlasti olema ka viide lõpplahenduse lähtekoodile&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Tähtaeg==&lt;br /&gt;
Teema ning meeskonna koosseis peab olema õppejõuga kooskõlastatud hiljemalt 15. november 2010.&lt;br /&gt;
Üldjuhul on kõige hilisem projekti esitamise/kaitsmise tähtaeg 28. november 2010.&lt;br /&gt;
 &lt;br /&gt;
==Hindamine==&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
Tehnilisi ja vormistuslike puudujääke on võimalik korvata lisavõimaluste realiseerimisega.Üldjuhul tuleb loodud lahendust ka praktikumides või loengutes teistele tudengitele tutvustada (ca 10 min).&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel +372 56 957 000 või heiki.tahis [ät] eesti.ee&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
=Teemad 2010 sügis=&lt;br /&gt;
&lt;br /&gt;
Kodutööna tuleb luua: &lt;br /&gt;
==Kodune raamatukogu==&lt;br /&gt;
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.&lt;br /&gt;
Loo rakendus, mis&lt;br /&gt;
* Võimaldaks sisestada kodused raamatud&lt;br /&gt;
* Võimaldaks luua laenutajate profiile&lt;br /&gt;
* Raamatuid välja laenutada (tähtajaliselt)&lt;br /&gt;
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused  jne)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused&lt;br /&gt;
* Kui laenutaja profiilis on e-mail, siis saada automaatselt e-kiri „kallis sõber see ja see, Sinu käes on minu raamat, kas tood tagasi ka?”&lt;br /&gt;
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.&lt;br /&gt;
* Lase lisada raamatutele pilt&lt;br /&gt;
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal  kodus veel alles on)&lt;br /&gt;
Või&lt;br /&gt;
==CRM==&lt;br /&gt;
Oma klientidest peab olema ülevaade.&lt;br /&gt;
Loo rakendus, mis võimaldab:&lt;br /&gt;
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada&lt;br /&gt;
* Võimalda sisestada kliendikontakte&lt;br /&gt;
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.&lt;br /&gt;
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused&lt;br /&gt;
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega&lt;br /&gt;
* Õnnitlusmeilide template’sid võiks olla mitu&lt;br /&gt;
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis&lt;br /&gt;
* Loo võimalus klientide omavaheliseks sidumiseks (ehk võimalus klientide võimalike omavaheliste suhete kirjeldamiseks)&lt;br /&gt;
&lt;br /&gt;
Või &lt;br /&gt;
* Meeskonna poolt pakutud ja õppejõu poolt heaks kiidetud teema&lt;br /&gt;
&lt;br /&gt;
==Nõuded==&lt;br /&gt;
* &#039;&#039;&#039;Põhiidee: tuleb luua nö &amp;quot;ärirakendus&amp;quot;&lt;br /&gt;
Loodav rakendus peab:&lt;br /&gt;
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)&lt;br /&gt;
* Peab võimaldama tegevuste kohta registri pidamist (logi)&lt;br /&gt;
* Kasutama kasutajaliidesena ühte järgmistest: Windows Forms, WPF, SilverLight (ka Windows Phone 7) või ASP.Net&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!&#039;&#039;&#039; Klassid, klassid, klassid&lt;br /&gt;
&lt;br /&gt;
Lisapunkte annab:&lt;br /&gt;
* Silmailu&lt;br /&gt;
* Ilusasti kirjutatud ja veatu kood (testimine, testimine, testimine)&lt;br /&gt;
* Orginaalsed ideed ja hea äriidee&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2010=&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Meeskonna nimi&amp;quot;]]==&lt;br /&gt;
Teeme midagi&lt;br /&gt;
===Teema===&lt;br /&gt;
Võtame sealt selle, paneme tänna...&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Tõnu Kaalikas&lt;br /&gt;
* Mari Maasikas&lt;br /&gt;
* Mikk Murakas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Ready or Not, Here it Comes!&amp;quot;]]==&lt;br /&gt;
[[Image:EditorWPF.JPG|thumb|250px|Hüper-super XML editor]]&lt;br /&gt;
===Teema===&lt;br /&gt;
XNA mängu data (XML formaadis) editor.&lt;br /&gt;
&lt;br /&gt;
Lähtekood on üleval ja valmis arvustusteks.&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Kristjan Stolin&lt;br /&gt;
* Lauri Kermas&lt;br /&gt;
* Ilmar Telga&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Books With Lasers&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Kodune raamatukogu.&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Urmo Tamme&lt;br /&gt;
* Sander Baikov&lt;br /&gt;
* Karl Männil&lt;br /&gt;
* Aare Roosiväli&lt;br /&gt;
* Gert Glükmann&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Modern Iron&amp;quot;]]==&lt;br /&gt;
[[File:PCB.png|thumb|283px|]]&lt;br /&gt;
&lt;br /&gt;
PC Builder Lite™ - ITK isiklik hinnavaatlus&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
&lt;br /&gt;
Kas sul vedeleb kodus vana riistvara ja tolkneb seal nagu mungal niisama?&amp;lt;br /&amp;gt;&lt;br /&gt;
Nüüd on sul võimalus sellest vabaneda, teistele kasulik olla ja selle eest ka pappi teenida&amp;lt;br /&amp;gt;&lt;br /&gt;
või otsid endale kodu arvutit odava hinna eest siis PCB Lite on just sinule mõeldud.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Jaan Kruusma&lt;br /&gt;
* Siim Kündre&lt;br /&gt;
* Madis Kõosaar&lt;br /&gt;
* Keito Arula&lt;br /&gt;
* Silver Kuusik&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;ISU - aI Sii jUu&amp;quot;]]==&lt;br /&gt;
[[File:FML_logo.png|thumb|283px|]]&lt;br /&gt;
FML - Programm, mille abil on avalikus wifi-s võimalik vaadata teiste msn vestlusi. &lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Big Brother is watching you&amp;quot; - Tahad teada, mida sinu sõbrad tegelikult sinust arvavad? Sõbrad jagavad saladusi, kuid sind hoitakse pimeduses? - Enam mitte, sest meie programmi abil saad avalikus wifi-s teada kõik, millest sinu sõbrad msnis räägivad. FML on programm, mis kuvab teile erinevate inimeste vestlused avalikus wifis ja seda kõike nii lihtsalt, et teil tekib tunne, nagu oleksite ise üks vestlustes osaleja. &lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
*Jaan Vahtre&lt;br /&gt;
*Taavi Ilves&lt;br /&gt;
*Tanel Liiv&lt;br /&gt;
*Kristjan Kalder&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Jana ja poisid&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Kodune raamatukogu&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Allar Märk&lt;br /&gt;
* Jana Mrots&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Alphabook&amp;quot;]]==&lt;br /&gt;
[[Image:alphabook.png|thumb|right|alt=A |]]&lt;br /&gt;
===Teema===&lt;br /&gt;
Kodune raamatukogu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Mihkel Sokk&lt;br /&gt;
* Jaak Lehtsalu&lt;br /&gt;
* Kristjan Sokk&lt;br /&gt;
* Martin Lensment&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Skill and Others&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Õppehaldussüsteem, mis võimaldab õppejõul/õpetajal luua erinevaid gruppe ja tunde, määrata puudujaid ning panna hindeid jne. Lisaks kuvada sisestatud infot läbi valitud filtrite.&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Rauno Rüga&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;HASH&amp;quot;]]==&lt;br /&gt;
[[Image:Logo.png|thumb|right|alt=A |]]&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Raamatulaenutus.&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Henrik Leinola&lt;br /&gt;
* Allar Anijago&lt;br /&gt;
* Seda Sahradyan&lt;br /&gt;
* Helen Muidik&lt;br /&gt;
* Kert Suvi&lt;br /&gt;
&lt;br /&gt;
==[[&amp;quot;LMDB&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
Kodune Filmikodu + laenutus&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Kaido Loonurm&lt;br /&gt;
* Toomas Soha&lt;br /&gt;
* Reio Kokla&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;ASP-TASTIC&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Teeme küsimused vastused portaali kus vastajad saavad vastuste eest punkte ja küsimuste all on võimalik inimestel arutleda. Kasutame ASP.Net kasutajaliidest.&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Indrek Kõue&lt;br /&gt;
* Jarko Kaskmaa&lt;br /&gt;
* Taivo Türnpuu&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Siiski&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Hoone ruumihaldusprogramm&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Erik Kaju&lt;br /&gt;
* Reigo Männiste&lt;br /&gt;
* Miina Sikk&lt;br /&gt;
* Indrek Tamm&lt;br /&gt;
* Sten Vaisma&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Pohl&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
E-Kliendihaldus, mille eesmärgiks on luua keskkond, kus ettevõtjal on võimalik genereerida oma klientidele arveid. Lisanduvad erinevad funktsionaalsused, mis hõlbustavad ettevõtja igapäevast tööd.&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Garpar Karm&lt;br /&gt;
* Priit Siimo&lt;br /&gt;
* Andrus Reedla&lt;br /&gt;
* Andres Mill&lt;br /&gt;
* Mailis Toompuu&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;FilmiAhi&amp;quot;]]==&lt;br /&gt;
===Teema===&lt;br /&gt;
Filmide andmebaas , WPF / SQLite&lt;br /&gt;
===Liikmed===&lt;br /&gt;
*Janno Tomingas&lt;br /&gt;
*Valdar Vaht&lt;br /&gt;
*Robin Soon&lt;br /&gt;
*Taavi Jaakobi&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2010 Kaugõpe=&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;KRTK&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
KRTK ehk Kodune Raamatukogu&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Ivo Lõhmus&lt;br /&gt;
* Tanel Staub&lt;br /&gt;
* Indrek Kahu&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Terav ASP&amp;quot;]]==&lt;br /&gt;
Õppematerjalide jagamise veebikeskkond. &lt;br /&gt;
&lt;br /&gt;
IIS+ASP.NET+(MSSQL)&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Anneli Rasu&lt;br /&gt;
* Anu Kuusmaa&lt;br /&gt;
* Denis Veltson&lt;br /&gt;
* Lauri Õunmaa&lt;br /&gt;
* Mari Lehis&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Ying Yang&amp;quot;]]==&lt;br /&gt;
[[File:Meieraamu.PNG|200px|thumb|right|raamtu 1.0]]&lt;br /&gt;
Kodune raamatukogu valmib.&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
*Artur Mölter&lt;br /&gt;
*Karel Niine&lt;br /&gt;
*Jako Heinmets&lt;br /&gt;
*Liis Merisaar&lt;br /&gt;
*Lauri Liibert&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;PE&amp;quot;]]==&lt;br /&gt;
[[Image:Screen.jpg|thumb|150px|Autopäevik 1.0 by PE]]&lt;br /&gt;
Autopäevik.&lt;br /&gt;
Remonditud autode arvestamise päevik.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
*Jevgeni Nesterenko&lt;br /&gt;
*Pavel Kodotšigov&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;ToString2&amp;quot;]]==&lt;br /&gt;
Kodune Raamatukogu&lt;br /&gt;
C#, VS2010, MS SQL&lt;br /&gt;
===Liikmed===&lt;br /&gt;
*Reget Kalamees (wiki, codeplex)&lt;br /&gt;
*Rando Õispuu (kood, andmebaas)&lt;br /&gt;
*Reigo Riives (kood, andmebaas)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;M1 Library&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Meie maailmavallutusliku raamatukogutarkvara M1 Library sissejuhatav, I osa.&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Janar Tooming&lt;br /&gt;
* Ulvar Petmanson&lt;br /&gt;
* Alvar Lumberg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;codebastards&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Isomeetrilises vaates seiklusmängu Mystic Towers edasiarendus. Eesmärgiks teha mängule &amp;quot;Level editor&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Raul Valge&lt;br /&gt;
* Tanel Lebedev&lt;br /&gt;
* Martin Kottisse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;FC# Äkki&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
CRM, MS SQL&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Siim Liivand&lt;br /&gt;
* Mikk Mähar&lt;br /&gt;
* Sven Mäeks&lt;br /&gt;
* Ragnar Nurmla&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Juhend:_Teine_kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(WPF_Projekt)&amp;diff=20705</id>
		<title>Juhend: Teine kodutöö aines &quot;Programmeerimine CSharp keeles&quot; (WPF Projekt)</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Juhend:_Teine_kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(WPF_Projekt)&amp;diff=20705"/>
		<updated>2010-12-16T19:31:20Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: /* Meeskond &amp;quot;Ready or Not, Here it Comes!&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Teine kodutöö aines &amp;quot;Programmeerimine CSharp keeles&amp;quot; (WPF Projekt)=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline arenduskogemus .Net keskkonnas ning süvendada meeskonnatööoskust. Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..5 tudengit (erandjuhul ka 2) ning ühel teemal teostab projekti üks või mitu meeskonda.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse http://wiki.itcollege.ee keskkonnas ning soovikorral ka ajaveebis (blogis). Ajaveebi pidamise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest. Ajaveebi loob ja ajaveebi haldab projektimeeskond vabalt valitud (avalikus) keskkonnas.&lt;br /&gt;
&lt;br /&gt;
http://wiki.itcollege.ee keskkonnas peab olema vähemalt kokkuvõte tehtud tööst, lahenduse tehniline kirjeldus (letud lahendused, kasutusel olevad klassid ja nende kirjeldus, toimimise põhimõte) ning kasutusjuhis. &#039;&#039;&#039;Wikis peab kindlasti olema ka viide lõpplahenduse lähtekoodile&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Tähtaeg==&lt;br /&gt;
Teema ning meeskonna koosseis peab olema õppejõuga kooskõlastatud hiljemalt 15. november 2010.&lt;br /&gt;
Üldjuhul on kõige hilisem projekti esitamise/kaitsmise tähtaeg 28. november 2010.&lt;br /&gt;
 &lt;br /&gt;
==Hindamine==&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
Tehnilisi ja vormistuslike puudujääke on võimalik korvata lisavõimaluste realiseerimisega.Üldjuhul tuleb loodud lahendust ka praktikumides või loengutes teistele tudengitele tutvustada (ca 10 min).&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel +372 56 957 000 või heiki.tahis [ät] eesti.ee&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
=Teemad 2010 sügis=&lt;br /&gt;
&lt;br /&gt;
Kodutööna tuleb luua: &lt;br /&gt;
==Kodune raamatukogu==&lt;br /&gt;
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.&lt;br /&gt;
Loo rakendus, mis&lt;br /&gt;
* Võimaldaks sisestada kodused raamatud&lt;br /&gt;
* Võimaldaks luua laenutajate profiile&lt;br /&gt;
* Raamatuid välja laenutada (tähtajaliselt)&lt;br /&gt;
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused  jne)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused&lt;br /&gt;
* Kui laenutaja profiilis on e-mail, siis saada automaatselt e-kiri „kallis sõber see ja see, Sinu käes on minu raamat, kas tood tagasi ka?”&lt;br /&gt;
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.&lt;br /&gt;
* Lase lisada raamatutele pilt&lt;br /&gt;
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal  kodus veel alles on)&lt;br /&gt;
Või&lt;br /&gt;
==CRM==&lt;br /&gt;
Oma klientidest peab olema ülevaade.&lt;br /&gt;
Loo rakendus, mis võimaldab:&lt;br /&gt;
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada&lt;br /&gt;
* Võimalda sisestada kliendikontakte&lt;br /&gt;
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.&lt;br /&gt;
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused&lt;br /&gt;
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega&lt;br /&gt;
* Õnnitlusmeilide template’sid võiks olla mitu&lt;br /&gt;
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis&lt;br /&gt;
* Loo võimalus klientide omavaheliseks sidumiseks (ehk võimalus klientide võimalike omavaheliste suhete kirjeldamiseks)&lt;br /&gt;
&lt;br /&gt;
Või &lt;br /&gt;
* Meeskonna poolt pakutud ja õppejõu poolt heaks kiidetud teema&lt;br /&gt;
&lt;br /&gt;
==Nõuded==&lt;br /&gt;
* &#039;&#039;&#039;Põhiidee: tuleb luua nö &amp;quot;ärirakendus&amp;quot;&lt;br /&gt;
Loodav rakendus peab:&lt;br /&gt;
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)&lt;br /&gt;
* Peab võimaldama tegevuste kohta registri pidamist (logi)&lt;br /&gt;
* Kasutama kasutajaliidesena ühte järgmistest: Windows Forms, WPF, SilverLight (ka Windows Phone 7) või ASP.Net&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!&#039;&#039;&#039; Klassid, klassid, klassid&lt;br /&gt;
&lt;br /&gt;
Lisapunkte annab:&lt;br /&gt;
* Silmailu&lt;br /&gt;
* Ilusasti kirjutatud ja veatu kood (testimine, testimine, testimine)&lt;br /&gt;
* Orginaalsed ideed ja hea äriidee&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2010=&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Meeskonna nimi&amp;quot;]]==&lt;br /&gt;
Teeme midagi&lt;br /&gt;
===Teema===&lt;br /&gt;
Võtame sealt selle, paneme tänna...&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Tõnu Kaalikas&lt;br /&gt;
* Mari Maasikas&lt;br /&gt;
* Mikk Murakas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Ready or Not, Here it Comes!&amp;quot;]]==&lt;br /&gt;
[[Image:EditorWPF.JPG|thumb|250px|Hüper-super XML editor]]&lt;br /&gt;
===Teema===&lt;br /&gt;
XNA mängu data (XML formaadis) editor.&lt;br /&gt;
&lt;br /&gt;
Source kood on üleval ja valmis arvustusteks.&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Kristjan Stolin&lt;br /&gt;
* Lauri Kermas&lt;br /&gt;
* Ilmar Telga&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Books With Lasers&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Kodune raamatukogu.&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Urmo Tamme&lt;br /&gt;
* Sander Baikov&lt;br /&gt;
* Karl Männil&lt;br /&gt;
* Aare Roosiväli&lt;br /&gt;
* Gert Glükmann&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Modern Iron&amp;quot;]]==&lt;br /&gt;
[[File:PCB.png|thumb|283px|]]&lt;br /&gt;
&lt;br /&gt;
PC Builder Lite™ - ITK isiklik hinnavaatlus&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
&lt;br /&gt;
Kas sul vedeleb kodus vana riistvara ja tolkneb seal nagu mungal niisama?&amp;lt;br /&amp;gt;&lt;br /&gt;
Nüüd on sul võimalus sellest vabaneda, teistele kasulik olla ja selle eest ka pappi teenida&amp;lt;br /&amp;gt;&lt;br /&gt;
või otsid endale kodu arvutit odava hinna eest siis PCB Lite on just sinule mõeldud.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Jaan Kruusma&lt;br /&gt;
* Siim Kündre&lt;br /&gt;
* Madis Kõosaar&lt;br /&gt;
* Keito Arula&lt;br /&gt;
* Silver Kuusik&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;ISU - aI Sii jUu&amp;quot;]]==&lt;br /&gt;
[[File:FML_logo.png|thumb|283px|]]&lt;br /&gt;
FML - Programm, mille abil on avalikus wifi-s võimalik vaadata teiste msn vestlusi. &lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Big Brother is watching you&amp;quot; - Tahad teada, mida sinu sõbrad tegelikult sinust arvavad? Sõbrad jagavad saladusi, kuid sind hoitakse pimeduses? - Enam mitte, sest meie programmi abil saad avalikus wifi-s teada kõik, millest sinu sõbrad msnis räägivad. FML on programm, mis kuvab teile erinevate inimeste vestlused avalikus wifis ja seda kõike nii lihtsalt, et teil tekib tunne, nagu oleksite ise üks vestlustes osaleja. &lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
*Jaan Vahtre&lt;br /&gt;
*Taavi Ilves&lt;br /&gt;
*Tanel Liiv&lt;br /&gt;
*Kristjan Kalder&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Jana ja poisid&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Kodune raamatukogu&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Allar Märk&lt;br /&gt;
* Jana Mrots&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Alphabook&amp;quot;]]==&lt;br /&gt;
[[Image:alphabook.png|thumb|right|alt=A |]]&lt;br /&gt;
===Teema===&lt;br /&gt;
Kodune raamatukogu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Mihkel Sokk&lt;br /&gt;
* Jaak Lehtsalu&lt;br /&gt;
* Kristjan Sokk&lt;br /&gt;
* Martin Lensment&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Skill and Others&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Õppehaldussüsteem, mis võimaldab õppejõul/õpetajal luua erinevaid gruppe ja tunde, määrata puudujaid ning panna hindeid jne. Lisaks kuvada sisestatud infot läbi valitud filtrite.&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Rauno Rüga&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;HASH&amp;quot;]]==&lt;br /&gt;
[[Image:Logo.png|thumb|right|alt=A |]]&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Raamatulaenutus.&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Henrik Leinola&lt;br /&gt;
* Allar Anijago&lt;br /&gt;
* Seda Sahradyan&lt;br /&gt;
* Helen Muidik&lt;br /&gt;
* Kert Suvi&lt;br /&gt;
&lt;br /&gt;
==[[&amp;quot;LMDB&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
Kodune Filmikodu + laenutus&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Kaido Loonurm&lt;br /&gt;
* Toomas Soha&lt;br /&gt;
* Reio Kokla&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;ASP-TASTIC&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Teeme küsimused vastused portaali kus vastajad saavad vastuste eest punkte ja küsimuste all on võimalik inimestel arutleda. Kasutame ASP.Net kasutajaliidest.&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Indrek Kõue&lt;br /&gt;
* Jarko Kaskmaa&lt;br /&gt;
* Taivo Türnpuu&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Siiski&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Hoone ruumihaldusprogramm&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Erik Kaju&lt;br /&gt;
* Reigo Männiste&lt;br /&gt;
* Miina Sikk&lt;br /&gt;
* Indrek Tamm&lt;br /&gt;
* Sten Vaisma&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Pohl&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
E-Kliendihaldus, mille eesmärgiks on luua keskkond, kus ettevõtjal on võimalik genereerida oma klientidele arveid. Lisanduvad erinevad funktsionaalsused, mis hõlbustavad ettevõtja igapäevast tööd.&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Garpar Karm&lt;br /&gt;
* Priit Siimo&lt;br /&gt;
* Andrus Reedla&lt;br /&gt;
* Andres Mill&lt;br /&gt;
* Mailis Toompuu&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;FilmiAhi&amp;quot;]]==&lt;br /&gt;
===Teema===&lt;br /&gt;
Filmide andmebaas , WPF / SQLite&lt;br /&gt;
===Liikmed===&lt;br /&gt;
*Janno Tomingas&lt;br /&gt;
*Valdar Vaht&lt;br /&gt;
*Robin Soon&lt;br /&gt;
*Taavi Jaakobi&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2010 Kaugõpe=&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;KRTK&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
KRTK ehk Kodune Raamatukogu&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Ivo Lõhmus&lt;br /&gt;
* Tanel Staub&lt;br /&gt;
* Indrek Kahu&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Terav ASP&amp;quot;]]==&lt;br /&gt;
Õppematerjalide jagamise veebikeskkond. &lt;br /&gt;
&lt;br /&gt;
IIS+ASP.NET+(MSSQL)&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Anneli Rasu&lt;br /&gt;
* Anu Kuusmaa&lt;br /&gt;
* Denis Veltson&lt;br /&gt;
* Lauri Õunmaa&lt;br /&gt;
* Mari Lehis&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Ying Yang&amp;quot;]]==&lt;br /&gt;
[[File:Meieraamu.PNG|200px|thumb|right|raamtu 1.0]]&lt;br /&gt;
Kodune raamatukogu valmib.&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
*Artur Mölter&lt;br /&gt;
*Karel Niine&lt;br /&gt;
*Jako Heinmets&lt;br /&gt;
*Liis Merisaar&lt;br /&gt;
*Lauri Liibert&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;PE&amp;quot;]]==&lt;br /&gt;
[[Image:Screen.jpg|thumb|150px|Autopäevik 1.0 by PE]]&lt;br /&gt;
Autopäevik.&lt;br /&gt;
Remonditud autode arvestamise päevik.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
*Jevgeni Nesterenko&lt;br /&gt;
*Pavel Kodotšigov&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;ToString2&amp;quot;]]==&lt;br /&gt;
Kodune Raamatukogu&lt;br /&gt;
C#, VS2010, MS SQL&lt;br /&gt;
===Liikmed===&lt;br /&gt;
*Reget Kalamees (wiki, codeplex)&lt;br /&gt;
*Rando Õispuu (kood, andmebaas)&lt;br /&gt;
*Reigo Riives (kood, andmebaas)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;M1 Library&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Meie maailmavallutusliku raamatukogutarkvara M1 Library sissejuhatav, I osa.&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Janar Tooming&lt;br /&gt;
* Ulvar Petmanson&lt;br /&gt;
* Alvar Lumberg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;codebastards&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Isomeetrilises vaates seiklusmängu Mystic Towers edasiarendus. Eesmärgiks teha mängule &amp;quot;Level editor&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Raul Valge&lt;br /&gt;
* Tanel Lebedev&lt;br /&gt;
* Martin Kottisse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;FC# Äkki&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
CRM, MS SQL&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Siim Liivand&lt;br /&gt;
* Mikk Mähar&lt;br /&gt;
* Sven Mäeks&lt;br /&gt;
* Ragnar Nurmla&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22Ready_or_Not,_Here_it_Comes!%22&amp;diff=20702</id>
		<title>Meeskond &quot;Ready or Not, Here it Comes!&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22Ready_or_Not,_Here_it_Comes!%22&amp;diff=20702"/>
		<updated>2010-12-16T19:28:26Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Link Lähtekoodile ==&lt;br /&gt;
&lt;br /&gt;
Meie ootame arvustusi inimestelt kes veidi tunnevad XML failiformaati või on mingeid arvutimänge muutnud (modding).&lt;br /&gt;
&lt;br /&gt;
Ülesse on pandud pakitud kujul (.rar) vaid mängu editor ja mõned pildid, mitte mäng ise. &lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~itelga/C_sharp/WPF%20Editor%20113.rar link lähtekoodile]&lt;br /&gt;
&lt;br /&gt;
== Tagamaad ==&lt;br /&gt;
&lt;br /&gt;
Kui mäng on korduma hakanud, siis tahavad aktiivsemad kasutajad tihti kätt proovida mängu oma soovidele vastavalt muutes.&lt;br /&gt;
Selleks on tavaliselt mängu tegijad loonud mingid võimalused kas editoride või mingite inimkeeli loetavate ja kirjutatavate failide näol.&lt;br /&gt;
&lt;br /&gt;
Tooks siin näiteks mängu &amp;quot;Heroes of Might and Magic V&amp;quot;. Heroes 5 on läinud seda teed et ta enamiku oma andmeid on salvestanud XML-formaadis failidesse, mida on tuhandeid ja mis kokkupakitult võtavad ruumi 1.4 GB.&lt;br /&gt;
&lt;br /&gt;
[[File:Heroes5 data.png|600px|border]]&lt;br /&gt;
 &lt;br /&gt;
Asi on antud &amp;quot;as is&amp;quot; ingl.k, ilma dokumentatsioonita, et väljade nimede järgi peavad inimesed ise aru saama millega on tegu, mis tähendab ka väga palju sihitut sobramist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teine variant on teha selline editor, nagu kasutas mäng Age of Wonders II (Shadow Magic).&lt;br /&gt;
&lt;br /&gt;
[[File:Shadow_magic_editor.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Tavaliselt on sellisel editoril väljad aga hard-coditud, mis tähendab seda et kui sa lisad midagi mängu mootorisse, pead sa ümber tegema ka editori. Tihti jääb aga editor lihtsalt uuendamata, mis tähendab et kasutaja ei pruugi pääseda kõikidele vajalikele väljadele üldse pärast ligigi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meie lähenemine oli teha mõlemat, panna mängu data XML failidesse ja teha abiks veel editor, mis suudaks XML failidega automaatselt hakkama saada. &lt;br /&gt;
&lt;br /&gt;
Võiks ju küsida, et kui asju juba saab muuta XML faili sisu muutes, et miks seda editori üldse vaja peaks minema? Minu vastus oleks KIIRUS, MUGAVUS ja ÜLEVAATLIKUS.&lt;br /&gt;
&lt;br /&gt;
=== Kiirus  === &lt;br /&gt;
&lt;br /&gt;
Editoris on nupud töö kiirendamise jaoks, nagu True, False väljade automaatne täitmine. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Mugavad truefalse nupud.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mingite suurte elementide kustutamine on ka vaid üks &lt;br /&gt;
nupulevajutus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Elemendi kustutamis nupp.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Samuti elementide kopeerimine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mugavus ===&lt;br /&gt;
Ma (Kristjan Stolin) olen modifitseerinud oma lemmikmänge ja ka oma projekte juba aastakümneid. &lt;br /&gt;
Tihti on muutus mida sa tahad sisse viia suur töö.&lt;br /&gt;
&lt;br /&gt;
Näiteks tahad sa mängu tasakaalu huvides panna kõikidele mängu elukatele 20% võrra elupunkte juurde. Mida ma vaene inimene pean siis &lt;br /&gt;
&lt;br /&gt;
tegema kui terve päeva kulutama sellele, et ma mingi ebamugava editoriga käin kõik need sajad elukad ükshaaval läbi ja arvutan peas kui palju elusid juurde lisada ja siis panen &lt;br /&gt;
neile kõigile uue elude arvu. Ja voila! Oled rõõmus oma suure töö üle, kuid pärast paar päeva testimist selgub et sellest elude lisamisest oli ikkagi vähe ja vaja &lt;br /&gt;
&lt;br /&gt;
kõigile elukatele veel elusid paari punkti&lt;br /&gt;
võrra juurde keerata. Ja jälle tööd kui palju.&lt;br /&gt;
&lt;br /&gt;
Et seda asja inimesele mugavaks teha, tegime oma editori sisse võimalusi kõiki välju korraga muuta, näiteks lisame siin kõigele &amp;quot;Range&amp;quot; välja väärtustele 20% juurde.&lt;br /&gt;
&lt;br /&gt;
[[File:Mass editing range.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Selle asemel et ükshaaval asju läbi käima hakata, selleks pole muud vaja teha kui kasutada välju kus meil on meil mõeldud kogu faili ulatuses asja muutmiseks.&lt;br /&gt;
&lt;br /&gt;
Meie editor toetab moment üht tehet korraga, toetatud on nii jagamine, liitmine, lahutamine, korrutamine.&lt;br /&gt;
&lt;br /&gt;
Näide 1:&lt;br /&gt;
&lt;br /&gt;
Asendame real &amp;quot;Targets_Group&amp;quot; kollases tulbas väärtuse &amp;quot;=true&amp;quot; näiteks väärtusega &amp;quot;=false&amp;quot; ja kinnitamiseks vajutame S nuppu (Enter siin ei tööta). &lt;br /&gt;
&lt;br /&gt;
Kõik &amp;quot;Targets_Group&amp;quot; väljad lähevad false-deks kõikides kohtades nagu &amp;quot;Magic Single Target Offense&amp;quot;, &amp;quot;Melee Defence&amp;quot;, &amp;quot;Summon Single&amp;quot;-  ühesõnaga igal pool.&lt;br /&gt;
&lt;br /&gt;
Näide 2.&lt;br /&gt;
&lt;br /&gt;
Asendame real &amp;quot;Damage_max&amp;quot; kollases tulbas (mis on tulp kui sa soovid kõikides kohtades seda muuta) väärtuse &amp;quot;=10&amp;quot; (või mis iganes number seal on) väärtusega &amp;quot;+5&amp;quot; (kustutame =10 sealt enne ära) ja vajutame S nuppu.&lt;br /&gt;
&lt;br /&gt;
Kõikidele Damage_max endistele väärtustele liideti igal pool 5 juurde.&lt;br /&gt;
&lt;br /&gt;
Vea puhul kirjutatakse väljad lihtsalt üle sellega mis sa sisestasid.&lt;br /&gt;
Komakohtade jaoks kasuta koma, mitte punkti.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ülevaatlikus ===&lt;br /&gt;
XML on tegelikult suht loetav aga editor annab siiski navigeerimisel eelise. Meie Editor leiab üles näiteks elemendi sisse peidetud Texture2D alamelemendid ja näitab neid võimalusel piltidena. Sa näed ka andmeid veidi inimsõbralikumas vormis. &lt;br /&gt;
&lt;br /&gt;
XML faili sees olevate objektide puhul tekivad punakad nupud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kasutasime Windows Presentation Foundation vahendeid. Mängu Objektide XML formaati serialiseerimiseks kasutame XmlSerializer-it. Andmete kirjutamiseks faili kasutame StreamWriter-it.&lt;br /&gt;
XML toimetajas kasutasime XML andmete failist mälusse laadimiseks, mälus töötlemiseks ja faili salvestamiseks klassi XElement. Kasutasime päringukeelt LINQ.&lt;br /&gt;
&lt;br /&gt;
== Tööjaotus ==&lt;br /&gt;
* Kristjan Stolin - idee &amp;amp; programmeerimine &amp;amp; wiki&lt;br /&gt;
* Ilmar Telga - programmeerimine &amp;amp; disain &amp;amp; wiki&lt;br /&gt;
* Lauri Kermas - programmeerimine, loogiline ülesehitus, juhendaja&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
=== 11. detsember ===&lt;br /&gt;
Proovisime DataTemplate-iga kuid see tundus liiga jäik ja ei õnnestunud asju dünaamiliseks teha&lt;br /&gt;
&lt;br /&gt;
=== 1. detsember ===&lt;br /&gt;
Proovisime andmete esitamist DataGrid-iga, kuid kuid LINQ päringutest saadud andmeid ei saanud muuta. &lt;br /&gt;
&lt;br /&gt;
=== 29. november ===&lt;br /&gt;
LINQ-ga harjutamine. Algus oli raske.&lt;br /&gt;
&lt;br /&gt;
=== 23. november ===&lt;br /&gt;
Esialgne XML toimetaja versioon.&lt;br /&gt;
&lt;br /&gt;
=== 16. november ===&lt;br /&gt;
Selgus, et objekti serialiseerija nõuab, et klassil oleks parameetrita konstruktor.&lt;br /&gt;
Uurisime failikirjutajaid. Proovisime XmlWriter-it kuid see kirjutab failis teksti ühele reale. StreamWriter kirjutab XML elemendid faili eraldi ridadele ja liigendab need nii, et fail on ka inimesele loetav.&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Dynamic_disks&amp;diff=20691</id>
		<title>Dynamic disks</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Dynamic_disks&amp;diff=20691"/>
		<updated>2010-12-16T17:20:34Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;POOLELI VEEL&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Dynamic Disk&#039;&#039; ehk dünaamiline ketas on füüsiline ketas, millel on omadusi, mida ei ole tavalistel ketastel, nagu näiteks toetus &#039;&#039;Volume Spanningu&#039;&#039; jaoks mitmelt kettalt. Dünaamilised kettad kasutavad peidetud andmebaasi,  et jälgida informatsiooni dünaamiliste andme-mahtude kohta nii kettal kui ka teistel, arvutis paiknevatel, dünaamilistel ketastel. Dünaamilise ketta haldamise meetod on meetod Windows operatsioonisüsteemile, mida tutvustati esmaselt Windows 2000 operatsiooni süsteemiga. Põhikontseptsioon pandi paika Unix platformil aastaid varem. Dünaamilistel ketastel on erinevad tüübid, nagu näiteks &#039;&#039;Simple Volume&#039;&#039;, &#039;&#039;Spanned Volume&#039;&#039;, &#039;&#039;Mirrored Volume&#039;&#039;, &#039;&#039;RAID-5 Volume&#039;&#039; ja ka &#039;&#039;Striped Volume&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Mõned &#039;&#039;Dynamic Disk&#039;&#039;´i funktsioonid:&lt;br /&gt;
*Loo või kustuta &#039;&#039;Simple&#039;&#039;, &#039;&#039;Spanned&#039;&#039;, Striped&#039;&#039;, &#039;&#039;Mirrored&#039;&#039; või &#039;&#039;RAID-5 Volume&#039;&#039;´e.&lt;br /&gt;
*Laienda &#039;&#039;Simple&#039;&#039; või &#039;&#039;Spanned Volume&#039;&#039;´e.&lt;br /&gt;
*Paranda &#039;&#039;Mirrored&#039;&#039; või &#039;&#039;RAID-5 Volume&#039;&#039;´e.&lt;br /&gt;
*Reaktiveeri puudu- või väljasolevaid kettaid.&lt;br /&gt;
&lt;br /&gt;
== Dünaamilise ketta terminid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Volume&#039;&#039;&#039;&#039;&#039; - Dünaamiliste andmete hoiustamisüksus, mis on loodud vabast ruumist kas ühel või rohkematel ketastel. See võib olla vormindatud faili-süsteemiga ja lisaks määratud ka draivi-täht. Dünaamiliste ketastel paiknevatel &#039;&#039;Volume&#039;&#039;’idel on järgnevad tüübid: &#039;&#039;Simple&#039;&#039;, &#039;&#039;Spanned&#039;&#039;, &#039;&#039;Mirrored&#039;&#039;, &#039;&#039;Striped&#039;&#039; ja &#039;&#039;RAID-5&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Simple Volume&#039;&#039;&#039;&#039;&#039; - Kasutab vaba kettaruumi üksikult kettalt. See võib olla ketta üksik-regioon või koosneda mitmetest liidetud regioonidest. &#039;&#039;Simple Volume&#039;&#039;’i saab laiendada kas samal kettal või lisatud ketastele. Kui &#039;&#039;Simple Volume&#039;&#039; on laiendatud üle mitme ketta, muutub &#039;&#039;Simple Volume&#039;&#039; &#039;&#039;Spanned Volume&#039;&#039;’iks. (Vt. alltoodud näidet &#039;&#039;Simple Volume&#039;&#039;´ist)&lt;br /&gt;
&lt;br /&gt;
[[File:Küllonkena11.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Spanned Volume&#039;&#039;&#039;&#039;&#039; - Loodud vabast kettaruumist, mis on ühendatud üle mitme ketta. On võimalik laiendada &#039;&#039;Spanned Volume&#039;&#039;’i maksimaalselt 32-le kettale. &#039;&#039;Spanned volume&#039;&#039;’i ei saa peegeldada ja see pole vea-kindel. (Vt. alltoodud näidet &#039;&#039;Spanned Volume&#039;&#039;´ist)&lt;br /&gt;
&lt;br /&gt;
[[File:kelguga11.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Striped Volume&#039;&#039;&#039;&#039;&#039; - &#039;&#039;Volume&#039;&#039;, mille andmed on ülekantavad ühele või rohkematele füüsilistele ketastele. Andmed sellist tüüpi &#039;&#039;Volume&#039;&#039;’il on jaotatud alternatiivselt igale füüsilisele kettale. &#039;&#039;Striped Volume&#039;&#039; ei ole peegeldatav või laiendatav ja pole rikkekindel.  Seda &#039;&#039;Volume&#039;&#039;’i tuntakse ka &#039;&#039;RAID-0&#039;&#039; nime all. (Vt. alltoodud näidet &#039;&#039;Striped Volume&#039;&#039;´ist)&lt;br /&gt;
&lt;br /&gt;
[[File:hangest11.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Mirrored volume&#039;&#039;&#039;&#039;&#039; - Veakindel  &#039;&#039;Volume&#039;&#039;, mille andmed on kopeeritud kahele füüsilisele kettale. Kõik andmed, mis paiknevad ühel &#039;&#039;Volume&#039;&#039;’il, on kopeeritud teiste ketaste andmete hoiustamisüksusesse, nii et kui üks ketas lakkab töötamast, saab siiski andmetele ligi läbi teise allesjäänud ketta. &#039;&#039;Mirrored volume&#039;&#039;’i ei saa laiendada ja see on samuti tuntud ka &#039;&#039;RAID-1&#039;&#039;’na.&lt;br /&gt;
(Vt. alltoodud näidet &#039;&#039;Mirrored Volume&#039;&#039;´ist)&lt;br /&gt;
&lt;br /&gt;
[[File:alla11.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;RAID-5&#039;&#039;&#039;&#039;&#039; - Rikkekindel ketas, mille kolmele või enamale kettale on vaheldumisi salvestatud andmed ja paarsus. Paarsus on arvutatud väärtus, mille abil taastatakse andmed pärast tõrke tekkimist. Kui füüsilist ketast tabab tõrge, loob Windows allesjäänud andmete ja paarsuse põhjal rikutud osal asunud andmed uuesti. &#039;&#039;RAID-5&#039;&#039; draive&#039;i saate luua ainult dünaamilistel ketastel ja neid draive ei saa peegeldada ega laiendada. (Vt. alltoodud näidet &#039;&#039;RAID-5 Volume&#039;&#039;´ist)&lt;br /&gt;
&lt;br /&gt;
[[File:lasta11.jpeg|border]]&lt;br /&gt;
&lt;br /&gt;
== Probleemid ja negatiivsed küljed ==&lt;br /&gt;
&lt;br /&gt;
Tundub nagu propageeriksid praegu kasutusel olevad Windows Vista, 7 ja 2008 oluliselt rohkem dünaamilise ketta kasutamist, kui nende eelkäijad-versioonid nagu näiteks Windows 2000, XP ja 2003. Põhjus seisneb ilmselt selles, et Windows Vista, 7 ja 2008-ga kaasasoleva Disk Management&#039;i abil on võimalik dünaamiline ketas luua otse põhikettale. Ajal, mil luuakse &#039;&#039;Dynamic Volume&#039;&#039;, konverteerub ka põhiketas automaatselt dünaamiliseks kettaks. Disk Management muudabki dünaamilise ketta loomise väga lihtsaks ka tavakasutajatele. Järgnev kirjeldab dünaamilise ketta kasutamisel tekkivaid probleeme ning selle negatiivseid külgi.&lt;br /&gt;
&lt;br /&gt;
*Pärast põhiketta dünaamiliseks kettaks konverteerimist, ei saa dünaamilist ketast otse, ilma vastavat tööriista kasutamata, põhikettaks taastada. Kõigepealt tuleks kustutada kõik &#039;&#039;Volume&#039;&#039;´id  dünaamilisel kettal ja seejärel konverteerida dünaamiiline ketas tagasi põhikettaks. Lisaks soovitatakse eelnevalt varundada &#039;&#039;Dynamic Volume&#039;&#039;´il olev informatsioon ning alles seejärel konverteerida dünaamiline ketas tagasi põhikettaks. On olemas ka variant konverteerida dünaamiline ketas otse tagasi põhikettaks, kuid seda juba tööriista &amp;quot;Dynamic Disk Converter&amp;quot;it kasutades.&lt;br /&gt;
&lt;br /&gt;
*Multi-süsteemi installeerimine kettale ja selle konverteerimine dynaamiliseks kettaks, võib viia süsteemi ebanormaalse käivutmiseni. See võib juhtuda juhul, kui näiteks Windows 2000 ja Windows XP on installeeritud ühele plaadile. Näiteks kui muuta Windows XP-s põhiketas dünaamiliseks ning seejärel käivitada  Windows 2000, toob see kaasa &amp;quot;Blue Screen Of Death&amp;quot;i ja operatsioonisüsteem ei käivitu. Põhjuseks võib pidada Windows XP dünaamilist ketast, sest süsteem sõltub käivitumisel partitsioonitabelist ning  Windows 2000 kävitamisel ei tea operatsioonisüsteem, et  olemasolev ketas on muudetud dünaamiliseks ning konfiguratsiooniprofiilid Windows 2000 on endiselt põhiketta omad. Nii tekibki viga  arvuti käivitamisel. Järelikult on mõistlik, kasutades multi-süsteemi, mitte konverteerida põhiketast dünaamiliseks.&lt;br /&gt;
&lt;br /&gt;
*Dünaamilised kettad ei ole Windows 98/XP Home´i ja DOS-i üleslaetavate ketaste kaudu ligipääsetavad. Kui peaks olema tekkinud viga arvuti käivitamisel, siis sellise probleemi lanhedamine vanu meetodeid kasutades oleks üsnagi keerukas. Hiljutised operatsioonisüsteemid, Windows Vista ja hilisemad, toetavad dünaamilisi kettaid. Lisaks, dünaamilist ketast ei toeta kolmanda osapoole partatsiooni haldamise tööriistasid, nagu Acronis Disk Director, Paragon Partition Manager, Easeus Partation Master jne.&lt;br /&gt;
&lt;br /&gt;
*Tegelikult ei saa dünaamilist ketast viia süsteemi partitsiooni. &#039;&#039;Spanned Volume&#039;&#039; ja &#039;&#039;Striped Volume&#039;&#039; võimaldavad laiendada &#039;&#039;Volume&#039;&#039;´i mahutatavust, kasutades mitmik-kettal olevat kasutamata ruumi, kuid süsteemipartitsiooni &#039;&#039;Simple Volume&#039;&#039; ei saa eksisteerida multi-kettal. Samuti  pole võimalik pääseda &#039;&#039;Spanned&#039;&#039; ja &#039;&#039;Striped Volume&#039;&#039;´ile ligi, kui üks neist ketastest on kahjustatud.&lt;br /&gt;
&lt;br /&gt;
*Lisaks seisneb probleem ka selles, et kas Windows Vista/2008 ja Windows 7 saab installeerida dünaamilisele kettale või mitte. Et tagada andmete turvalisus, ei saa operatsioonisüsteemi paigaldada dünaamilisele kettale. Erandiks on, et OS-i saab installida dünaamilise süsteemi &#039;&#039;Volume&#039;&#039;´ile. Nt: Kõigepealt installeeritakse Vista põhikettale ning seejärel muuta põhiketas dünaamiliseks ja siis sellele dünaamilisele kettale saab otse installeerida OS(näiteks Windows 7 vms), et asendada algselt installeeritud Vista. Windows 2000/XP/2003 nende installerimisel ei suudeta tagada andmete turvalisus nii hästi kui Vistal, sest tavaliselt &#039;&#039;Dynamic Volume&#039;&#039; hävineb installeerimise käigus, seega on soovituslik esmalt muretsenda endale Dynamic Disk Converter, et konverteerida dünaamiline ketas põhikettaks ja siis installeerida uus operatsioonisüsteem, et vältida andmete kahjustumist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Võimalused  ==&lt;br /&gt;
&lt;br /&gt;
Erinevates operatsioonisüsteemides &#039;&#039;Simple&#039;&#039;, &#039;&#039;Striped&#039;&#039;, &#039;&#039;Spanned&#039;&#039;, &#039;&#039;Mirrored&#039;&#039; ja &#039;&#039;RAID-5 Volume&#039;&#039;´ite kasutamisvõimalused.&lt;br /&gt;
&lt;br /&gt;
[[File:teretere111.jpeg]]&lt;br /&gt;
&lt;br /&gt;
== Hoiatus ==&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Asjad, mida peaks &#039;&#039;&#039;KINDLASTI&#039;&#039;&#039; teadma, enne  kui otsustatakse põhiketas konverteerida dünaamiliseks kettaks.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*Et luua dünaamilist ketast, peate olema süsteemi sisse logitud administraatorina.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ÄRA&#039;&#039;&#039; konverteeri ketast, millele on installeeritud operatsioonisüsteem, dünaamiliseks kettaks. Sedasi talitades loote olukorra, kus ei ole võimalik enam seda operatsioonisüsteemi käivitada.&lt;br /&gt;
&lt;br /&gt;
*Kui te kasutate põhiketast varikoopiate andmete varundamiseks ja te kavatsete konverteerida ketast dünaamiliseks, on oluline võtta kasutusele järgnevad ettevaatusabinõud, et hoida ära andmete kadumaminek: Kui põhiketas ei ole kasutusel kui üleslaetav ketas (partatsioon) on mõistlik see välja lülitada, enne kui konverteerida varundandmeid sisaldav ketas dünaamiliseks kettaks. Et kettal olevad varikoopiad ei hävineks, on oluline, et originaalfaile sisaldav ketas lülitataks tööle lähima 20 minuti jooksul. Kui varikoopiad asuvad boot volume&#039;il, on võimalik ketas konverteerida dünaamiliseks kettaks, ilma andmeid kaotamata. Käsk mountvol, koos lisaatribuudiga /p, on mõeldud volume&#039;i väljalülitamiseks. &#039;&#039;Volume&#039;&#039;´i käivitamiseks on Disk Management&#039;is olemas snap-in käsk, või käsurealt käsk mountvol.&lt;br /&gt;
&lt;br /&gt;
*Taastades dünaamiliselt kettalt System Image&#039;it, ei ole võimalik arvutis olevaid kettaid formattida, et sobitada ketast tagavarakettaga. Et kasutada täisfunktsionaalsust, selekteeri põhikettal olev &#039;&#039;Volume&#039;&#039; tagavara asukohana.&lt;br /&gt;
&lt;br /&gt;
*Pärast põhiketta dünaamiliseks kettaks muutmist, ei ole võimalik &#039;&#039;Dynamic Volume&#039;&#039;´i tagasi partitsioonideks muuta. Selleasemel on vajalik kustutada kõik dünaamilisel kettal olevad &#039;&#039;Volume&#039;&#039;´id ning seejärel muuta see tagasi tavakettaks. Et &#039;&#039;&#039;säilitada andmeid&#039;&#039;&#039;, on tarvis need eelnevalt kõrvalolevale kettale varundada.&lt;br /&gt;
&lt;br /&gt;
*Püüdes Disk Managementis midagi muuta, olles eelnevalt keelustanud Disk Defragmenteri teenuse, saate veateate. Selle vältimiseks jälgige, et Disk Defragmenteri teenus on seadistatud manuaalsele sisse-välja lülitamisele.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Põhiketta konverteerimine dünaamiliseks kettaks ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. võimalus:&#039;&#039;&#039;&lt;br /&gt;
Käsurealt põhiketta konverteerimiseks dünaamiliseks kettaks &#039;&#039;Command Prompt&#039;&#039;´i- abil:&lt;br /&gt;
&lt;br /&gt;
   #Ava &#039;&#039;Command Prompt&#039;&#039; administraatorina ja trüki sinna &#039;&#039;diskpart&#039;&#039; ning vajuta &#039;&#039;ENTER&#039;&#039;.&lt;br /&gt;
   #Kirjuta käsureale &#039;&#039;List Disk&#039;&#039;.  &#039;&#039;&#039;NB!&#039;&#039;&#039;Pead teadma, millist ketast soovid konverteerida. &lt;br /&gt;
   #Kirjuta käsureale &#039;&#039;Select Disk&#039;&#039; #.(# asenda oma ketta-numbriga, nt. Disk1)&lt;br /&gt;
   #Kirjuta käsureale &#039;&#039;Convert Dynamic&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Seehulgas:&lt;br /&gt;
&#039;&#039;&#039;List Disk&#039;&#039;&#039; kuvab nimekirja, millised kettad arvutis paiknevad ja annab ka informatsiooni nende kohta. Näiteks: Ketaste ja vaba ruumi suuruse või kas on tegemist põhi- või dünaamilise kettaga.  Lisaks saab teada, kas andmekandja on seadistatud kasutama alglaadimise sissekandeid(Master Boot Record - MBR) või GUID partatsioonitabelit (GPT). Ketas, mille ees on tärnike(*), sellele on parasjagu fokuseeritud.&lt;br /&gt;
&#039;&#039;&#039;Select Disk&#039;&#039;&#039;´i abil on võimalik valida enda jaoks vajaminev ketas ja see kinnitada, mis hiljem soovitakse dünaamiliseks kettaks konverteerida.&lt;br /&gt;
&#039;&#039;&#039;Convert Dynamic&#039;&#039;&#039; käsk konverteeribki põhiketta dünaamiliseks. Kõik eksisteerivad partatsioonid muutuvad &#039;&#039;Simple Volume&#039;&#039;´ideks.&lt;br /&gt;
&lt;br /&gt;
Vaata ka illustreerivat pilti:&lt;br /&gt;
&lt;br /&gt;
[[File:ilusiluscmd.jpeg]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. võimalus:&#039;&#039;&#039;&lt;br /&gt;
Kasutades &#039;&#039;Disk Management&#039;&#039;´i:&lt;br /&gt;
&lt;br /&gt;
1. Esmalt ava &#039;&#039;Server Manager&#039;&#039; ning seejärel vasakul-olevast tulbast &#039;&#039;Storage&#039;&#039; alt leiad &#039;&#039;Disk Management&#039;&#039;´i.&lt;br /&gt;
&lt;br /&gt;
[[File:Sa11.jpeg]]&lt;br /&gt;
&lt;br /&gt;
2. Seejärel vajuta parem &#039;&#039;click&#039;&#039; kettale, mida soovid hakata konverteerida dünaamiliseks kettaks. Avanevad erinevad võimalused, mis selle kettaga teha saab, kuid tuleb valida käsk &#039;&#039;Convert to Dynamic Disk&#039;&#039; ehk konverteeri dünaamiliseks kettaks.&lt;br /&gt;
&lt;br /&gt;
[[File:Lootma11.jpeg]]&lt;br /&gt;
&lt;br /&gt;
3. Pärast seda, kui oled vajutanud käsule &#039;&#039;Convert to Dynamic Disk&#039;&#039;, avaneb aken, kus saab veel igaks juhuks täpsustada ja üle kontrollida, et oled ikka valinud õige ketta, mida konverteerima hakkad. Kui kõik on õige, tuleb vajutada käsule &amp;quot;OK&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:Pead11.jpeg]]&lt;br /&gt;
&lt;br /&gt;
4. Kui vajutasid &amp;quot;OK&amp;quot;´le nagu eelmises punktis kirjas oli, avaneb viimast korda enne põhiketta konverteerimist dünaamiliseks kettaks, kontroll-aken tekstiga: Ketas, mida soovite konverteerida dünaamiliseks, on näidatud alljärgnevas listis. Kui oled oma valikus kindel, vajuta käsule &#039;&#039;Convert&#039;&#039;. &#039;&#039;&#039;NB!&#039;&#039;&#039; Et näha rohkem informatsiooni konverteeritava ketta kohta, vajuta käsule &#039;&#039;Details&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
[[File:6nn11.jpeg]]&lt;br /&gt;
&lt;br /&gt;
5. Ja ongi valmis: oled konverteerinud põhiketta dünaamiliseks kettaks.&lt;br /&gt;
&lt;br /&gt;
[[File:Eimöödu11.jpeg]]&lt;br /&gt;
&lt;br /&gt;
== Kasutatud kirjandus ==&lt;br /&gt;
&lt;br /&gt;
*http://www.easeus.com/resource/dynamic-disk-recovery.htm&lt;br /&gt;
*http://technet.microsoft.com/en-us/library/cc976790.aspx&lt;br /&gt;
*http://www.sevenforums.com/tutorials/26823-convert-basic-disk-dynamic-disk.html&lt;br /&gt;
*http://technet.microsoft.com/en-us/library/cc977216.aspx&lt;br /&gt;
*http://www.dynamic-disk.com/what-is-dynamic-disk.html&lt;br /&gt;
*http://www.petri.co.il/difference_between_basic_and_dynamic_disks_in_windows_xp_2000_2003.htm&lt;br /&gt;
*http://www.computerperformance.co.uk/Litmus/disk_dynamic.htm&lt;br /&gt;
*http://www.partition-tool.com/resource/extend-windows-server-dynamic-disk.htm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Autor ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Katrin Kukk A22&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Kosmoseahi%22&amp;diff=20635</id>
		<title>Talk:Meeskond &quot;Kosmoseahi&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Kosmoseahi%22&amp;diff=20635"/>
		<updated>2010-12-16T15:49:22Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Küll minust ka kord kange kosmosepiraat saab.&lt;br /&gt;
&lt;br /&gt;
Aga mitte täna. Mitte selle mänguga. Mängu tulistamisnuppu oli mõtekas pidevalt all hoida. Küll kuskil miski ikka pihta saab.&lt;br /&gt;
&lt;br /&gt;
Asi töötas, kokku ei jooksnud. Mingit manuali sellisele mängule vaja ei lähe. Netis olevad highscorid oli lahe idee. Ega selle ajaga&lt;br /&gt;
paremat asja valmis vast poleks saanudki.&lt;br /&gt;
&lt;br /&gt;
Sourcu ei vaadanud, aga selge on see et sellise mahuga asja pelgalt if-ide peale üles ei ehita.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;&amp;lt;K.Stolin&amp;gt;&amp;gt;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22Ready_or_Not,_Here_it_Comes!%22&amp;diff=20633</id>
		<title>Meeskond &quot;Ready or Not, Here it Comes!&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22Ready_or_Not,_Here_it_Comes!%22&amp;diff=20633"/>
		<updated>2010-12-16T15:11:41Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kui mäng on korduma hakanud, siis tahavad aktiivsemad kasutajad tihti kätt proovida mängu oma soovidele vastavalt muutes.&lt;br /&gt;
Selleks on tavaliselt mängu tegijad loonud mingid võimalused kas editoride või mingite inimkeeli loetavate ja kirjutatavate failide näol.&lt;br /&gt;
&lt;br /&gt;
Tooks siin näiteks mängu &amp;quot;Heroes of Might and Magic V&amp;quot;. Heroes 5 on läinud seda teed et ta enamiku oma andmeid on salvestanud XML-formaadis failidesse, mida on tuhandeid ja mis kokkupakitult võtavad ruumi 1.4 GB.&lt;br /&gt;
&lt;br /&gt;
[[File:Heroes5 data.png|600px|border]]&lt;br /&gt;
 &lt;br /&gt;
Asi on antud &amp;quot;as is&amp;quot; ingl.k, ilma dokumentatsioonita, et väljade nimede järgi peavad inimesed ise aru saama millega on tegu, mis tähendab ka väga palju sihitut sobramist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Teine variant on teha selline editor, nagu kasutas mäng Age of Wonders II (Shadow Magic).&lt;br /&gt;
&lt;br /&gt;
[[File:Shadow_magic_editor.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Tavaliselt on sellisel editoril väljad aga hard-coditud, mis tähendab seda et kui sa lisad midagi mängu mootorisse, pead sa ümber tegema ka editori. Tihti jääb aga editor lihtsalt uuendamata, mis tähendab et kasutaja ei pruugi pääseda kõikidele vajalikele väljadele üldse pärast ligigi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meie lähenemine oli teha mõlemat, panna mängu data XML failidesse ja teha abiks veel editor, mis suudaks XML failidega automaatselt hakkama saada. &lt;br /&gt;
&lt;br /&gt;
Võiks ju küsida, et kui asju juba saab muuta XML faili sisu muutes, et miks seda editori üldse vaja peaks minema? Minu vastus oleks KIIRUS, MUGAVUS ja ÜLEVAATLIKUS.&lt;br /&gt;
&lt;br /&gt;
=== Kiirus  === &lt;br /&gt;
&lt;br /&gt;
Editoris on nupud töö kiirendamise jaoks, nagu True, False väljade automaatne täitmine. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Mugavad truefalse nupud.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mingite suurte elementide kustutamine on ka vaid üks &lt;br /&gt;
nupulevajutus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Elemendi kustutamis nupp.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Samuti elementide kopeerimine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Mugavus ===&lt;br /&gt;
Ma (Kristjan Stolin) olen modifitseerinud oma lemmikmänge ja ka oma projekte juba aastakümneid. &lt;br /&gt;
Tihti on muutus mida sa tahad sisse viia suur töö.&lt;br /&gt;
&lt;br /&gt;
Näiteks tahad sa mängu tasakaalu huvides panna kõikidele mängu elukatele 20% võrra elupunkte juurde. Mida ma vaene inimene pean siis &lt;br /&gt;
&lt;br /&gt;
tegema kui terve päeva kulutama sellele, et ma mingi ebamugava editoriga käin kõik need sajad elukad ükshaaval läbi ja arvutan peas kui palju elusid juurde lisada ja siis panen &lt;br /&gt;
neile kõigile uue elude arvu. Ja voila! Oled rõõmus oma suure töö üle, kuid pärast paar päeva testimist selgub et sellest elude lisamisest oli ikkagi vähe ja vaja &lt;br /&gt;
&lt;br /&gt;
kõigile elukatele veel elusid paari punkti&lt;br /&gt;
võrra juurde keerata. Ja jälle tööd kui palju.&lt;br /&gt;
&lt;br /&gt;
Et seda asja inimesele mugavaks teha, tegime oma editori sisse võimalusi kõiki välju korraga muuta, näiteks lisame siin kõigele &amp;quot;Range&amp;quot; välja väärtustele 20% juurde.&lt;br /&gt;
[[File:Mass editing range.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Selle asemel et ükshaaval asju läbi käima hakata, selleks pole muud vaja teha kui kasutada välju kus meil on meil mõeldud kogu faili ulatuses asja muutmiseks.&lt;br /&gt;
&lt;br /&gt;
Meie editor toetab moment üht tehet korraga, toetatud on nii jagamine, liitmine, lahutamine, korrutamine.&lt;br /&gt;
Vea puhul kirjutatakse väljad lihtsalt üle sellega mis sa sisestasid.&lt;br /&gt;
Komakohtade jaoks kasuta koma, mitte punkti.&lt;br /&gt;
&lt;br /&gt;
=== Ülevaatlikus ===&lt;br /&gt;
XML on tegelikult suht loetav aga editor annab siiski navigeerimisel eelise. Meie Editor leiab üles näiteks elemendi sisse peidetud Texture2D alamelemendid ja näitab neid võimalusel piltidena. Sa näed ka andmeid veidi inimsõbralikumas vormis. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kasutasime Windows Presentation Foundation vahendeid. Mängu Objektide XML formaati serialiseerimiseks kasutame XmlSerializer-it. Andmete kirjutamiseks faili kasutame StreamWriter-it.&lt;br /&gt;
XML toimetajas kasutasime XML andmete failist mälusse laadimiseks, mälus töötlemiseks ja faili salvestamiseks klassi XElement. Kasutasime päringukeelt LINQ.&lt;br /&gt;
&lt;br /&gt;
== Tööjaotus ==&lt;br /&gt;
* Kristjan Stolin - idee &amp;amp; programmeerimine &amp;amp; wiki&lt;br /&gt;
* Ilmar Telga - programmeerimine &amp;amp; disain &amp;amp; wiki&lt;br /&gt;
* Lauri Kermas - programmeerimine, loogiline ülesehitus, juhendaja&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
=== 11. detsember ===&lt;br /&gt;
Proovisime DataTemplate-iga kuid see tundus liiga jäik ja ei õnnestunud asju dünaamiliseks teha&lt;br /&gt;
&lt;br /&gt;
=== 1. detsember ===&lt;br /&gt;
Proovisime andmete esitamist DataGrid-iga, kuid kuid LINQ päringutest saadud andmeid ei saanud muuta. &lt;br /&gt;
&lt;br /&gt;
=== 29. november ===&lt;br /&gt;
LINQ-ga harjutamine. Algus oli raske.&lt;br /&gt;
&lt;br /&gt;
=== 23. november ===&lt;br /&gt;
Esialgne XML toimetaja versioon.&lt;br /&gt;
&lt;br /&gt;
=== 16. november ===&lt;br /&gt;
Selgus, et objekti serialiseerija nõuab, et klassil oleks parameetrita konstruktor.&lt;br /&gt;
Uurisime failikirjutajaid. Proovisime XmlWriter-it kuid see kirjutab failis teksti ühele reale. StreamWriter kirjutab XML elemendid faili eraldi ridadele ja liigendab need nii, et fail on ka inimesele loetav.&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22Ready_or_Not,_Here_it_Comes!%22&amp;diff=20632</id>
		<title>Meeskond &quot;Ready or Not, Here it Comes!&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22Ready_or_Not,_Here_it_Comes!%22&amp;diff=20632"/>
		<updated>2010-12-16T14:55:54Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kui mäng on korduma hakanud, siis tahavad aktiivsemad kasutajad tihti kätt proovida mängu oma soovidele vastavalt muutes.&lt;br /&gt;
Selleks on tavaliselt mängu tegijad loonud mingid võimalused kas editoride või mingite inimkeeli loetavate ja kirjutatavate failide näol.&lt;br /&gt;
&lt;br /&gt;
Tooks siin näiteks mängu &amp;quot;Heroes of Might and Magic V&amp;quot;. Heroes 5 on läinud seda teed et ta enamiku oma andmeid on salvestanud XML-formaadis failidesse, mida on tuhandeid ja mis kokkupakitult võtavad ruumi 1.4 GB.&lt;br /&gt;
&lt;br /&gt;
[[File:Heroes5 data.png|600px|border]]&lt;br /&gt;
 &lt;br /&gt;
Asi on antud &amp;quot;as is&amp;quot; ingl.k, ilma dokumentatsioonita, et väljade nimede järgi peavad inimesed ise aru saama millega on tegu, mis tähendab ka väga palju sihitut sobramist.&lt;br /&gt;
&lt;br /&gt;
Teine variant on teha selline editor, nagu kasutas mäng Age of Wonders II (Shadow Magic).&lt;br /&gt;
&lt;br /&gt;
[[File:Shadow_magic_editor.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Tavaliselt on sellisel editoril väljad aga hard-coditud, mis tähendab seda et kui sa lisad midagi mängu mootorisse, pead sa ümber tegema ka editori. Tihti jääb aga editor lihtsalt uuendamata, mis tähendab et kasutaja ei pruugi pääseda kõikidele vajalikele väljadele üldse pärast ligigi.&lt;br /&gt;
&lt;br /&gt;
Meie lähenemine oli teha mõlemat. Panna mängu data XML failidesse ja teha abiks veel editor, mis suudaks XML failidega automaatselt hakkama saada. &lt;br /&gt;
&lt;br /&gt;
Võiks ju küsida, et kui asju saab muuta XML faili sisu muutes, et miks see editor siis üldse hea peaks olema? Minu vastus oleks &amp;quot;kiirus, mugavus ja ülevaade&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kiirus&amp;quot; &lt;br /&gt;
Editorile saad sa lisada nuppe töö kiirendamise jaoks, nagu True, False väljade automaatne täitmine. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Mugavad truefalse nupud.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mingite suurte elementide kustutamine on ka vaid üks &lt;br /&gt;
nupulevajutus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Elemendi kustutamis nupp.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Samuti elementide kopeerimine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Mugavus&amp;quot;&lt;br /&gt;
Ma (Kristjan Stolin) olen modifitseerinud oma lemmikmänge ja ka oma projekte juba aastakümneid. &lt;br /&gt;
Tihti on muutus mida sa tahad sisse viia suur töö.&lt;br /&gt;
&lt;br /&gt;
Näiteks tahad sa mängu tasakaalu huvides panna kõikidele mängu elukatele 20% võrra elupunkte juurde. Mida ma vaene inimene pean siis &lt;br /&gt;
&lt;br /&gt;
tegema kui terve päeva kulutama sellele, et ma mingi ebamugava editoriga käin kõik need sajad elukad ükshaaval läbi ja arvutan peas kui palju elusid juurde lisada ja siis panen &lt;br /&gt;
neile kõigile uue elude arvu. Ja voila! Oled rõõmus oma suure töö üle, kuid pärast paar päeva testimist selgub et sellest elude lisamisest oli ikkagi vähe ja vaja &lt;br /&gt;
&lt;br /&gt;
kõigile elukatele veel elusid paari punkti&lt;br /&gt;
võrra juurde keerata. Ja jälle tööd kui palju.&lt;br /&gt;
&lt;br /&gt;
Et seda asja inimesele mugavaks teha, tegime oma editori sisse võimalusi kõiki välju korraga muuta, näiteks lisame siin kõigele &amp;quot;Range&amp;quot; välja väärtustele 20% juurde.&lt;br /&gt;
[[File:Mass editing range.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Selle asemel et ükshaaval asju läbi käima hakata, selleks pole muud vaja teha kui kasutada välju kus meil on meil mõeldud kogu faili ulatuses asja muutmiseks.&lt;br /&gt;
&lt;br /&gt;
Meie editor toetab moment üht tehet korraga, toetatud on nii jagamine, liitmine, lahutamine, korrutamine.&lt;br /&gt;
Vea puhul kirjutatakse väljad lihtsalt üle sellega mis sa sisestasid.&lt;br /&gt;
Komakohtade jaoks kasuta koma, mitte punkti.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Ülevaade&amp;quot;&lt;br /&gt;
XML on tegelikult suht loetav aga editor annab siiski navigeerimisel eelise. Meie Editor leiab üles näiteks elemendi sisse peidetud Texture2D alamelemendid ja näitab neid võimalusel piltidena. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plaanis on teha XNA projektis tehtud mängule salvestamise funktsioon ja salvestatud failile toimetaja. Kasutame Windows Presentation Foundation vahendeid. &lt;br /&gt;
&lt;br /&gt;
Mängu salvestamine toimub XML formaadis faili. Objektide XML formaati serialiseerimiseks kasutame XmlSerializer-it. Andmete kirjutamiseks faili kasutame StreamWriter-it.&lt;br /&gt;
&lt;br /&gt;
XML toimetajas kasutame XML andmete failist mälusse laadimiseks, mälus töötlemiseks ja faili salvestamiseks klassi XElement.&lt;br /&gt;
&lt;br /&gt;
== Tööjaotus ==&lt;br /&gt;
* Kristjan Stolin - idee &amp;amp; programmeerimine&lt;br /&gt;
* Ilmar Telga - programmeerimine &amp;amp; disain &amp;amp; wiki&lt;br /&gt;
* Lauri Kermas - programmeerimine&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
=== 11. detsember ===&lt;br /&gt;
Proovisime DataTemplate-iga kuid see tundus liiga jäik ja ei õnnestunud asju dünaamiliseks teha&lt;br /&gt;
&lt;br /&gt;
=== 1. detsember ===&lt;br /&gt;
Proovisime andmete esitamist DataGrid-iga, kuid kuid LINQ päringutest saadud andmeid ei saanud muuta. &lt;br /&gt;
&lt;br /&gt;
=== 29. november ===&lt;br /&gt;
LINQ-ga harjutamine. Algus oli raske.&lt;br /&gt;
&lt;br /&gt;
=== 23. november ===&lt;br /&gt;
Esialgne XML toimetaja versioon.&lt;br /&gt;
&lt;br /&gt;
=== 16. november ===&lt;br /&gt;
Selgus, et objekti serialiseerija nõuab, et klassil oleks parameetrita konstruktor.&lt;br /&gt;
Uurisime failikirjutajaid. Proovisime XmlWriter-it kuid see kirjutab failis teksti ühele reale. StreamWriter kirjutab XML elemendid faili eraldi ridadele ja liigendab need nii, et fail on ka inimesele loetav.&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Mugavad_truefalse_nupud.png&amp;diff=20625</id>
		<title>File:Mugavad truefalse nupud.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Mugavad_truefalse_nupud.png&amp;diff=20625"/>
		<updated>2010-12-16T14:46:29Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Mass_editing_range.png&amp;diff=20623</id>
		<title>File:Mass editing range.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Mass_editing_range.png&amp;diff=20623"/>
		<updated>2010-12-16T14:38:52Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Elemendi_kustutamis_nupp.png&amp;diff=20618</id>
		<title>File:Elemendi kustutamis nupp.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Elemendi_kustutamis_nupp.png&amp;diff=20618"/>
		<updated>2010-12-16T14:29:12Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22Ready_or_Not,_Here_it_Comes!%22&amp;diff=20615</id>
		<title>Meeskond &quot;Ready or Not, Here it Comes!&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22Ready_or_Not,_Here_it_Comes!%22&amp;diff=20615"/>
		<updated>2010-12-16T14:19:16Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Heroes5 data.png|thumb|600px]]&lt;br /&gt;
Kui mäng on korduma hakanud, siis tahavad aktiivsemad kasutajad tihti kätt proovida mängu oma soovidele vastavalt muutes.&lt;br /&gt;
Selleks on tavaliselt mängu tegijad loonud mingid võimalused kas editoride või mingite inimkeeli loetavate ja kirjutatavate failide näol.&lt;br /&gt;
&lt;br /&gt;
Tooks siin näiteks mängu &amp;quot;Heroes of Might and Magic V&amp;quot;. Heroes 5 on läinud seda teed et ta enamiku oma andmeid on salvestanud XML-formaadis failidesse, mida on tuhandeid ja mis kokkupakitult võtavad ruumi 1.4 GB.&lt;br /&gt;
 &lt;br /&gt;
Asi on antud &amp;quot;as is&amp;quot; ingl.k, ilma dokumentatsioonita, et väljade nimede järgi peavad inimesed ise aru saama millega on tegu, mis tähendab ka väga palju sihitut sobramist.&lt;br /&gt;
&lt;br /&gt;
Teine variant on teha selline editor, nagu kasutas mäng Age of Wonders II (Shadow Magic).&lt;br /&gt;
[[File:Shadow_magic_editor.png|thumb|600px]]&lt;br /&gt;
&lt;br /&gt;
Tavaliselt on sellisel editoril väljad aga hard-coditud, mis tähendab seda et kui sa lisad midagi mängu mootorisse, pead sa ümber tegema ka editori. Tihti jääb aga editor lihtsalt uuendamata, mis tähendab et kasutaja ei pruugi pääseda kõikidele vajalikele väljadele üldse pärast ligigi.&lt;br /&gt;
&lt;br /&gt;
Meie lähenemine oli teha mõlemat. Panna mängu data XML failidesse ja teha abiks veel editor, mis suudaks XML failidega automaatselt hakkama saada. &lt;br /&gt;
&lt;br /&gt;
Võiks ju küsida, et kui asju saab muuta XML faili sisu muutes, et miks see editor siis üldse hea peaks olema? Minu vastus oleks &amp;quot;kiirus, mugavus ja ülevaade&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kiirus&amp;quot; &lt;br /&gt;
Editorile saad sa lisada nuppe, nagu True, False väljade automaatne täitmine. Mingite suurte elementide kustutamine on ka vaid üks &lt;br /&gt;
&lt;br /&gt;
nupulevajutus.&lt;br /&gt;
Samuti elementide kopeerimine.&lt;br /&gt;
[pilt]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Mugavus&amp;quot;&lt;br /&gt;
Ma (Kristjan Stolin) olen modifitseerinud oma lemmikmänge ja ka oma projekte juba aastakümneid. &lt;br /&gt;
Tihti on muutus mida sa tahad sisse viia suur töö.&lt;br /&gt;
&lt;br /&gt;
Näiteks tahad sa mängu tasakaalu huvides panna kõikidele mängu elukatele 20% võrra elupunkte juurde. Mida ma vaene inimene pean siis &lt;br /&gt;
&lt;br /&gt;
tegema kui terve päeva kulutama sellele, et ma mingi ebamugava editoriga käin kõik need sajad elukad ükshaaval läbi ja arvutan peas kui palju elusid juurde lisada ja siis panen &lt;br /&gt;
neile kõigile uue elude arvu. Ja voila! Oled rõõmus oma suure töö üle, kuid pärast paar päeva testimist selgub et sellest elude lisamisest oli ikkagi vähe ja vaja &lt;br /&gt;
&lt;br /&gt;
kõigile elukatele veel elusid paari punkti&lt;br /&gt;
võrra juurde keerata. Ja jälle tööd kui palju.&lt;br /&gt;
&lt;br /&gt;
Et seda asja inimesele mugavaks teha, tegime oma editori sisse võimalusi kõiki välju korraga muuta, näiteks lisame Rangile 20% juurde.&lt;br /&gt;
&lt;br /&gt;
[pilt]&lt;br /&gt;
Selle asemel et ükshaaval asju läbi käima hakata, selleks pole muud vaja teha kui kasutada välju kus meil on meil mõeldud kogu faili ulatuses asja muutmiseks.&lt;br /&gt;
&lt;br /&gt;
[pilt] &lt;br /&gt;
&lt;br /&gt;
Meie editor toetab moment üht tehet korraga, toetatud on nii jagamine, liitmine, lahutamine, korrutamine.&lt;br /&gt;
Vea puhul kirjutatakse väljad lihtsalt üle sellega mis sa sisestasid.&lt;br /&gt;
Komakohtade jaoks kasuta koma, mitte punkti.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Ülevaade&amp;quot;&lt;br /&gt;
XML on tegelikult suht loetav aga editor annab siiski navigeerimisel eelise. Meie Editor leiab üles näiteks elemendi sisse peidetud Texture2D alamelemendid ja näitab neid võimalusel piltidena. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Plaanis on teha XNA projektis tehtud mängule salvestamise funktsioon ja salvestatud failile toimetaja. Kasutame Windows Presentation Foundation vahendeid. &lt;br /&gt;
&lt;br /&gt;
Mängu salvestamine toimub XML formaadis faili. Objektide XML formaati serialiseerimiseks kasutame XmlSerializer-it. Andmete kirjutamiseks faili kasutame StreamWriter-it.&lt;br /&gt;
&lt;br /&gt;
XML toimetajas kasutame XML andmete failist mälusse laadimiseks, mälus töötlemiseks ja faili salvestamiseks klassi XElement.&lt;br /&gt;
&lt;br /&gt;
== Tööjaotus ==&lt;br /&gt;
* Kristjan Stolin - idee &amp;amp; programmeerimine&lt;br /&gt;
* Ilmar Telga - programmeerimine &amp;amp; disain &amp;amp; wiki&lt;br /&gt;
* Lauri Kermas - programmeerimine&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
=== 11. detsember ===&lt;br /&gt;
Proovisime DataTemplate-iga kuid see tundus liiga jäik ja ei õnnestunud asju dünaamiliseks teha&lt;br /&gt;
&lt;br /&gt;
=== 1. detsember ===&lt;br /&gt;
Proovisime andmete esitamist DataGrid-iga, kuid kuid LINQ päringutest saadud andmeid ei saanud muuta. &lt;br /&gt;
&lt;br /&gt;
=== 29. november ===&lt;br /&gt;
LINQ-ga harjutamine. Algus oli raske.&lt;br /&gt;
&lt;br /&gt;
=== 23. november ===&lt;br /&gt;
Esialgne XML toimetaja versioon.&lt;br /&gt;
&lt;br /&gt;
=== 16. november ===&lt;br /&gt;
Selgus, et objekti serialiseerija nõuab, et klassil oleks parameetrita konstruktor.&lt;br /&gt;
Uurisime failikirjutajaid. Proovisime XmlWriter-it kuid see kirjutab failis teksti ühele reale. StreamWriter kirjutab XML elemendid faili eraldi ridadele ja liigendab need nii, et fail on ka inimesele loetav.&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Shadow_magic_editor.png&amp;diff=20610</id>
		<title>File:Shadow magic editor.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Shadow_magic_editor.png&amp;diff=20610"/>
		<updated>2010-12-16T14:08:02Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Heroes5_data.png&amp;diff=20608</id>
		<title>File:Heroes5 data.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Heroes5_data.png&amp;diff=20608"/>
		<updated>2010-12-16T14:02:19Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Kosmoseahi%22&amp;diff=20038</id>
		<title>Talk:Meeskond &quot;Kosmoseahi&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22Kosmoseahi%22&amp;diff=20038"/>
		<updated>2010-12-10T16:45:29Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: Created page with &amp;#039;Küll minust ka kord kange kosmosepiraat saab.  Aga mitte täna. Mitte selle mänguga. Mängu tulistamisnuppu oli mõtekas pidevalt all hoida. Küll kuskil miski ikka pihta saab.…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Küll minust ka kord kange kosmosepiraat saab.&lt;br /&gt;
&lt;br /&gt;
Aga mitte täna. Mitte selle mänguga. Mängu tulistamisnuppu oli mõtekas pidevalt all hoida. Küll kuskil miski ikka pihta saab.&lt;br /&gt;
&lt;br /&gt;
Asi töötas, kokku ei jooksnud. Mingit manuali sellisele mängule vaja ei lähe. Netis olevad highscorid oli lahe idee. Ega selle ajaga&lt;br /&gt;
paremat asja valmis vast poleks saanudki.&lt;br /&gt;
&lt;br /&gt;
Sourcu ei vaadanud, aga selge on see et sellise mahuga asja pelkalt ifide peale üles ei ehita.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;&amp;lt;&amp;lt;K.Stolin&amp;gt;&amp;gt;&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22S%C3%B5jardid%22&amp;diff=20037</id>
		<title>Talk:Meeskond &quot;Sõjardid&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22S%C3%B5jardid%22&amp;diff=20037"/>
		<updated>2010-12-10T16:07:00Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mängu idee pole uus ja mäng on poolik. Ei saa aru miks on wiki lehel kirjutatud tetrisest. Tundub nagu oleks kiiruga mingi mäng valmis klopsitud ja siis on unustatud wikit muuta.&lt;br /&gt;
Wiki on üldiselt väga vähe informatiivne.&lt;br /&gt;
&lt;br /&gt;
Mängus on levelid, kuid ei saanud aru, mis levelite vahetusega muutub.&lt;br /&gt;
Peale surma saamist liikus Tux vasakusse nurka, mis oli samuti ebamugav. Loogiline oleks, et ta liiguks keskele tagasi.&lt;br /&gt;
Mängu manuaal oli vigane/vale. Unustatud vist muuta peale mängu valmimist.&lt;br /&gt;
&lt;br /&gt;
Klasse on minu arvates liiga palju. Sarnased meetodid oleks saanud viia kokku ühte klassi.&lt;br /&gt;
&lt;br /&gt;
Mängu taust genereeritakse jooksvalt, mis on hea, kuid see võiks vertikaalselt liikuda. Mängus on heliefektid, mis tegid mängitavust natukene meeldivamaks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Jarko Kaskmaa D21&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
Mäng töötab. Mängu sisu on enam vähem sama kehva kui paljudel teistel projektidel (ja sellise lühikese mahuga ei olegi mõtet palju oodata) (see on siis samad vastased, sama level kordusena).&lt;br /&gt;
Esimene üritus (ja ka viimane mängu seda mängu mängida) lõppes mu surmaga lev 9, (alles olid kõik elud, lihtsalt klotsid jõudsid alla). Koodi vaadates 5 minutit oli selge et level 9 oli ka viimane level, nii et uuesti üritamise soovi ma ei tundnud.&lt;br /&gt;
&lt;br /&gt;
Source Code:&lt;br /&gt;
Klassid on minu arust tehtud ok-lt. Struktuur on arusaadav. Pooled klassid on ka kommenteeritud, aga isegi kommenteerimata osa on arusaadav.&lt;br /&gt;
&lt;br /&gt;
Musa, pilt, üldine ülesehitus- talutav.&lt;br /&gt;
&#039;&#039;&#039;Kristjan Stolin D21&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Juhend:_Teine_kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(WPF_Projekt)&amp;diff=17823</id>
		<title>Juhend: Teine kodutöö aines &quot;Programmeerimine CSharp keeles&quot; (WPF Projekt)</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Juhend:_Teine_kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(WPF_Projekt)&amp;diff=17823"/>
		<updated>2010-11-18T11:57:55Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: /* Meeskonnad 2010 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Teine kodutöö aines &amp;quot;Programmeerimine CSharp keeles&amp;quot; (WPF Projekt)=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline arenduskogemus .Net keskkonnas ning süvendada meeskonnatööoskust. Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..5 tudengit (erandjuhul ka 2) ning ühel teemal teostab projekti üks või mitu meeskonda.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse http://wiki.itcollege.ee keskkonnas ning soovikorral ka ajaveebis (blogis). Ajaveebi pidamise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest. Ajaveebi loob ja ajaveebi haldab projektimeeskond vabalt valitud (avalikus) keskkonnas.&lt;br /&gt;
&lt;br /&gt;
http://wiki.itcollege.ee keskkonnas peab olema vähemalt kokkuvõte tehtud tööst, lahenduse tehniline kirjeldus (letud lahendused, kasutusel olevad klassid ja nende kirjeldus, toimimise põhimõte) ning kasutusjuhis. &#039;&#039;&#039;Wikis peab kindlasti olema ka viide lõpplahenduse lähtekoodile&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Tähtaeg==&lt;br /&gt;
Teema ning meeskonna koosseis peab olema õppejõuga kooskõlastatud hiljemalt 15. november 2010.&lt;br /&gt;
Üldjuhul on kõige hilisem projekti esitamise/kaitsmise tähtaeg 28. november 2010.&lt;br /&gt;
 &lt;br /&gt;
==Hindamine==&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
Tehnilisi ja vormistuslike puudujääke on võimalik korvata lisavõimaluste realiseerimisega.Üldjuhul tuleb loodud lahendust ka praktikumides või loengutes teistele tudengitele tutvustada (ca 10 min).&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel +372 56 957 000 või heiki.tahis [ät] eesti.ee&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
=Teemad 2010 sügis=&lt;br /&gt;
&lt;br /&gt;
Kodutööna tuleb luua: &lt;br /&gt;
==Kodune raamatukogu==&lt;br /&gt;
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.&lt;br /&gt;
Loo rakendus, mis&lt;br /&gt;
* Võimaldaks sisestada kodused raamatud&lt;br /&gt;
* Võimaldaks luua laenutajate profiile&lt;br /&gt;
* Raamatuid välja laenutada (tähtajaliselt)&lt;br /&gt;
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused  jne)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused&lt;br /&gt;
* Kui laenutaja profiilis on e-mail, siis saada automaatselt e-kiri „kallis sõber see ja see, Sinu käes on minu raamat, kas tood tagasi ka?”&lt;br /&gt;
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.&lt;br /&gt;
* Lase lisada raamatutele pilt&lt;br /&gt;
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal  kodus veel alles on)&lt;br /&gt;
Või&lt;br /&gt;
==CRM==&lt;br /&gt;
Oma klientidest peab olema ülevaade.&lt;br /&gt;
Loo rakendus, mis võimaldab:&lt;br /&gt;
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada&lt;br /&gt;
* Võimalda sisestada kliendikontakte&lt;br /&gt;
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.&lt;br /&gt;
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused&lt;br /&gt;
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega&lt;br /&gt;
* Õnnitlusmeilide template’sid võiks olla mitu&lt;br /&gt;
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis&lt;br /&gt;
* Loo võimalus klientide omavaheliseks sidumiseks (ehk võimalus klientide võimalike omavaheliste suhete kirjeldamiseks)&lt;br /&gt;
&lt;br /&gt;
Või &lt;br /&gt;
* Meeskonna poolt pakutud ja õppejõu poolt heaks kiidetud teema&lt;br /&gt;
&lt;br /&gt;
==Nõuded==&lt;br /&gt;
* &#039;&#039;&#039;Põhiidee: tuleb luua nö &amp;quot;ärirakendus&amp;quot;&lt;br /&gt;
Loodav rakendus peab:&lt;br /&gt;
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)&lt;br /&gt;
* Peab võimaldama tegevuste kohta registri pidamist (logi)&lt;br /&gt;
* Kasutama kasutajaliidesena ühte järgmistest: Windows Forms, WPF, SilverLight (ka Windows Phone 7) või ASP.Net&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!&#039;&#039;&#039; Klassid, klassid, klassid&lt;br /&gt;
&lt;br /&gt;
Lisapunkte annab:&lt;br /&gt;
* Silmailu&lt;br /&gt;
* Ilusasti kirjutatud ja veatu kood (testimine, testimine, testimine)&lt;br /&gt;
* Orginaalsed ideed ja hea äriidee&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2010=&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Meeskonna nimi&amp;quot;]]==&lt;br /&gt;
Teeme midagi&lt;br /&gt;
===Teema===&lt;br /&gt;
Võtame sealt selle, paneme tänna...&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Tõnu Kaalikas&lt;br /&gt;
* Mari Maasikas&lt;br /&gt;
* Mikk Murakas&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Ready or Not, Here it Comes!&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
XNA mängule savegame + editor;&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Kristjan Stolin&lt;br /&gt;
* Lauri Kermas&lt;br /&gt;
* Ilmar Telga&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Modern Iron&amp;quot;]]==&lt;br /&gt;
[[File:pcbmodel.png|thumb|250px|Andmemudel]]&lt;br /&gt;
&lt;br /&gt;
PC Builder Lite™ - ITK isiklik hinnavaatlus&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
&lt;br /&gt;
Kas sul vedeleb kodus vana riistvara ja tolkneb seal nagu mungal niisama?&amp;lt;br /&amp;gt;&lt;br /&gt;
Nüüd on sul võimalus sellest vabaneda, teistele kasulik olla ja selle eest ka pappi teenida&amp;lt;br /&amp;gt;&lt;br /&gt;
või otsid endale kodu arvutit odava hinna eest siis PCB Lite on just sinule mõeldud.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Jaan Kruusma&lt;br /&gt;
* Siim Kündre&lt;br /&gt;
* Madis Kõosaar&lt;br /&gt;
* Keito Arula&lt;br /&gt;
* Silver Kuusik&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;ISU - aI Sii jUu&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
FML - Programm, mille abil on avalikus wifi-s võimalik vaadata teiste msn vestlusi. &lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Big Brother is watching you&amp;quot; - Tahad teada, mida sinu sõbrad tegelikult sinust arvavad? Sõbrad jagavad saladusi, kuid sind hoitakse pimeduses? - Enam mitte, sest meie programmi abil saad avalikus wifi-s teada kõik, millest sinu sõbrad msnis räägivad. FML on programm, mis kuvab teile erinevate inimeste vestlused avalikus wifis ja seda kõike nii lihtsalt, et teil tekib tunne, nagu oleksite ise üks vestlustes osaleja. &lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
*Jaan Vahtre&lt;br /&gt;
*Taavi Ilves&lt;br /&gt;
*Tanel Liiv&lt;br /&gt;
*Kristjan Kalder&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;....&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
&lt;br /&gt;
Arvatavasti raamatukogu&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Siim Aaver&lt;br /&gt;
* Kaspar Kallasmaa&lt;br /&gt;
* Allar Märk&lt;br /&gt;
* Jana Mrots&lt;br /&gt;
* Joosep Ilves&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Alphabook&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Kodune raamatukogu&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Mihkel Sokk&lt;br /&gt;
* Jaak Lehtsalu&lt;br /&gt;
* Kristjan Sokk&lt;br /&gt;
* Martin Lensment&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;TEAM ROFLASTC&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Õppehaldussüsteem, mis võimaldab õppejõul/õpetajal luua erinevaid gruppe ja tunde, määrata puudujaid ning panna hindeid jne. Lisaks kuvada sisestatud infot läbi valitud filtrite.&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Rauno Rüga&lt;br /&gt;
* Jarko Kaskmaa&lt;br /&gt;
* Taivo Türnpu&lt;br /&gt;
* Gert Glükmann&lt;br /&gt;
* Indrek Kõue&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2010 Kaugõpe=&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;KRTK&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
KRTK ehk Kodune Raamatukogu&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Ivo Lõhmus&lt;br /&gt;
* Tanel Staub&lt;br /&gt;
* Indrek Kahu&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Terav ASP&amp;quot;]]==&lt;br /&gt;
Õppematerjalide jagamise veebikeskkond. &lt;br /&gt;
&lt;br /&gt;
IIS+ASP.NET+(MSSQL)&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Anneli Rasu&lt;br /&gt;
* Anu Kuusmaa&lt;br /&gt;
* Denis Veltson&lt;br /&gt;
* Lauri Õunmaa&lt;br /&gt;
* Mari Lehis&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Ying Yang&amp;quot;]]==&lt;br /&gt;
Kodune raamatukogu valmib.&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
*Artur Mölter&lt;br /&gt;
*Karel Niine&lt;br /&gt;
*Jako Heinmets&lt;br /&gt;
*Liis Merisaar&lt;br /&gt;
*Lauri Liibert&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;PEA&amp;quot;]]==&lt;br /&gt;
Kodune Raamatukogu&lt;br /&gt;
&lt;br /&gt;
===Liikmed===&lt;br /&gt;
*Jevgeni Nesterenko&lt;br /&gt;
*Pavel Kodotšigov&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22XNA_(Xbox_Not_Available)%22&amp;diff=16089</id>
		<title>Meeskond &quot;XNA (Xbox Not Available)&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22XNA_(Xbox_Not_Available)%22&amp;diff=16089"/>
		<updated>2010-10-30T14:27:07Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: /* Klasside kirjeldus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Idee on teha heksagon võrgustikuga taktikaline lahinguväli, mida hiljem saab edasi arendada ja kasutada ka suurema mängu lahingute jaoks. Paljud strateegia ja rollimängud kasutavad taktikalist lahinguvälja mis kas rohkem või vähem nähtavalt on hexagon võrgustiku peal. &lt;br /&gt;
&lt;br /&gt;
[[Image:Civilization-v-game.jpg|thumb|400px|Civilization V heksagon võrgustikuga kaart]]&lt;br /&gt;
Civilization V –s on terve kaart heksagonidega kaetud. Seal eraldi taktikalist lahinguvälja ei eksisteeri. Kuid meie projektis on eraldi taktikaline lahinguväli, mis iga seikluse jooksul tekkiva konfliktisituatsiooni puhul tekitab uue lahinguvälja (vastavalt kohale ja vastastele).&lt;br /&gt;
Meie projekt ei panusta välimusele. Piisav arusaadavus ja UI (User Interface) ja mugavus oleks küll vajalik. Eesmärgiks on teha toimiv mootor, mida saab hiljem kasutada erinevates strateegia ja/või rollimängudes. Et projekti tingimusi rahuldada (erinevad levelid, punktiarvestus), teeb sinna ümber ka väikese mängu.&lt;br /&gt;
&lt;br /&gt;
Mis sinna peab jõudma teha?&lt;br /&gt;
&lt;br /&gt;
[[Image:Kuhu minna.JPG|thumb|400px|Kuhu soovid minna? A) Rahulik metsarada   B) Trollide loss   C) Päkapiku relvapood]]&lt;br /&gt;
== Ideed ==&lt;br /&gt;
==== Mängu osa ====&lt;br /&gt;
Algul on mängijal näiteks 100 raha, mille eest otsustab mis tegelased oma meeskonda osta. Kui meeskond ostetud, hakkab seiklemise osa. Seiklus toimib kolmeste valikute kaupa. &lt;br /&gt;
Näide: Kuhu soovid edasi minna?&lt;br /&gt;
A) Rahulik metsarada   B) Trollide loss   C) Päkapiku relvapood&lt;br /&gt;
&lt;br /&gt;
Valikud tekitatakse random generaatoriga ja on ühekordsed. Valikud välistavad teineteist.  Näiteks kui valid minna mööda rahulikku metsarada siis trollide lossi enam pärast minna ei saa. Trollide lossis oleks ilmselt oodata lahingut trollidega (ehk ette tulebki lahinguväli, kus ühel pool on trollid ja teisel pool sinu team) ja ilmselt saab sealt mingi varanduse, näiteks võib pärast lahingut leida pudeli, mis teeb ühe su tegelastest tugevamaks.  Kui su tegelased on juba haavatud ja nende jõud otsakorral, siis sa ilmselt trollide lossiga ei riskiks ja valiksid midagi muud kuhu minna. Kui valik tehtud (ja lahingud peetud või poes käidud) tuleb randomiga järgmine kolmene valik. Pärast näiteks 3 sellist stepi ongi päev läbi ja tuleb puhkuseraund (öö), kus tegelased saavad oma elud ja oskused, mis on ära kulutatud, tagasi. &lt;br /&gt;
Pärast näiteks 9 valiku tegemist tuleb mängu lõpplahing.&lt;br /&gt;
&lt;br /&gt;
Sinu valikutest, lahinguoskusest ja õnnest sõltub kui hästi sa oled end ette valmistanud mängu lõpus oleva lahingu (kui sa sinna üldse jõuad) võitmiseks. Lõpplahingu võit võib kas lõpetada mängu või viia sama seltskonna järgmisele tasemele (raskemale seiklusele). Kaotuse puhul algab mäng jälle esimesest tasemest peale ja saab uuesti tegelaste seltskonna valida. &lt;br /&gt;
&lt;br /&gt;
==== Punktilugemine ====&lt;br /&gt;
Kuna punktilugemist nõutakse, tuleb meie mängus punktid selle eest, kui kaugele sa jõudsid (igast kolmesest valikust läbi närimine annab 10 punkti), võibolla lisapunktid selle eest kui palju raha teenisid jne.&lt;br /&gt;
&lt;br /&gt;
==== Mitu mängijat ====&lt;br /&gt;
Lahinguvälja mootoril peaks olema mitme meeskonna (või lahingupoole) tugi. (mitte ainult 2)&lt;br /&gt;
&lt;br /&gt;
==== Objektid ====&lt;br /&gt;
Elusad ja elutud objektid (treasure chest, kaevust saab juua nõiduse jaoks, jne). (Loomad, Humanoidid, Puud, Müürid). Elusad objektid on siis su team ja vastas(t)e team(id).  Elusad objektid on kriitilised et sisse koodida.&lt;br /&gt;
&lt;br /&gt;
==== Erinev maastik ====&lt;br /&gt;
Tegelase liikumisteele võivad ette jääda erinevad asjad. Näiteks iga samm soos võtab ära 3 p liikumispunkti, mets võtab 2 p , mägi 3 p, tee peal liikumine võtab ühe liikumispunkti. &lt;br /&gt;
&lt;br /&gt;
==== Elude arvestus (health) ====&lt;br /&gt;
Loomadel ja Humanoididel on kehaosad, mitte pole nad lihtsalt hunnik elupunkte. Loomal on neli jalga ja pea mis hammustab. Humanoidil on 2 jalga, 2 kätt ja pea. Igal kehaosal on oma elud. Kui näiteks jala HP-d on 0 siis liigud aeglasemalt. Kui keegi näiteks lööb mõõgaga siis tõenäosus silma pihta saada on väiksem kui käele.&lt;br /&gt;
&lt;br /&gt;
==== Multiplayer ====&lt;br /&gt;
Multiplayer&#039;i tugi esialgu pole vajalik. Vaja teha vastastele AI, mis on suur töö. AI ei pea olema kuigi „tark“, ta peab vähemalt ründama (ehk siis töötama). Kui sinu teami elukas on valitud, siis on all näha tema skillide riba.&lt;br /&gt;
&lt;br /&gt;
==== Spellid ja oskused ====&lt;br /&gt;
Humanoididel on erinevad nõidused ja oskused. Neil on kõigil oma efektid ja kaugused.&lt;br /&gt;
Ilmselt esialgu ei tule keerulisemad spellid (mass-spellid, summonid). Nõidused on erineva tugevusega lihtsad nõidused. Meil on valmis karakterite template (nt odamees, vibumees, jne). Näiteks võluril: ühe lahingu jooksul saab lasta 3x magic missile, 2x lighting bolt. Warrioril on 2x defence, 1x triple strike. &lt;br /&gt;
Magic missile on näiteks raadiuses 20 lastav. Kehaosale, kus see pihta saab, võtab 6 – 8 elupunkti maha. Lighting bolt raadius on 15 – 22 ja läheb kõikidele kehaosadele korraga pihta ja võtab 5 punkti maha. Kuna varustust ei ole siis löögid ja armorid on keskmised. &lt;br /&gt;
&lt;br /&gt;
==== Liikumine ====&lt;br /&gt;
Kasutaja saab oma käigu jooksul kõiki oma tegelasi liigutada. Tegelastel on erinevad liikumiskiirused (maagil 4 sammu, warrioril 5 sammu). Kuna liikumine on kordamööda, siis peab kaardil näha olema, mis teed mööda liikuda saab.&lt;br /&gt;
&lt;br /&gt;
==== Lisaks ====&lt;br /&gt;
Mingis vormis karakterite tugevamaks saamine. Kas see on seotud levelitega, ei tea veel, aga omadusi (jõud ja max_elud jne.) on suht lihtne tõsta.&lt;br /&gt;
Equipment (asjad mida saab selga/jalga panna). Ei pruugi ajaliselt välja tulla, aga vaatab. Mul (Kristjan) läks equipmendi koodimiseks mu Exceli mängus üle nädala aja kindlasti.&lt;br /&gt;
Poed. Tulevad, kindlasti saab endale juurde osta  kaaslaseid. Kas poed, kus asju müüakse tulevad, sõltub sellest, kas meil tuleb karakteritele equipment või mitte.&lt;br /&gt;
&lt;br /&gt;
Mis sinna sisse ilmselt veel ei tule? &lt;br /&gt;
1. Lahinguväljal olevate objektidega sekeldamine. Nagu näiteks katapultide, ratsude, uste ja muu sellise kasutamine. Ilmselt ei pane neid esialgu sissegi.&lt;br /&gt;
2. Erinevad vaated lahinguväljale. Ilmselt jääb meil algul scrollitav pealtvaade.&lt;br /&gt;
&lt;br /&gt;
== Tööjaotus ==&lt;br /&gt;
&lt;br /&gt;
* Kristjan - idee + programmeerimine&lt;br /&gt;
* Ilmar - programmeerimine + wiki&lt;br /&gt;
* Lauri - teekonna leidmised AI jaoks, võrgustiku ülesehitus, jne.&lt;br /&gt;
&lt;br /&gt;
== Klasside kirjeldus ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Klassi nimetus&lt;br /&gt;
! Kirjeldus/Kommentaar&lt;br /&gt;
|-&lt;br /&gt;
! Game&lt;br /&gt;
| Põhiklass, kus toimub mängu kasutajaliidese juhtimine &lt;br /&gt;
|-&lt;br /&gt;
! GameEvent&lt;br /&gt;
| Area-te ArrayList&lt;br /&gt;
|-&lt;br /&gt;
! Area ja AreaCollection&lt;br /&gt;
| Area on paiga kirjeldus (tekstuur, kirjeldus, poe tüüp jne). AreaCollection-is on Area-te lisamine ArrayList-i ja meetod mis tagastab suvalise Area.&lt;br /&gt;
|-&lt;br /&gt;
! Entity&lt;br /&gt;
| Entity võib olla nii tegelane kui ka mingi asi (varustus). Palju meetodeid varustusega tegelemiseks&lt;br /&gt;
|-&lt;br /&gt;
! Team&lt;br /&gt;
| Tegelaste grupp. Võib olla mängija poolt juhitud kui ka vastased&lt;br /&gt;
|-&lt;br /&gt;
! Limb ja LimbCombination&lt;br /&gt;
| Tegelase kehaosad, nagu jalad, käed, silmad&lt;br /&gt;
|-&lt;br /&gt;
! MobCollection&lt;br /&gt;
| Tegelaste ja elukatega mässaja. Tekitab elukatele andmed, valib pildid, meetod mis tagastab eluka (randomiga)&lt;br /&gt;
|-&lt;br /&gt;
! Pood ja Poetekitaja&lt;br /&gt;
| Entity-te pood. Poetekitaja oskab meil tekitada moment vaid kahte tüüpi poodi, elukate (palgasõdurite) pood ja asjade pood&lt;br /&gt;
|-&lt;br /&gt;
! PoodControls&lt;br /&gt;
| Poe kasutajaliides&lt;br /&gt;
|-&lt;br /&gt;
! PartyControls&lt;br /&gt;
| Mängija tiimi kasutajaliides.&lt;br /&gt;
|-&lt;br /&gt;
! MemberOptions&lt;br /&gt;
| Mängija tegelase kasutajaliides.&lt;br /&gt;
|-&lt;br /&gt;
! EncounterWindow&lt;br /&gt;
| Mängija kohtumine vastas(t)ega kasutajaliides.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
[[Image:XNA area.JPG|thumb|200px|Vali kuhu minna.]]&lt;br /&gt;
==== 23. oktoober ====&lt;br /&gt;
Tegelastel on varustus, lahingutel saavad nad varustust lisaks rahale juurde. Tegelastel on ka kehaosad. Jäänud on veel ajutiste mängutegelaste piltide vahetamine teiste piltidega. &lt;br /&gt;
&lt;br /&gt;
==== 21. oktoober ====&lt;br /&gt;
DEFEAT ja VICTORY aknad. &lt;br /&gt;
==== 17. oktoober ====&lt;br /&gt;
Valmis põhimenüü ja kolmesed valikud. Saime versioonihalduse korda.&lt;br /&gt;
&lt;br /&gt;
[[Image:PoodMenyy.jpg|thumb|200px|Poe menüü on valmis.]]&lt;br /&gt;
==== 8. oktoober ====&lt;br /&gt;
Poe menüü on täielikult funktsionaalne. TortoiseSVN ei tööta nii nagu ootasime.&lt;br /&gt;
&lt;br /&gt;
Plaanis on homme teha teami/party menüü ja kui jõuab, siis kolmeste seikluste valik.&lt;br /&gt;
&lt;br /&gt;
==== 6. oktoober ====&lt;br /&gt;
Meiega liitus Lauri Kermas.&lt;br /&gt;
&lt;br /&gt;
Läksime üle TortoiseSVN-ile. &lt;br /&gt;
&lt;br /&gt;
==== 3. oktoober ====&lt;br /&gt;
Poe tekitamise klassid ja esialgne poe menüü olemas.&lt;br /&gt;
&lt;br /&gt;
Jama on see, et pole siiani saanud Source Control&#039;i korralikult toimima (projekt kompileerub ainult ühes arvutis).&lt;br /&gt;
&lt;br /&gt;
==== 1. oktoober ====&lt;br /&gt;
Kasutajaliidese tegemine. Üritame aru saada kuidas nupu sündmusi käsitleda.&lt;br /&gt;
&lt;br /&gt;
==== 29. september ====&lt;br /&gt;
* Tiimi liikmete otsimine,&lt;br /&gt;
* tööjaotus,&lt;br /&gt;
* üritame aru saada, mis elukas see XNA on ja kuidas seal kasutajaliidest teha.&lt;br /&gt;
&lt;br /&gt;
==== 28. september ====&lt;br /&gt;
Mängisime C# -ga tehtud mängu, mille lähtekoodi me internetist alla tõmbasime. Mängul oli heksagon võrgustikuga kaart. &lt;br /&gt;
&lt;br /&gt;
==== 27. september ====&lt;br /&gt;
* Meeskonna liikmete otsimine. Tegime mitmele inimesele pakkumisi meiega ühineda. Öeldi ära kuna meie mängu on palju keerulisem teha kui tetrist.&lt;br /&gt;
* XNA installeerimine.&lt;br /&gt;
&lt;br /&gt;
==== 26. september ====&lt;br /&gt;
Valmis mängu projekti visand.&lt;br /&gt;
&lt;br /&gt;
[[Category: Programmeerimine CSharp keeles]]&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22XNA_(Xbox_Not_Available)%22&amp;diff=12507</id>
		<title>Meeskond &quot;XNA (Xbox Not Available)&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22XNA_(Xbox_Not_Available)%22&amp;diff=12507"/>
		<updated>2010-09-29T21:18:23Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Idee on teha heksagon võrgustikuga taktikaline lahinguväli, mida hiljem saab edasi arendada ja kasutada ka suurema mängu lahingute jaoks. Paljud strateegia ja rollimängud kasutavad taktikalist lahinguvälja mis kas rohkem või vähem nähtavalt on hexagon võrgustiku peal. &lt;br /&gt;
&lt;br /&gt;
[[Image:Civilization-v-game.jpg|thumb|400px|Civilization V heksagon võrgustikuga kaart]]&lt;br /&gt;
Civilization V –s on terve kaart heksagonidega kaetud. Eraldi taktikalist lahinguvälja ei eksisteeri. Meie projektis on eraldi taktikaline lahinguväli, mis iga seikluse jooksul tekkiva konfliktisituatsiooni puhul tehakse uus. (vastavalt kohale ja vastastele)&lt;br /&gt;
Meie projekt ei panusta välimusele. Piisav arusaadavus ja UI (User Interface) ja mugavus oleks küll vajalik. Eesmärgiks on teha toimiv mootor, mida saab hiljem kasutada erinevates strateegia ja/või rollimängudes. Et projekti tingimusi rahuldada (erinevad levelid, punktiarvestus), teeb sinna ümber ka väikese mängu.&lt;br /&gt;
&lt;br /&gt;
Mis sinna peab jõudma teha?&lt;br /&gt;
&lt;br /&gt;
[[Image:Kuhu minna.JPG|thumb|400px|Kuhu soovid minna? A) Rahulik metsarada   B) Trollide loss   C) Päkapiku relvapood]]&lt;br /&gt;
==== Mängu osa ====&lt;br /&gt;
Algul on mängijal näiteks 100 raha, mille eest otsustab mis tegelased oma meeskonda osta. Kui meeskond ostetud, hakkab seiklemise osa. Seiklus toimib kolmeste valikute kaupa. &lt;br /&gt;
Näide: Kuhu soovid edasi minna?&lt;br /&gt;
A) Rahulik metsarada   B) Trollide loss   C) Päkapiku relvapood&lt;br /&gt;
&lt;br /&gt;
Valikud tekitatakse random generaatoriga ja on ühekordsed. Valikud välistavad teineteist.  Näiteks kui valid minna mööda rahulikku metsarada siis trollide lossi enam pärast minna ei saa. Trollide lossis oleks ilmselt oodata lahingut trollidega (ehk ette tulebki lahinguväli, kus ühel pool on trollid ja teisel pool sinu team) ja ilmselt saab sealt mingi varanduse, näiteks võib pärast lahingut leida pudeli, mis teeb ühe su tegelastest tugevamaks.  Kui su tegelased on juba haavatud ja nende jõud otsakorral, siis sa ilmselt trollide lossiga ei riskiks ja valiksid midagi muud kuhu minna. Kui valik tehtud (ja lahingud peetud või poes käidud) tuleb randomiga järgmine kolmene valik. Pärast näiteks 3 sellist stepi ongi päev läbi ja tuleb puhkuseraund (öö), kus tegelased saavad oma elud ja oskused, mis on ära kulutatud, tagasi. &lt;br /&gt;
Pärast näiteks 9 valiku tegemist tuleb mängu lõpplahing.&lt;br /&gt;
&lt;br /&gt;
Sinu valikutest, lahinguoskusest ja õnnest sõltub kui hästi sa oled end ette valmistanud mängu lõpus oleva lahingu (kui sa sinna üldse jõuad) võitmiseks. Lõpplahingu võit võib kas lõpetada mängu või viia sama seltskonna järgmisele tasemele (raskemale seiklusele). Kaotuse puhul algab mäng jälle esimesest tasemest peale ja saab uuesti tegelaste seltskonna valida. &lt;br /&gt;
&lt;br /&gt;
==== Punktilugemine ====&lt;br /&gt;
Kuna punktilugemist nõutakse, tuleb meie mängus punktid selle eest, kui kaugele sa jõudsid (igast kolmesest valikust läbi närimine annab 10 punkti), võibolla lisapunktid selle eest kui palju raha teenisid jne.&lt;br /&gt;
&lt;br /&gt;
==== Mitu mängijat ====&lt;br /&gt;
Lahinguvälja mootoril peaks olema mitme meeskonna (või lahingupoole) tugi. (mitte ainult 2)&lt;br /&gt;
&lt;br /&gt;
==== Objektid ====&lt;br /&gt;
Elusad ja elutud objektid (treasure chest, kaevust saab juua nõiduse jaoks, jne). (Loomad, Humanoidid, Puud, Müürid). Elusad objektid on siis su team ja vastas(t)e team(id).  Elusad objektid on kriitilised et sisse koodida.&lt;br /&gt;
&lt;br /&gt;
==== Erinev maastik ====&lt;br /&gt;
Tegelase liikumisteele võivad ette jääda erinevad asjad. Näiteks iga samm soos võtab ära 3 p liikumispunkti, mets võtab 2 p , mägi 3 p, tee peal liikumine võtab ühe liikumispunkti. &lt;br /&gt;
&lt;br /&gt;
==== Elude arvestus (health) ====&lt;br /&gt;
Loomadel ja Humanoididel on kehaosad, mitte pole nad lihtsalt hunnik elupunkte. Loomal on neli jalga ja pea mis hammustab. Humanoidil on 2 jalga, 2 kätt ja pea. Igal kehaosal on oma elud. Kui näiteks jala HP-d on 0 siis liigud aeglasemalt. Kui keegi näiteks lööb mõõgaga siis tõenäosus silma pihta saada on väiksem kui käele.&lt;br /&gt;
&lt;br /&gt;
==== Multiplayer ====&lt;br /&gt;
Multiplayer&#039;i tugi esialgu pole vajalik. Vaja teha vastastele AI, mis on suur töö. AI ei pea olema kuigi „tark“, ta peab vähemalt ründama (ehk siis töötama). Kui sinu teami elukas on valitud, siis on all näha tema skillide riba.&lt;br /&gt;
&lt;br /&gt;
==== Spellid ja oskused ====&lt;br /&gt;
Humanoididel on erinevad nõidused ja oskused. Neil on kõigil oma efektid ja kaugused.&lt;br /&gt;
Ilmselt esialgu ei tule keerulisemad spellid (mass-spellid, summonid). Nõidused on erineva tugevusega lihtsad nõidused. Meil on valmis karakterite template (nt odamees, vibumees, jne). Näiteks võluril: ühe lahingu jooksul saab lasta 3x magic missile, 2x lighting bolt. Warrioril on 2x defence, 1x triple strike. &lt;br /&gt;
Magic missile on näiteks raadiuses 20 lastav. Kehaosale, kus see pihta saab, võtab 6 – 8 elupunkti maha. Lighting bolt raadius on 15 – 22 ja läheb kõikidele kehaosadele korraga pihta ja võtab 5 punkti maha. Kuna varustust ei ole siis löögid ja armorid on keskmised. &lt;br /&gt;
&lt;br /&gt;
==== Liikumine ====&lt;br /&gt;
Kasutaja saab oma käigu jooksul kõiki oma tegelasi liigutada. Tegelastel on erinevad liikumiskiirused (maagil 4 sammu, warrioril 5 sammu). Kuna liikumine on kordamööda, siis peab kaardil näha olema, mis teed mööda liikuda saab.&lt;br /&gt;
&lt;br /&gt;
==== Lisaks ====&lt;br /&gt;
Mingis vormis karakterite tugevamaks saamine. Kas see on seotud levelitega, ei tea veel, aga omadusi (jõud ja max_elud jne.) on suht lihtne tõsta.&lt;br /&gt;
Equipment (asjad mida saab selga/jalga panna). Ei pruugi ajaliselt välja tulla, aga vaatab. Mul (Kristjan) läks equipmendi koodimiseks mu Exceli mängus üle nädala aja kindlasti.&lt;br /&gt;
Poed. Tulevad, kindlasti saab endale juurde osta  kaaslaseid. Kas poed, kus asju müüakse tulevad, sõltub sellest, kas meil tuleb karakteritele equipment või mitte.&lt;br /&gt;
&lt;br /&gt;
Mis sinna sisse ilmselt veel ei tule? &lt;br /&gt;
1. Lahinguväljal olevate objektidega sekeldamine. Nagu näiteks katapultide, ratsude, uste ja muu sellise kasutamine. Ilmselt ei pane neid esialgu sissegi.&lt;br /&gt;
2. Erinevad vaated lahinguväljale. Ilmselt jääb meil algul scrollitav pealtvaade.&lt;br /&gt;
&lt;br /&gt;
== Tööjaotus ==&lt;br /&gt;
&lt;br /&gt;
* Kristjan - idee + programmeerimine&lt;br /&gt;
* Ilmar - programmeerimine + wiki&lt;br /&gt;
&lt;br /&gt;
== Logi ==&lt;br /&gt;
&lt;br /&gt;
==== 29. september ====&lt;br /&gt;
* tiimi liikmete otsimine&lt;br /&gt;
* tööjaotus&lt;br /&gt;
* üritame aru saada, mis elukas see XNA on ja kuidas seal kasutajaliidest teha&lt;br /&gt;
&lt;br /&gt;
==== 28. september ====&lt;br /&gt;
Mängisime C# -ga tehtud mängu, mille lähtekoodi me internetist alla tõmbasime. Mängul oli heksagon võrgustikuga kaart. &lt;br /&gt;
&lt;br /&gt;
==== 27. september ====&lt;br /&gt;
* Meeskonna liikmete otsimine. Tegime mitmele inimesele pakkumisi meiega ühineda. Öeldi ära kuna meie mängu on palju keerulisem teha kui tetrist.&lt;br /&gt;
* XNA installeerimine.&lt;br /&gt;
&lt;br /&gt;
==== 26. september ====&lt;br /&gt;
Valmis mängu projekti visand.&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Juhend:_Esimene_kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(XNA_Projekt)&amp;diff=12431</id>
		<title>Juhend: Esimene kodutöö aines &quot;Programmeerimine CSharp keeles&quot; (XNA Projekt)</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Juhend:_Esimene_kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(XNA_Projekt)&amp;diff=12431"/>
		<updated>2010-09-27T20:20:28Z</updated>

		<summary type="html">&lt;p&gt;Kstolin: /* Meeskond &amp;quot;Nimi&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Programmeerimine CSharp keeles]]&lt;br /&gt;
&lt;br /&gt;
=Esimene kodutöö aines &amp;quot;Programmeerimine CSharp keeles&amp;quot; (XNA Projekt)=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline arenduskogemus .Net keskkonnas ning süvendada meeskonnatööoskust. Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..5 tudengit (erandjuhul ka 2) ning ühel teemal teostab projekti üks või mitu meeskonda.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse http://wiki.itcollege.ee keskkonnas ning soovikorral ka ajaveebis (blogis). Ajaveebi pidamise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest. Ajaveebi loob ja ajaveebi haldab projektimeeskond vabalt valitud (avalikus) keskkonnas.&lt;br /&gt;
&lt;br /&gt;
http://wiki.itcollege.ee keskkonnas peab olema vähemalt kokkuvõte tehtud tööst, lahenduse tehniline kirjeldus (letud lahendused, kasutusel olevad klassid ja nende kirjeldus, toimimise põhimõte) ning kasutusjuhis. &#039;&#039;&#039;Wikis peab kindlasti olema ka viide lõpplahenduse lähtekoodile&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Tähtaeg==&lt;br /&gt;
Teema ning meeskonna koosseis peab olema õppejõuga kooskõlastatud hiljemalt 4. oktoober 2010.&lt;br /&gt;
Üldjuhul on kõige hilisem projekti esitamise/kaitsmise tähtaeg 25. oktoober 2010.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
Tehnilisi ja vormistuslike puudujääke on võimalik korvata lisavõimaluste realiseerimisega.Üldjuhul tuleb loodud lahendust ka praktikumides või loengutes teistele tudengitele tutvustada (ca 10 min).&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel +372 56 957 000 või heiki.tahis [ät] eesti.ee&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kirjandus ja viited==&lt;br /&gt;
* Learn Programming with XNA https://www.facultyresourcecenter.com/curriculum/pfv.aspx?ID=7992&amp;amp;wa=wsignin1.0&amp;amp;Login=#Download&lt;br /&gt;
* Learning C# with XNA 3.0 http://www.facultyresourcecenter.com/curriculum/pfv.aspx?ID=8119&lt;br /&gt;
&lt;br /&gt;
* http://www.eneta.ee -&amp;gt; õppimine -&amp;gt; Veebistuudium -&amp;gt; Veebiarendus&lt;br /&gt;
* http://creators.xna.com/en-US/&lt;br /&gt;
* http://www.verysillygames.com/&lt;br /&gt;
* http://www.robmiles.com/xna-book-downloads/&lt;br /&gt;
* http://channel9.msdn.com/&lt;br /&gt;
* http://www.nazspace.com/wp/game-development/beginner-tutorials/&lt;br /&gt;
* http://www.riemers.net/&lt;br /&gt;
&lt;br /&gt;
=Teemad 2010 kevad=&lt;br /&gt;
Kodutööna tuleb luua: &lt;br /&gt;
* Tetris&lt;br /&gt;
** Vaata: http://en.wikipedia.org/wiki/Tetris&lt;br /&gt;
Või&lt;br /&gt;
* Xonix&lt;br /&gt;
** http://xonix.games-here.com/&lt;br /&gt;
Või &lt;br /&gt;
* Meeskonna poolt pakutud ja õppejõu poolt heaks kiidetud teema&lt;br /&gt;
&lt;br /&gt;
==Nõuded==&lt;br /&gt;
Loodav mäng peab sisaldama:&lt;br /&gt;
* Erinevaid tasemeid&lt;br /&gt;
* Punktiarvestust&lt;br /&gt;
* XBox puldi tuge&lt;br /&gt;
* Klaviatuurilt juhtimise tuge&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loodav mäng peab olema loodud objektorienteeritud lähenemist kasutades!&#039;&#039;&#039; Klassid, klassid, klassid&lt;br /&gt;
&lt;br /&gt;
Lisapunkte annab:&lt;br /&gt;
* Silmailu&lt;br /&gt;
* Ilusti kirjutatud ja veatu kood (testimine, testimine, testimine)&lt;br /&gt;
* Orginaalsed ideed ja hea &#039;&#039;story&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2010=&lt;br /&gt;
==[[Meeskond &amp;quot;Nimetu esialgu&amp;quot;]]==&lt;br /&gt;
===Teema===&lt;br /&gt;
Teeme väikest XNA mängu...&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Kristjan Stolin&lt;br /&gt;
* Ilmar Telga&lt;br /&gt;
ja kindlasti veel keegi&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Nimi2&amp;quot;]]==&lt;br /&gt;
===Teema===&lt;br /&gt;
Teeme ka mängu...&lt;br /&gt;
===Liikmed===&lt;br /&gt;
* Ivan Igamees&lt;br /&gt;
* Jim Smith&lt;/div&gt;</summary>
		<author><name>Kstolin</name></author>
	</entry>
</feed>