Time UNIX

afrodje Messages postés 759 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 22 janvier 2014 - 29 févr. 2008 à 11:11
NHenry Messages postés 15048 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 19 mars 2023 - 29 févr. 2008 à 12:23

8 réponses

NHenry Messages postés 15048 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 19 mars 2023 156
29 févr. 2008 à 11:28
Bonjour

et ?

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
afrodje Messages postés 759 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 22 janvier 2014
29 févr. 2008 à 11:41
Oups...Mon texte n'est pas apparu... Désolé

En faite cette source m'intéresse mais la fonction GetGMT() ne fonctionne pas chez moi (au niveau du call) et il y a des déclarations de variables non faite.

J'utilise VB.net express 2005. 

Merci
0
NHenry Messages postés 15048 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 19 mars 2023 156
29 févr. 2008 à 11:47
Bonjour

Pourrais-tu poster le code que tu as mis dans ton appli, car il y a des adaptations à faire, et je ne suis pas sur que tu ais tout fait.

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
afrodje Messages postés 759 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 22 janvier 2014
29 févr. 2008 à 12:01
Voila le code original avec mes quelques modifications :

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        '3 fonctions pour l'instant :

        GMT_Time() 'retourne le tampon horaire UNIX courant

        GMT_In(Of Date)() 'retourne le tampon horaire UNIX de la date passée en parametre

        GMT_Out(Format, TimeStamp) 'Retourne une string de la date correspondant au tampon horaire du 2nd parametre.

        'Format permet de formater la sortie.

    End Sub

    Private Declare Sub GetSystemTime Lib "kernel32" (ByVal lpSystemTime As HeureSyst)

    Private Structure HeureSyst

        Dim GMTAnnee As Integer

        Dim GMTMois As Integer

        Dim GMTJourSemaine As Integer

        Dim GMTJour As Integer

        Dim GMTHeure As Integer

        Dim GMTMinute As Integer

        Dim GMTSeconde As Integer

        Dim GMTMillisecondes As Integer

    End Structure

    Private Function GetGMT() As String

        Dim sysTime As HeureSyst

        Dim a As Date

        Dim b As Date

        Call GetSystemTime(sysTime)

        a = sysTime.GMTHeure & ":" & sysTime.GMTMinute & ":" & sysTime.GMTSeconde

        MsgBox(a)

        b = CDate(DateTime.Now) - CDate(a)

        GetGMT = (b * 24) '(Utilse si vous voulez obtenir le décalage en heure ex: +2,5 (heures))

        Return GetGMT

    End Function

    Public Function GMT_Time()

        GMT_Time = DateDiff("s", DateAdd("s", GetGMT() * 3600, "1/1/1970 0:0:0"), Now)

    End Function

    Public Function GMT_In(ByVal PDate As Date)

        GMT_In = DateDiff("s", DateAdd("s", GetGMT() * 3600, "1/1/1970 0:0:0"), PDate)

    End Function

    Public Function GMT_Out(ByVal FormatDate As String, ByVal TimeStamp As Long) As String

        Dim Temp As Date

        Temp = DateAdd("s", TimeStamp, DateAdd("s", GetGMT() * 3600, "1/1/1970 0:0:0"))

        GMT_Out = Format(DateAdd("s", TimeStamp, DateAdd("s", GetGMT() * 3600, "1/1/1970 0:0:0")), FormatDate)

    End Function
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15048 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 19 mars 2023 156
29 févr. 2008 à 12:10
Bonjour

Déjà pour la structure, remplace les "As Integer" par des "As Short".
Ensuite Si tu met "Option Strict" à On, tu doit avoir quelques erreur, les fonctions "GTM_Tim" et "GMT_In" ne sont pas typées, leur type respectif serait : Date et Date
Dans la déclaration de l'API, remplace le ByVal par un ByRef.

Pour l'erreur, peux-tu donner le texte EXACTE du message, car je ne pourrais t'aider plus sans.

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
29 févr. 2008 à 12:11
tu dois mettre a jour la declaration de l'api getsystemtime et la structure associée pour qu'elle soit compatible avec .Net.

cependant, je pense que le framework te permet de te passer de cette API
0
afrodje Messages postés 759 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 22 janvier 2014
29 févr. 2008 à 12:22
Je ne peux pas typé en date GTM_Time et GTM_in car ils renvoyent des long :
Erreur    6    Une valeur de type 'Long' ne peut pas être convertie en 'Date'

Sinon voici quelques erreurs :
Erreur    1    'Public Function GMT_In(PDate As Date) As Date' n'a pas de paramètres de type et donc ne peut pas avoir d'arguments de type

Erreur    2    Argument non spécifié pour le paramètre 'Expression' de 'Public Function Format(Expression As Object, [Style As String = ""]) As String'.

Et dans GetGMT(), erreur sur la variable b
Erreur    4    Une valeur de type 'System.TimeSpan' ne peut pas être convertie en 'Date'.
0
NHenry Messages postés 15048 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 19 mars 2023 156
29 févr. 2008 à 12:23
Bonjour

Judicieuse remarque, Renfield, je n'y avais pas pensé.

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
Rejoignez-nous