/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Date variable
Fra : Kristian Pelle


Dato : 27-01-01 18:20

Hejsa...
Når man laver en variable (Date) med tid, så hedder det ("hh.mm.ss") For
timer minutter sekunder. Hvad hvis man vil lave millisekunder, hvad hedder
det så. Er det overhovedet muligt?

-Quane
OvEr AnD oUt!

--[Mess with the BEST, die like the REST]--



 
 
Steven Bergstedt (27-01-2001)
Kommentar
Fra : Steven Bergstedt


Dato : 27-01-01 18:20

kristian.pelle@get2net.dk (Kristian Pelle) wrote in <gpla6.185$qs3.6132
@news.get2net.dk>:

>Hejsa...
>Når man laver en variable (Date) med tid, så hedder det ("hh.mm.ss") For
>timer minutter sekunder. Hvad hvis man vil lave millisekunder, hvad hedder
>det så. Er det overhovedet muligt?
>
>-Quane
>OvEr AnD oUt!
>
> --[Mess with the BEST, die like the REST]--
>
>
>

Det er faktisk rigtig simpelt! det eneste du skal gøre er, at sætter din timer
til at opdateret hurtigere Et eksempel:
Hvis du ønsker den skal opdatere hvert 10 millisekund sætter du bare timerens
interval=10 eller bare interval=1 hvis du ønsker den skal opdatere hvert
millisec.


//Best regards
   ^Segal^ - Steven Bergstedt

Tomas Christiansen (27-01-2001)
Kommentar
Fra : Tomas Christiansen


Dato : 27-01-01 18:20

Steven Bergstedt skrev:
> Hvis du ønsker den skal opdatere hvert 10 millisekund sætter du bare
timerens
> interval=10 eller bare interval=1 hvis du ønsker den skal opdatere hvert
> millisec.

Det er meget muligt, at man har muligheden for at indstille timeren til 1
millisekund, problemet er blot, at hardwaren ikke understøtter det!

Har du prøvet at se hvor ofte du i virkeligheden får dine timer-events?

En lille test på min PC, viste at der højst kommmer 64 timer-events i
sekundet (svarende til en frekvens på 15625Hz).

Med andre ord giver værdierne 1..15 for Timer.Interval det samme resultat,
nemlig 64 events pr. sekund, hvorimod værdien 16 giver 40 events pr. sekund,
værdierne 17..31 giver 32 events osv. osv. osv.

Bemærk, at de pågældende tal for antallet af events pr. sekund er
MAKSIMUM-værdier. Hvis det tager så lang tid at udføre event-proceduren, at
der i mellemtiden er kommet et nyt event, bliver det nye event, så vidt jeg
har erfaret, blot ignoreret.

-------
Tomas



Tomas Christiansen (27-01-2001)
Kommentar
Fra : Tomas Christiansen


Dato : 27-01-01 18:20

Kristian Pelle skrev:
> Når man laver en variable (Date)...
> Hvad hvis man vil lave millisekunder

Det er faktisk et rigtigt godt spørgsmål.
Datoer og tidspunkter gemmes som et kommatal, hvor cifrene til venstre
kommaet beskriver datoen, og cifrene til højre for kommaet beskriver
tidspunkter.
Værdien 0,5 er <ingen dato> klokken 12:00:00 midt på dagen.
Opløsningen - hvis man bruger VB indbyggede rutiner - er 1 sekund, og der er
86400 sekunder på et døgn.
Værdien af tidspunktet 23:59:59 (dvs. det 86399'te sekund på dagen) bliver
derved 86399/86400 = 0,9999884259259259...
Hvis jeg ønsker at lægge en tiendedel sekund til et tidspunkt, skal jeg
altså blot addere værdien 1/864000 = 0,00000115740740...

Her er et lille eksempel på, at lægge tidspunktet 01:02:03:45 ind i en Date
variabel, og efterfølgende udtrække cifrene igen:

Dim t As Date
t = TimeSerial(1, 2, 3) + _
CDbl(4 / 864000) + _
CDbl(5 / 8640000)
Debug.Print Hour(t), Minute(t), Second(t), _
t * 864000 Mod 10, _
t * 8640000 Mod 10

Dette kan naturligvis gøres langt smartere, men det er blot et eksempel, som
skal vise hvor enkelt det i princippet er, at benytte tienddele sekunder,
hundrededele eller endnu finere opløsning i forbindelse med datatypen Date.

Præcis HVOR grænsen er, har jeg ikke lige fundet ud af.

-------
Tomas



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408903
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste