søndag 25. oktober 2009

Spør meg

Lurer du på noe vedrørende koden om kalkulatoren så spør gjerne, det er sånn vi lærer.
Synes du det er et nyttig innlegg så synes jeg også at du skal poste en kommentar.
Jeg forklarer mer enn gjerne hva jeg har gjort, bare å spørre det...

lørdag 24. oktober 2009

Bygg en kalkulator

Skrev tidligere at jeg skulle blogge hvordan jeg har laget en kalkulator i C#.

1. Opprett en prosjekt i Visual Studio, det gjøres på denne måten:
File >> New >> Project >> Velg Visual C# på venstre siden, velg deretter Windows og så Console Application.


Program.cs ser da sånn ut:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

////////////////////////////////////////////////////////////
//                  KALKULATOR
////////////////////////////////////////////////////////////


namespace Kalkulator_April09
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // Oppretter en variabel og setter den til 0.
                decimal result = 0;


                ////////////////////////////////////////////////////////////
                // Skriver ut valg til bruker.
                ////////////////////////////////////////////////////////////
                Console.WriteLine("Vennligst velg en regnemåte: ");
                Console.WriteLine("Legge sammen     ");
                Console.WriteLine("Trekke fra       ");
                Console.WriteLine("Multiplisere     ");
                Console.WriteLine("Dividere         ");
                Console.WriteLine("Prosent          ");


                // Skal lese brukers svar.
                string command = Console.ReadLine();
               

                ////////////////////////////////////////////////////////////
                // Bruker blir bedt om å skrive inn number1.
                ////////////////////////////////////////////////////////////
                Console.Write("Tast inn det første tallet: ");

                //Konverterer til decimal fra string.
                decimal number1 = decimal.Parse(Console.ReadLine());


                ////////////////////////////////////////////////////////////
                //Bruker blir bedt om å skrive inn number2.
                ////////////////////////////////////////////////////////////
                Console.Write("Tast inn det andre tallet: ");

                //Konverterer til decimal fra string.
                decimal number2 = decimal.Parse(Console.ReadLine());


                ////////////////////////////////////////////////////////////
                // Her brukes switch til å sjekke hva som skal skje ettersom hva
                // bruker har valgt.
                // Setter også valget til bruker til å gjøres om til store bokstaver
                // uansett hva som blir tastet inn.
                ////////////////////////////////////////////////////////////
                switch (command.ToUpper())
                {
                    case "A":
                        result = Operations.Add(number1, number2);
                        break;
                    case "B":
                        result = Operations.Subtract(number1, number2);
                        break;
                    case "C":
                        result = Operations.Multiply(number1, number2);
                        break;
                    case "D":
                        result = Operations.Divide(number1, number2);
                        break;
                    case "E":
                        result = Operations.Percent(number1, number2);
                        break;
                    default:
                        break;
                }
                Console.WriteLine("Svaret er: {0}", result);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.GetBaseException().Message);
            }


            //Pause til bruker taster en tast.
            Console.ReadKey();
         }
       }
     }

Legg til en ny klasse, kall denne Operations.

For å legge til en ny klasse gå til solutionexplorer og høyreklikk prosjektet, velg Add new item.

Koden ser sånn ut:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Kalkulator_April09
{
    // Setter klassen til å være public.
    public class Operations
    {
        ////////////////////////////////////////////////////////////
        // Metode Add med feilhåndtering.
        ////////////////////////////////////////////////////////////
        public static decimal Add(decimal number1, decimal number2)
        {
            try
            {
                return number1 + number2;
            }
            catch (Exception)
            {
                throw;
            }
        }


        ////////////////////////////////////////////////////////////
        // Metode Subtract med feilhåndtering.
        ////////////////////////////////////////////////////////////
        public static decimal Subtract(decimal number1, decimal number2)
        {
            try
            {
                return number1 - number2;
            }
            catch (Exception)
            {
                throw;
            }
        }


        ////////////////////////////////////////////////////////////
        // Metode Multiply med feilhåndtering.
        ////////////////////////////////////////////////////////////
        public static decimal Multiply(decimal number1, decimal number2)
        {
            ////////////////////////////////////////////////////////////
            // Setter decimal-variablene number1 & number2 til å kunne være max verdi.
            ////////////////////////////////////////////////////////////

            //???????????????????????????????????????????????????????????????????
            // Roy, kan ikke decimal inneholde et høyt tall hvis man ikke setter
            // decimal til å være MaxValue?
            //???????????????????????????????????????????????????????????????????
            number1 = decimal.MaxValue;
            number2 = decimal.MaxValue;

            try
            {
                return number1 * number2;
            }
            catch (Exception)
            {
                throw;
            }
        }


        ////////////////////////////////////////////////////////////
        // Metode Divide med feilhåndtering.
        ////////////////////////////////////////////////////////////
        public static decimal Divide(decimal number1, decimal number2)
        {
            try
            {
                return number1 / number2;
            }
            catch (DivideByZeroException)
            {
                throw;
            }
            catch (Exception)
            {
                throw;
            }
        }


        ////////////////////////////////////////////////////////////
        // Metode Percent med feilhåndtering.
        ////////////////////////////////////////////////////////////
        public static decimal Percent(decimal number1, decimal number2)
        {
            try
            {
                return ((number1 % number2) * 100);
            }
            catch (Exception)
            {
                throw;
            }
        }
    }
}

onsdag 21. oktober 2009

.NET prosjekt

Noen som har laget en liten applikasjon som de har lyst til å vise frem?
Jeg har veldig lyst til å se hva andre begynner å jobbe med når de starter med .NET programmering, og kanskje helst C# programmering.
Jeg har en masse å lære, og synes det er interessant hvis noen kan vise meg hva de lærte mest av i starten?
Hvordan ble din første applikasjon?
Den trenger ikke være så veldig brukerlig og nyttig...

tirsdag 20. oktober 2009

Ny eksamen!

Nå skal jeg ta opp en eksamen jeg hadde i 2007, vil forbedre karakteren.
Lurer på hva nytt som har skjedd i forhold til HTML og Flash, håper de ikke har lagt per teori på actionscript-delen. Dette kan jeg nemlig svært lite om...

Noen som har noen erfaringer om hva som har skjedd nytt på denne fronten siden 2007, så kom med innspill. Alt mottas med takk!! Jeg blir glad for all tilbakemelding :-)

mandag 19. oktober 2009

AJAX

I dag skal vi starte på AJAX på skolen, jeg gleder meg til det. Det blir gøy! Kult å kunne håndtere deler av nettsiden og refreshe deler og ikke kjøre en postback på hele siden... Håper bare det ikke er for vanskelig, og at jeg blir enda mer forvirret enn jeg allerde er fra før.

Kan ikke en eneste kode med AJAX så gleder meg!

onsdag 14. oktober 2009

Programmerere hater IE6 !!

Jeg tror jeg hadde vært villig til å gjøre mye for å få bort IE6, jeg oppfordrer alle til å bruke en nyere version av internett explorer hvis det er den browseren dere ønsker å bruke.
Selv bruker jeg Mozilla Firefox og har også begynt å få litt sansen for Google Crome, den er kjapp!

Jeg fant en blogg som hadde et innlegg om et program som heter IETester, dette er genialt!
Så tusen takk til deg Ronnie!
Jeg kommer til å bruke dette flittig fremover, det kommer til å spare meg for en masse tid!
Ambefaler dette programmet til alle som driver med programmering, det er absolutt et nyttig program.
Linken er IETester

Objekt orientert programmering

Hva er egentlig objektorientert programmering ( OOP) ?
Wikipedia kan du lese litt om hva dette er.

mandag 12. oktober 2009

Array's

En dimensjonal array:
int[] tall = {10,20,30,40,50};

To dimensjonal array:
int[,] tall = {10,20,30,40,50};

Tre dimensjonal array:
int[,,] tall = {10,20,30,40,50};

Man ser hvor stor en array er ved å se på kommaene som er innenfor [] er det ingen komma her så er det en array med kun en dimensjon osv.
Man kan sammenligne en arry med en beholder, som tar vare på informasjon man trenger å lagre.

onsdag 7. oktober 2009

Kids corner - MSDN

Kom over en side i dag som er ganske kul, det er en side som MSDN har, den er for barn som vil lære programmering,
URL'n til siden er: http://msdn.microsoft.com/en-us/beginner/bb308754.aspx. Ganske gøy, tenk å ha en liten unge som kan programmere, det er kult!

På den siden har de også noe som heter funliks, her kan man starte som 1 Beginner, jeg har selv sett på disse oppgavene som ligger under C# for kids - http://msdn.microsoft.com/en-us/beginner/bb308756.aspx.
Under actions på høyresiden kan man velge actions, der valgte jeg Part ||. Synes i grunn dette ser litt vanseklig ut til å starte med jeg, men det er godt forklart og masse bilder. Dessuten skal jeg ikke undervurdere barn...HeHe

tirsdag 6. oktober 2009

Kalkulator oppgave!

Tenkte jeg skulle publisere en kalkulator-oppgave jeg har laget i C#. Kanskje det kan være en grei måte å lære seg ting på, jeg lærte ihvertfall veldig mye av denne oppgaven.
Publiserer den i kveld tenkte jeg, er på jobb nå å har ikke muligheten!
Legger med noen screenshots som viser hvordan den ser ut  osv.
Er det noen som har andre måter å løse en sånn oppgave på så hadde det  vært kjempe fint at dere skrev inn koden deres her, sånn så jeg kan lære mer, og leserene av bloggen!
Kom igjen, finn fram koden din og publiser du også!

mandag 5. oktober 2009

Trenger litt hjelp her!

Hei alle sammen!

Noen som vet hvordan jeg legger ut menyer på bloggen min? Kunne tenkt meg Programmering med forskjellige undermenyer. Selvfølgelig kan dette lages ved hjelp av html, men tenkte kanskje at bloggen har en mulighet til å legge til dette, uten at jeg må kode det manuelt?
Hvis noen har kjennskap til hvordan jeg kan gjøre det så ville jeg vært evig takknemlig. Svar gjerne alle som tror eller vet hvordan dette gjøres!

Hilsen Susanne

torsdag 1. oktober 2009

Skriv ut 0 - 9 ved å bruke en forLoop.

Opprett et nytt prosjekt, gå til program.cs -filen:

Skriv så denne koden:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace forLopp_1_9
{
    class Program
    {
        static void Main(string[] args)
        {
            int i;
            string text = "";

            // For loop
            for (i = 0;  i < 10;  i++)
            {
                text = "Line " + Convert.ToString(i);
                Console.WriteLine("{0}", text);
                Console.ReadKey();
            }
        }
    }
}

Skal prøve å forklare hva jeg har gjort her:

Først oppretter jeg to varibler vav typen int og string. String-variabelen har vi kalt for text og inneholder kun en tom string, mens variabelen int i skal brukes til å legge på et tall hver gang denne loopen kjøres.

Så oppretter jeg en forLoop som skal kjøre gjennom koden:
for (i = 0; i < 10; i++)
Her er da denne variabelen i satt til å ha vedien 0. Altså så starter den på 0.
Så sier den at denne forLoopen skal kjøre til den en mindre enn 10, og tilslutt så økes variabel i med 1 hver gang denne loopen kjøres.

text = "Line " + Convert.ToString(i);
                Console.WriteLine("{0}", text);
text settes da til å sette ordet "Line" + at den konverterer til en string om nødvendig, sånn så vi er sikre på at vi får en string tilbake.

Console.WriteLine brukes til å skrive noe ut, så her skrives da verdiene ut, og innholdet i text variabelen.

Console.ReadKey();
Denne gjør så applikasjonen leser en linje til, og kjører da ikke så fort igjennom så man ikke rekker å se noen ting. Pleier å bruke denne som en pause på en måte, da avsluttes ikke programmet før bruker har tastet en tast.



        

onsdag 30. september 2009

C# Skriv ut

Kode for å skrive ut noe:

Console.WriteLine("Hei, nå jeg skrevet ut noe");

Når du debugger koden så vil man ikke rekke å se noe av teskten som er skrevet ut.
Derfor leggervi til en Console.ReadLine() som virker på den måten at den leser neste linje:

Console.ReadLine();

torsdag 24. september 2009

C# Queue

// Lager en Queue og legger til objekter.
            Queue aQueue = new Queue();
            aQueue.Enqueue("Item 1");
            aQueue.Enqueue("Item 2");
            aQueue.Enqueue("Item 3");
            aQueue.Enqueue("Item 4");

            // Peke Item 1 men ikke flytte det.

            object item = aQueue.Peek();

            // Remove Item 1 & Item 2.
            object item1 = aQueue.Dequeue();
            object item2 = aQueue.Dequeue();

            // Trimme køens størrelse.
            aQueue.TrimToSize();

            // Kjøre gjennom gjennstående objekter og skriver ut(item 3 og item 4)
            foreach (object obj in aQueue)
            {
                Console.WriteLine("{0}", obj);
            }

C# Stack

// Lager en stack og legger til objekter.
            Stack aStack = new Stack();
            aStack.Push("Item 1");
            aStack.Push("Item 2");
            aStack.Push("Item 3");
            aStack.Push("Item 4");

            // Peek item 4 men ikke fjern det.
            object item = aStack.Peek();

            // Remove Item 4 and Item 3.
            object item4 = aStack.Pop();
            object item3 = aStack.Pop();


            // Kjører gjennom gjennstående objekter og skriver ut(item 2 og item 1)
            foreach (object obj in aStack)
            {
                Console.WriteLine("{0}", obj);
            }

C# Hashtable

// Lager en tom Hashtable og legger til nøkkel/verdi tilgang.
            Hashtable ht = new Hashtable();

            ht.Add("Chai", 18.0);
            ht.Add("Aniseed Syrup", 17.1);
            ht.Add("Chef Anton's Gumbo Mix", 28.58);

            // Sjekker om hashtable'n inneholder en spesifikk nøkkel.
            if (ht.Contains("Chai"))
            {
                double val = (double)ht["Chai"];
                Console.WriteLine("Chai price: {=:c}.", val);

                // Fjerner tilgang fra hashtable'n.

                ht.Remove("Chai");
            }

C# Sorted list

// Lager en tom SortedList og legger til entries.
            SortedList sl = new SortedList();
            sl.Add("Chai", 18.0);
            sl.Add("Aniseed Syrup", 17.1);
            sl.Add("Chef Anton's Gumbo Mix", 28.58);
            sl.Add("Chang", 10.5);

            // Få tak i index av nøkler.
            int index0 = sl.IndexOfKey("Aniseed Syrup"); // Får tak i 0.
            int index1 = sl.IndexOfKey("Chai");          // Får tak i 1.

            // Henter entries med nøkkel.
            object item0 = sl["Aniseed Syrup"];         // Får tak i verdi for Aniseed Syrup.
            object item1 = sl.GetByIndex(1);            // Får tak i verdien for Chai.

            // Fjerner entries med nøkkel og med index.
            sl.Remove("Chai");
            sl.RemoveAt(1);

            // Kjører gjennom entries i sortedList og skriver ut.
            foreach (DictionaryEntry entry in sl)
            {
                Console.WriteLine("{0}");
            }

C# - Hvordan kode en arraylist

Syntax for å lage en arraylist:

ArrayList al = new ArrayList();

al.Add("En");
al.Add("Start");
al.Add(5);
al.Add(new FileStream("delemete", FileMode.Create));

Console.WriteLine("Arrayen har " + al.Count + items:");

foreach (object s in al)
Console.WriteLine(s.ToString( ) );

Denne console applikasjonen viser følgende:

Arrayen har 4items:
En
Start
5
System.IO.FileStream

For å fjerne noe fra arraylisten:

al.Remove("Start");

For å legge til i arraylisten:

al.Insert(4, "Legg til dette");


For å sortere alfabetisk:

al.Sort();


lørdag 27. juni 2009

ASP Page Events

Most common events:
  • Page_PreInit
  • Page_Init
  • Page_PreLoad
  • Page_Load
  • Page_Unload
Noen som har noe kode rundt disse mest vanlige eventene, og som kan forklare litt hvordan de fungerer?
Vet det er jeg som skal blogge her, men hadde vært fint med litt innspill på hva hver enkelt av disse eventene gjør...
Om jeg ikke får noen svar på det så skal jeg selvfølgelig poste det så fort jeg kommer over noen fornuftige svar og forklaringer.
Har startet med ASP.NET og C# sammen.
Det er så mye mere spennende enn kun Application development foundation alene som fag. Det er tungt og vanskelig å få inn i hodet, særlig når man ikke har programmeringsbakgunn annet enn fra studiene. Så er sjeleglad for at vi nå har fått en endring i studiene og startet på ASP.NET før Application Development Foundation.

Genereres ASP.NET gjennom XHML mon tro?
Akkurat som PHP genereres gjennom HTML?
Om noen kan svare på det så er det bare å gi meg et hint, det står sikkert side opp og side ned om dette rundt om på nettet, men har ikke googlet det.

Er det noen som har tips til gode sider med tutorials hvor jeg kan lære ASP.NET sammen med C# så hadde jeg vært evig takknemlig for det.
Det finnes jo tusenvis av tutorials-sider, men har ikke funnet noen som jeg synes er matnyttig i forholdt til det å lage en applikasjon eller et mini-nettsted som jeg kan lære av.
Det er som regel enkeltemner som arrays, collections, getting started width ASP.NET osv.

mandag 15. juni 2009

C# Destructor

Skriver neste ting jeg har lært i dag, men denne gangen på norsk:

Destructor:

class SourceFile
{
~SourceFile ( )
{
....
}
}

C# Generic List

Syntax for å lage en generic list:

// Lager en tom liste.
            List aList = new List();

            // Legger til elementer.
            aList.Add(new DateTime(1968, 4, 5));
            aList.AddRange(new DateTime[]
            {
                new DateTime(1965, 1, 19),
                new DateTime(1964, 12, 3),
                new DateTime(1966, 2, 1),
                new DateTime(1997, 7, 2)
            });

            // Få tak i de 3 første elementene.
            List firstThree = aList.GetRange(0, 3);

            // Fjerner element 3 og 4.
            aList.RemoveRange(3, 2);

            // Sorter listen, og deretter søk etter et element.
            aList.Sort();

            int index = aList.BinarySearch(new DateTime(1968, 4, 5));
            Console.WriteLine("Index av element 4 april 1968 er {0}.", index);

            // Kjører igjennom elementer og skriver ut.
            foreach (DateTime dt in aList)
            {
                Console.WriteLine("{0}", dt.ToShortDateString());
            }