10. januar 2009 - 21:54Der er
14 kommentarer og 2 løsninger
Hvordan henter jeg klokken fra computeren?
Hej. Jeg skal i skolen lave en consol-applikation i C# som jeg gerne vil have til at hente klokken fra computeren. Alt efter hvad klokken er skal der køres forskellige switch-case´s der gentager sig selv ved hjælp af while(true).
Spørgsmålet er: Hvordan henter jeg klokken fra computeren? og udskriver det til consollen? Har system.DateTime noget med det at gøre?
Ps jeg er absolut begynder så håber svaret kan holdes i begynder-sprog:) Mvh Martin
websmith! Hvad er det jeg mangler for at case´n starter?
Det er tiden jeg gerne vil ha´ til at være afgørende for hvilken case der startes. Lad os sige jeg gerne vil have startet case 5 i dit eksempel. Hva skal klokken så være? Det er vel ikke defineret endnu, eller hva??
Hvis du kigger på koden, så er der en variabel kaldet hour.
Den er afhængig af timen på døgnet, så switch statementet arbejder på timen i døgnet, dvs. imellem kl 5 og 6 så vil "case 5" blive aktiveret osv.
Det burde være en smal sag at lige putte de andre ting ind.
Hvis du vil have forskellige handliger for hver time, lader du bare være med at lade case statements falde igennem, dvs. du putter en break; ind imellem alle statements.
ex. switch(hour) { case 0: Console.WriteLine("Klokken er imellem 0 og 1"); break; case 1: Console.WriteLine("Klokken er imellem 1 og 2"); break; case 2: Console.WriteLine("Klokken er imellem 2 og 3"); break; case 3: Console.WriteLine("Klokken er imellem 3 og 4"); break; case 4: Console.WriteLine("Klokken er imellem 4 og 5"); break; case 5: Console.WriteLine("Klokken er imellem 5 og 6"); break; }
Jeg håber det var svar nok, ellers spørg bare igen :)
Da min kode er alt for lang til at skrive her har jeg prøvet at få det til at virke i nedenstående eksempel. Jeg har ændret tiden på min computer til ca 2:30 Når jeg kører det skriver den Klokken er: 02:30:40 i min consol på grund af
Den eneste grund til at du ikke for en compilerfejl er at en char implicit også er en byte, og en byte kan castes til en int. men værdien '1' er faktisk 31, 2=32 osv.
Så hvis du ændrer det til case 1: osv, så skal du se :)
Nej, det var nok ikke derfor alligevel men mærkeligt nok virkede det først da jeg satte nullerne foran. Nu virker det også uden nuller? anyway
Har i fået point?
Jeg nu sat endnu en Console.WriteLine("Klokken er: {0}", DateTime.Now.ToLongTimeString()); ind nederst efter case´s men hvordan får jeg den til at starte case 2 feks hvis jeg har kørt den klokken 1 og klokken imellemtiden er blevet 2.
Skal jeg oprette en ny tråd til dette spørgsmål?
using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int hour = DateTime.Now.Hour;
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.