Avatar billede omen Nybegynder
29. november 2003 - 22:33 Der er 11 kommentarer og
1 løsning

Tiden og de individuelle tal

Jeg vil gerne vise tiden, og samme tid tage hvert et tal af tiden ud, til at blive et individuelt tal. Så hvis f.eks tiden er 12:31, så vil jeg have 1, 3, 3, og 1 ud som jeg f.eks kan indsætte hvert et tal til hver sin label.'

Jeg skal bruge det til et digitalt ur, så jeg har en baggrund hvor der er plads til de 4 tal, og jeg har så 10 billeder, et af hvert tal. Så har jeg 4 pictureboxes som repræsentere hvert tal.
Så igen, hvis tiden er 13:31, så skal pictureBox1 have indsat 1.png, og pictureBox2 skal have 3.png osv osv osv... jeg håber i forstår, og håber det kan gøres relativt enkelt!

På forhånd tak!
Avatar billede arne_v Ekspert
29. november 2003 - 22:37 #1
DateTime dt;
...
int h1 = dt.Hour / 10;
int h2 = dt.Hour % 10;
int m1 = dt.Minute / 10;
int m2 = dt.Minute % 10;

bør give dig dine tal.
Avatar billede arne_v Ekspert
29. november 2003 - 22:41 #2
Simpelt eksempel:

using System;

class MainClass
{
    public static void Main(string[] args)
    {
        DateTime dt = DateTime.Now;
        int h1 = dt.Hour / 10;
        int h2 = dt.Hour % 10;
        int m1 = dt.Minute / 10;
        int m2 = dt.Minute % 10;
        Console.WriteLine(h1 + ".png " + h2 + ".png " + m1 + ".png " + m2 + ".png");
    }
}
Avatar billede omen Nybegynder
03. marts 2004 - 18:54 #3
arne_v: Længe siden. Jeg vil bare høre om der er en anden måde at gøre det på, for selvom din måde virker fint på et 24 Timer system, så viser den måde stadig i 24 Timer system, selvom dit Windows er sat til !2 Timer systemet... hvis du forstår.

Vil meget gerne høre om du kan hjælpe, og vil hellere end gerne stikke dig flere point.

På forhånd tak!
Avatar billede arne_v Ekspert
03. marts 2004 - 19:07 #4
Det må vel være noget a la:

int h1,h2;
String ampm;
if(dt.Hour == 0)
{
  h1 = 1;
  h2 = 2;
  ampm = "PM";
}
else if(dt.Hour <= 12)
{
  h1 = dt.Hour / 10;
  h2 = dt.hour % 10;
  ampm = "AM";
}
else
{
  h1 = (dt.Hour - 12) / 10;
  h2 = (dt.hour - 12) % 10;
  ampm = "PM";
}
Avatar billede omen Nybegynder
06. marts 2004 - 13:57 #5
Ok, nu viser den 12 timer system på mit 24 timer system :)

Er der noget der skal byttes rundt?
Avatar billede arne_v Ekspert
06. marts 2004 - 15:05 #6
Så skal du nok lave det som:

        String s = dt.ToString();
        int h1 = int.Parse(s.Substring(11,1));
        int h2 = int.Parse(s.Substring(12,1));
        int m1 = int.Parse(s.Substring(14,1));
        int m2 = int.Parse(s.Substring(15,1));
Avatar billede omen Nybegynder
06. marts 2004 - 16:15 #7
Det giver ikke helt det rigtige resultat heller...
Avatar billede arne_v Ekspert
06. marts 2004 - 16:18 #8
Hvad får du og hvad skulle du have ?
Avatar billede omen Nybegynder
06. marts 2004 - 16:45 #9
Nej det var mig der gjorde det forkert, det ser ud til det viser ordenligt nu. Jeg får det lige testet på et 12 timers system, og kommer tilbage med feedback.
Avatar billede omen Nybegynder
06. marts 2004 - 19:07 #10
Ok, dette er stadig et problem. For i 12 Timer systemet, når klokken er 14.30 normal tid, er den 2.30 PM, så der er kun tre tal der. Og så skubber den åbenbart den string en gang, så datoen eller whatever kommer med i tiden. Hvis du forstår?
Avatar billede arne_v Ekspert
06. marts 2004 - 19:14 #11
Jeg forstår.

De absolutte positioner duer ikke.

Så må det jo blive:

        String s = dt.ToString();
        String hs = s.Split(" ".ToCharArray())[1].Split(":".ToCharArray())[0];
        String ms = s.Split(" ".ToCharArray())[1].Split(":".ToCharArray())[1];
        int h1 = int.Parse(hs) / 10;
        int h2 = int.Parse(hs) % 10;
        int m1 = int.Parse(ms) / 10;
        int m2 = int.Parse(ms) % 10;
Avatar billede omen Nybegynder
06. marts 2004 - 19:16 #12
Ok jeg har en løsning... tak for hjælpen arne_v :)
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