Avatar billede heman.dk Nybegynder
02. marts 2005 - 11:41 Der er 12 kommentarer og
1 løsning

Kontrol om dato findes

Hvordan kontrollerer man om en dato findes?

if (dato.findes == true){}

Ved godt det ikke er sådan, men bare så I ved hvad jeg mener.... Har forsøgt med google og F1 i Microsfot Visual.

/Henrik
Avatar billede heman.dk Nybegynder
02. marts 2005 - 11:46 #1
Jeg skal kontrollere at datoen findes, så man ikke løber ind i problemer senere..., eksempelvis findes 29/2-05 ikke, men det gør den i andre år..., så vidt jeg ved. (o:

/Henrik
Avatar billede arne_v Ekspert
02. marts 2005 - 11:48 #2
Konstruer en DateTime og catch en eventuel exception ...
Avatar billede heman.dk Nybegynder
02. marts 2005 - 11:49 #3
Undskyld, men er forholdsvis ny i C#; er der mulighed for at du kan uddybe? (o:

På forhånd tak!

/Henrik
Avatar billede arne_v Ekspert
02. marts 2005 - 11:55 #4
using System;

class MainClass
{
    public static void Test(int y, int m, int d)
    {
        try
        {
            DateTime dt = new DateTime(y, m, d);
            Console.WriteLine(y + " " + m + " " + d + " id valid");
        }
        catch(ArgumentOutOfRangeException ex)
        {
            Console.WriteLine(y + " " + m + " " + d + " id not valid");
        }
    }
    public static void Main(string[] args)
    {
        Test(2004, 2, 29);
        Test(2005, 2, 29);
    }
}
Avatar billede heman.dk Nybegynder
02. marts 2005 - 12:00 #5
Igen, undskyld at jeg er dum; jeg fatter meget lidt af det; undskyld... (o:

Det er til en windows app, og indtil videre har jeg fået lavet:

if (dato.findes == false)
    {
        output =  output+"\n\tDatoen er ikke eksisterende";
        datolbl.ForeColor = System.Drawing.Color.Red;                }

/Henrik
Avatar billede spif2001 Nybegynder
02. marts 2005 - 12:01 #6
Du kan også checke om et år er et skudår

if(DateTime.IsLeapYear(2005))
{gør noget}
else
{gør noget andet}
Avatar billede arne_v Ekspert
02. marts 2005 - 12:03 #7
Prøv og lav det om til en boolean function:

public static boolean Test(int y, int m, int d)
    {
        try
        {
            DateTime dt = new DateTime(y, m, d);
            return true;
        }
        catch(ArgumentOutOfRangeException ex)
        {
            return false;
        }
    }

så må du kunne bruge den hvor som helst
Avatar billede heman.dk Nybegynder
07. marts 2005 - 23:52 #8
Det er svaret!
Avatar billede arne_v Ekspert
08. marts 2005 - 07:51 #9
Så skulle jeg måske have haft nogen point ?
Avatar billede heman.dk Nybegynder
08. marts 2005 - 08:53 #10
Det forsgøte jeg også på, men kunne ikke. Det må du undskylde!

/Henrik
Avatar billede arne_v Ekspert
08. marts 2005 - 09:06 #11
Avatar billede arne_v Ekspert
08. marts 2005 - 09:08 #12
Eventuelt kan teknikken fra http://expfaq.1go.dk/?id=30#giv_flere_point anvendes
Avatar billede heman.dk Nybegynder
08. marts 2005 - 09:12 #13
Hey! jeg har oprettet et spørgsmål mere, der hedder "Point til arne_v"! Gå ind og lig et svar der, så får du dine point.

/Henrik
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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