Forum
Grundkurs
»Introduktion
»Snabbguide
»Komponenter
»Händelser
»Strängar
»Räkna med Delphi »Egna
typer
»Selektion
»Iteration
»Menyer
»Funktioner
»Arraystrukturer
Tips & Tricks
»Nya tips
»Blandat
»Databaser
»Filer
»Forms
»Grafik
»Internet
»Komponenter
»Matematik
»Multimedia
»Objekt/ActiveX
»Skrivare
»Strängar
»System
»Mest lästa tips
Artiklar
»Delphi och ADO
»Bygga en DLL
»Skapa en enkel rapport
»Hantera registret
»Enheter, units
»Klassen TCanvas
»Använd LookUp Controls
Nya
tips
Lägg
till tips
Delphilänkar
Gästbok
|
|
Returnera alla tidsdelar med GetTickCount
|
Kategori: Blandat
Inlagt: 2007-11-27
Läst: 1881
Inlagt av: Staffan Berg
|
Beskrivning |
Med hjälp av GetTickCount-funktionen i Windows API kan du returnera tid ända ned till millisekunder. Studera exemplet.
|
Kod |
type TUpTime = record MilliSeconds: Word; Seconds, Minutes, Hours, Days, Months, Years : Byte; end; var Ticks: Int64; TempTicks: Cardinal; function GetTickCountEx: TUpTime; var temp: Cardinal; begin if Ticks = 0 then Ticks := GetTickCount else begin temp := TempTicks; TempTicks := GetTickCount; if TempTicks < Ticks then Inc(Ticks, TempTicks - temp) else Ticks := TempTicks; end; with Result do begin MilliSeconds := Ticks mod 1000; Seconds := (Ticks div 1000) mod 60; Minutes := (Ticks div 60000) mod 60; Hours := (Ticks div 3600000) mod 24; Days := ((Ticks div 3600000) div 24) mod 30; Months := ((Ticks div 3600000) div 24) div 30; Years := ((Ticks div 3600000) div 24) div 365; end; end;
|
|
|