Avatar billede starfish Nybegynder
08. februar 2005 - 21:43 Der er 6 kommentarer og
1 løsning

At lære .NET på den hårde måde - hjælp til program

Hej.

Jeg skal til at lære .NET (C#) og istedet for at lave hello world og diverse eksempler fra bøgerne har jeg besluttet mig at lave mit eget lille øve projekt.

Jeg arbejder til dagligt med mainframesystemer, så det er så som så med min objektorienterede tankegang. Så der kommer nok lidt dumme spørgsmål. :)


Mit projekt er nok set i mange forskellige afarter før, men noget skal man jo lave.

- Timetracker tool -

Toolet skal hjælpe med at holde styr på hvor lang tid man bruger på forskellige opgaver. Det er navnligt kærenstens skolearbejde der skal holdes øje med. I dag bruger hun et stopur og en blok papir.




Man skal kunne registrere et antal fag.

Til hvert fag skal der kunne registreres et antal opgaver.

Til hver opgave skal der kunne registreres et antal perioder (start tidspunkt og sluttidspunkt).


Tidsforbruget til en given opgave er så alle perioderne lagt sammen. Tilsvarende er tidsforbruget i et fag alle opgaverne lagt sammen.



Det jeg har er altså data jeg normalt ville gemme i en relationsdatabase.

Dog vil jeg i dette projekt ikke have et der skal benyttes en database. Men hvad skal jeg så?

Jeg er klar over at man kan gemme data på mange måder i dotNET. Jeg har i min bog både stødt på Serializem binaryReader/writer og gem via XML. Hvad kan I anbefale? Det skal være nemt at forstå og gå til - har aldrig arbejdet med nogle af måderne før, men XML tiltaler mig umiddelbart mest, hvis det da kan løse mit problem.



Når man har valgt et fag fra oversigten (en listview (Delphi sprog?) skal man så kunne se alle opgaverne med det beregnede tidsforbrug (på baggrund af alle perioderne til hver opgave).


Hvordan gemmer jeg bedst muligt mine data?

Bør jeg lave en class "opgave()" som  indeholder mine perioder i en slags tabel (collection?).

Hvordan skal "periode" defines? Som en klasse eller en struct?



--- "Opgave" -> indeholder flg.:
beskrivelse (string)
tidsforbrug (beregnet attribut) (sekunder longint? eller tilsvarende?)
liste over perioder


-- "Periode" -> indeholder flg.:
starttidspunkt
sluttidspunkt



Gode ideer modtages med kyshånd. Dog er mit første og største problem hvordan jeg skal gemme mine data. Dernæst er problemet at indlæse og gemme data igen.



På forhånd tak,
fra en noobie i OO og dot.net :)
Avatar billede arne_v Ekspert
08. februar 2005 - 22:27 #1
Jeg synes absolut at database var en mulighed. Det er meget nemt i .NET !

Men ellers brug en XML fil. Jeg har skrevet nogle artikler om brug af XML
i C# og VB.NET.

Hold dig fra serialisering til persisterings formål.
Avatar billede starfish Nybegynder
08. februar 2005 - 23:34 #2
Disse artikler er det nogle du har online?

Umiddelbart ville database da være dejligt, men det kræver vel at der er installeret en DB på min kærestes PC for at hun kan bruge programmet? Dette ville jeg helst undgå.
Avatar billede starfish Nybegynder
08. februar 2005 - 23:35 #3
Hov, der er sket noget siden jeg sidste brugte eksperten. Der er kommet artikler :) Jeg giver dine artikler at kig :)
Avatar billede arne_v Ekspert
08. februar 2005 - 23:42 #4
http://www.eksperten.dk/artikler/498

eller

http://www.eksperten.dk/artikler/499

afhængig af om du bruger C# eller VB.NET
Avatar billede arne_v Ekspert
08. februar 2005 - 23:42 #5
Har hun ikke installeret Office inkl. Access ?
Avatar billede starfish Nybegynder
08. februar 2005 - 23:49 #6
Nå jo. Du siger noget. :) Jeg kigger på det.
Avatar billede arne_v Ekspert
25. februar 2005 - 20:39 #7
OK ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester