Les Snippets

Connexion

Convertir un nombre de millisecondes en Heures, Minutes, Secondes par API

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 01/04/2006 12:57:05 et initié par Gobillot [Liste]
Date de mise à jour : 30/11/2007 08:46:11
Vue : 16444
Catégorie(s) : Date & Heure
Langages dispo pour ce code :
- VB6
- Delphi 5
- VB6



Langage : VB6
Date ajout : 01/04/2006
Posté par Gobillot [Liste]
DateMAJ : 01/04/2006
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Declare Function StrFromTimeInterval Lib "shlwapi" Alias "StrFromTimeIntervalA" (ByVal pszOut As String, ByVal cchMax As Long, ByVal dwTimeMS As Long, ByVal dwDigits As Long) As Long
 
' Fonction pour transformer un nombre en Heures, Minutes, Secondes
' lTime est en milliseconds
' lDigits est optionnel
'   3 -> heures
'   5 -> heures & minutes
'   7 -> heures & minutes & secondes
Private Function GetFormattedTime(ByVal lTime As Long, Optional lDigits As Long = 7) As String
   Dim StrOut As String
   StrOut = Space(64)
   Call StrFromTimeInterval(StrOut, Len(StrOut) - 1, lTime, lDigits)
   GetFormattedTime = Trim(StrOut)
End Function

'  exemple d'utilisation:
   MsgBox "Your computer works: " & GetFormattedTime(GetTickCount)

Langage : Delphi 5
Date ajout : 05/08/2006
Posté par f0xi [Liste]
function TickToLisibleTime(const Tick : cardinal) : string;
var H,N,S,Z : word;
begin
  Z := Tick mod 1000;
  S := (Tick div 1000) mod 60;
  N := (Tick div 60000) mod 60;
  H := (Tick div 3600000);
  result := format('%.2d:%.2d:%.2d.%.3d',[H,N,S,Z]);
end;

Langage : VB6
Date ajout : 30/11/2007
Posté par Proger [Liste]
DateMAJ : 30/11/2007
Function HMS(ByVal s As Long) As String
 'avec -1 < s < 360000
 Dim j As Long, h As Long, m As Long
 Dim osB(1 To 8) As Byte
         osB(3) = 58 ' ":"
         osB(6) = 58
     
         m = s \ 60
         s = s - m * 60
         h = m \ 60
         m = m - h * 60
         
         j = s \ 10
         osB(8) = 48 + (s - j * 10)
         osB(7) = 48 + j
         
         j = m \ 10
         osB(5) = 48 + (m - j * 10)
         osB(4) = 48 + j
         
         j = h \ 10
         osB(2) = 48 + (h - j * 10)
         osB(1) = 48 + j
         
         HMS = StrConv(osB(), vbUnicode)
   End Function
Remarque :
Version avec secondes uniquement (soit millisecondes \ 1000)
Algo brut, entre 4 et 8 fois plus rapide qu'avec l'intervention de Format$(), CDate() ou API, sous VB6 (IDE ou compilé)
Combinaisons de shl/sar quand compilé, pas de idiv.

Snippets en rapport avec : Convertir, Heures, Minutes, Secondes, Shlwapi



Codes sources en rapport avec : Convertir, Heures, Minutes, Secondes, Shlwapi

{Visual Basic, VB6, VB.NET, VB 2005} CONVERTISSEUR DE MINUTES EN HEURES
Je suis débutant et j'ai fait ce petit programme avec un code très simple, vous pouvez additionner, ...

{C / C++ / C++.NET} CONVERTION DU TEMPS
Prog pour convertir jours, heures, minutes, secondes. Je l'ai crée suite à un probleme à l'école ...

{C / C++ / C++.NET} SOLO OLELOADPICTURE
source pour loader des images jpg,wmf,bmp,ico etc avec OleLoadPicture et render load comme res...

{Delphi} DATE EN ARABE
C'est un petit programme qui convertit la date du jour en langue Arabe. La fonction intégrée conver...

{Javascript / DHTML} CONVERSION TEXTE ACCENTUÉ -> CODE HTML
Etant donné que je n'ai pas trouvé de code qui permettait de me générer un code HTML à partir d'un t...

{IRC} AMICODER CONVERSION AUDIO V1.0
Cet addon vous permet de convertir differents formats audio dans d'autres formats. Il transfert éga...

{C / C++ / C++.NET} MORSEPLAYER, JOUER UN MESSAGE MORSE
Voici une source qui code un texte en morse pour le jouer ensuite. Il permet ainsi de "jouer des tex...

{Visual Basic, VB6, VB.NET, VB 2005} DATE/HEURE PRÉCISE
Cette source permet d'afficher la date et l'heure jusqu'au millièmes de secondes (en faisant appel à...

{Visual Basic, VB6, VB.NET, VB 2005} JARSTAR, EMULATEUR JEUX JAVA MOBILE POUR PC
Jouer a des jeux java de telephone portable sur son PC. Une fois l'utilitaire bien configuré, il es...

{Visual Basic, VB6, VB.NET, VB 2005} CRÉER UN(DES) RENDEZ-VOUS/ DEMANDE(S) DE RÉUNION À PARTIR D'EMAIL(S)
Permet de créer un rendez-vous/une demande de réunion à partir d'un email. La macro fonctionne égale...