Pääteohjaustehtäviä
11 / 14.-15.11
Mikäli
osan tehtävistä haluaa tehdä komentoriviltä, löytyy
mikroluokista Microsoftin C# kääntäjä csc.exe. Sen
hakemisto (C:\WINNT\Microsoft.NET\Framework\v1.1.4322) täytyy asettaa PATH
muuttujaan.
path=C:\WINNT\Microsoft.NET\Framework\v1.1.4322;%path%
Tehtävät
löytyvät esimerkkikoodeineen ainakin
http://www.mit.jyu.fi/vesal/kurssit/winohj/csharp/seminaari05/
C#:n
dokumentaatiot ja muuta opastetta löytyy tarvittaessa 'Microsoft Visual
Studio .NET 2003 Documentation' -ohjetiedostosta Visual Studion kansiosta
Käynnistä-valikosta. Katso apua myös: C#-pikakurssi/ Santty
Syrjälä, LuK-työ (
http://www.mit.jyu.fi/vesal/kurssit/winohj/csharp/seminaari05/CS_Pikakurssi.pdf).
1. Autolaskuri
C#
- 1.
- Tee
autolaskuri C#:lla, esimerkiksi Borlandin IDEä käyttäen (File,
New, Windows Forms Application - C# Builder). Vertaa erityisesti Delphin ja
C#:n tapoja käsitellä tapahtumia.
Numeron
parsimisen merkkijonosta voi tehdä esimerkiksi Int32.Parse -metodilla.
2. Remoting
- 2.
- Toteuta
remoting
(
http://www.mit.jyu.fi/vesal/kurssit/winohj/csharp/seminaari05/remoting/)
esimerkin pohjalta etälaskin joka siirtää "raskaan"
laskutyön palvelimelle
Ohje:
- *
- Toteuta
ContextBoundObjectista
peritty Laskin luokka ja sille esimerkiksi metodi summaa
- *
- Käännä
Laskin dll:ksi (komentoriviltä "csc /t:library Laskin.cs")
- *
- Toteuta
Laskupalvelin luokka joka rekisteröi tcp portin 50000 ja julkaisee
etäobjektin
- *
- Käännä
laskupalvelin komentoriviltä csc /r:Laskin.dll Laskupalvelin.cs (tai
lisää Laskin.dll projektiin)
- *
- Toteuta
LaskinAsiakas joka käyttää Laskupalvelinta.
Kääntäminen kuten edellä
3. Kompleksiluku
- 3.
- Toteuta
luokka
Kompleksiluku
(luku jossa on kokonaisluvut reaaliosalle ja imaginääriosalle) jota
voi käyttää seuraavasti:
public static void Main()
{
Kompleksiluku eka = new Kompleksiluku( 2, 3 );
Kompleksiluku toka = new Kompleksiluku( 3, 4 );
Kompleksiluku sum = eka + toka;
Console.WriteLine( "Ensimmäinen kompleksiluku: {0}", eka );
Console.WriteLine( "Toinen kompleksiluku: {0}", toka );
Console.WriteLine( "Lukujen summa: {0}", sum );
}
-
- Vihje:
Ylikuormita yhteenlaskuoperaattori
public static Kompleksiluku operator + ( Kompleksiluku a, Kompleksiluku b )
-
- ja
ylikirjoita
ToString
-metodi
4. Palaute
- 4.
- Anna
palautetta (
https://korppi.jyu.fi/kotka/r.jsp?questionnaireid=481)
seminaarista
5. Kuuntelija
- 5.
- Jos
jää aikaa ja mielenkiintoa, lisää luennolla olleeseen
esimerkkiin tapahtuma siitä kun kahta kirjaa verrataan
keskenään, ja toteuta sille ainakin yksi kuuntelija. Tulosta
kuuntelijassa vertailtavat kirjat konsoliin.
Vihje:
static
event