IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

API set Timer.


Sujet :

VB 6 et antérieur

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 69
    Par défaut API set Timer.
    Bonjour.
    Mon probleme est assez compliqué a expliquer.Je vais essayer de faire simple.

    je voudrais utiliser l'API set timer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SetTimer Me.hwnd, 0, 1, AddressOf MaFonction
    Est il possible de parametrer 'MaFonction' de facon a ce que chaque timer que je crée ,execute 'MaFoction', mais avec differents parametres....comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    idt1 = SetTimer Me.hwnd, 0, 1, AddressOf MaFonction(param1)
    idt2 = SetTimer Me.hwnd, 0, 1, AddressOf MaFonction(param2)
    Je pourrais utiliser 'n' classique controle timer sur ma FORME avec chacun sa propre procedure , mais je ne connais pas le nombre de timer a l'avance



    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    l'operateur AdressOf ne prend en compte que un nom de procédure, impossible d'y ajouter un parametre.
    Pour les controles timer. il est possible d'ajouter dynamiquement des timers à l'exécution.
    Au momment de la conception, tu déposes un controle timer sur la feuille. Dans sa proprété index, tu lui mets la valeur 0
    A l'exécution, tu ajoutes un timer en faisant
    NumTimer etant un integer different de zéro et chaque load doit avoir un numero différent. Pour ce faire tu peux utiliser

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 69
    Par défaut
    Merci delbeke pour ta reponse.

    Mais mon principal probleme c'est la fonction 'MaFonction'.
    Je vais essayer d'expliquer concrètement ce que je voudrais faire :

    j'ai une appli de taxation qui se base sur winsock pour taxer des appels venant de cabines. ces cabine sont representées par des labels sur ma FORM. (cabine1 ,cabine2....cabine n)

    pour facturer un appel ,je recoit une trame de debut_appel et une trame fin_appel.Chaque trame contient mon numero de cabine. La trame fin_appel contient aussi la dureé de l'appel avec laquelle je facture.

    Ce que je voudrais faire, c'est déclancher un timer a la reception de la trame debut_appel afin d'afficher au fur et a mesure le cout de l'appel......et ce pour chaque cabine.

    J'espere avoir été assez claire

    Merci

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    dans une variable date nomée Debut, tu releve l'heure system (Now ou Time) lors de la trame debut_appel , lors de la trame fin_appel tu utilise DateDiff
    Pour + d'explication regarde le post ICI
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 69
    Par défaut
    Bonjour ProgElecT.

    Je pense que je me suis mal exprimé.
    Je voudrais pouvoir afficher en temps réel le cout de l'appel. c'est a dire dés la reception de la trame debut_appel. sachant que dans cette trame il ya le numero_appelé avec lequel je me base pour taxer( le pas de facturation).

    Comme ca achaque pas de facturation, je vois a combien il en est...




    Merci.

  6. #6
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Dans le principe tu pourrais avoir un timer unique qui a chaque fois qu'il est activé boucle de la cabine1 à la cabine N et fait le calcul entre heure presente et heure de début pour la cabine en cours ==> affichage de la durée/cout pour chaque cabine.

  7. #7
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    En mettant tout ce qui vient d'etre dit ensemble. Tu pourrais mettre un groupe de label Cabine, chaque cabine etant référencée par son index
    Quand tu reçois la trame début de conversation, tu notes l'heure de départ dans la propriété tag du label

    dans le data arrival
    si on demarre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cabine(NumCabine).Tad = Now
    sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cabine(NumCabine).Tad = ""
    Dans la procedure timer
    tu parcours tous tes labels, tu verifies si le tag est differend de vide, tu calcules le montant de la com et le stockes dans le caption du label.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private sub Timer1_Timer
      Dim iPnt as integer
      for iPnt = 1 to Cabines.Count
         if Cabine(iPnt).Tag <>"" then
              Cabine(iPnt).Caption = DateDiff("s",Cabine(iPnt).Tag,Now) * CoutSeconde
         end if
       next
    End Sub

  8. #8
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    je suis d'accord, tu peux stocker le "debut appel" dans un dictionnaire et dès que tu reçois un "fin appel" tu fais la différence avec le "début appel" correspondant.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 69
    Par défaut
    MERCI BEAUCOUP A TOUS pour l'idée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. API Timer présentée dans la FAQ - méthode de classe
    Par Pacma dans le forum VBA Access
    Réponses: 1
    Dernier message: 26/10/2014, 14h58
  2. Utilisation Google Email Setting API
    Par sofiane37 dans le forum APIs Google
    Réponses: 0
    Dernier message: 08/04/2013, 12h19
  3. Adapter la class TIMER à mon api
    Par c-bolo dans le forum C#
    Réponses: 3
    Dernier message: 11/01/2012, 00h57
  4. Documentation gratuite sur l'API Windows, COM, DCOM, OLE, etc.
    Par Community Management dans le forum Windows
    Réponses: 1
    Dernier message: 16/11/2006, 16h28
  5. API Timer
    Par BB85_TIGRIS dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 31/01/2006, 23h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo