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 :

[vb6]MAJ sur une appli qui tourne 24h/24


Sujet :

VB 6 et antérieur

  1. #1
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut [vb6]MAJ sur une appli qui tourne 24h/24
    J'ai une appli qui tourne 24h/24

    j'aimerai faire une sauvegarde automatique tous les lundi par exemples.
    J'aimerai savoir ou dans le code, je peux faire la verification de la date...

    J'ai un mdiMain, dans lequel s'ouvre toutes les autres frm de mon appli.
    dans ce mdiMain, j'ai un statusBar
    Dans ce statusBar, j'ai l'heure qui s'affiche...
    Je peux retrouver le code de l'heure qque part ??
    Etant donne que c'est un raffraichissement direct avec l'heure systeme, ca serai cool...

    Mais je sais pas si elle existe :'(

  2. #2
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Il te faudra nécessairement un timer ou une boucle en tenant lieu (avec la fonction timer) ainsi qu'une variable globale pour éviter plusieurs fois l'opération aux changements de date (variable contenant, par exemple, la dernière date de lancement de cette opération)

  3. #3
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    bon, disont que j'ai trouver dans mon code, dans mon mdiMain, un endroit qui s'actualise toutes les 500ms apparament tout le temps (je pense en tout cas).

    disont que c'est ici que je vais mettre ma fonction qui fait ma sauvegarde, comment cela devrai se derouler ?

    100*3600*7 = 1semaine en ms si je ne m'abuse100*3600*7
    je creer un timer tmrSauv:
    Avec un delai de 100*3600*7 ms ? (je sais psa pourquoi, ca me parait zarb comme truc...)

    ou plutot

    Je fais un If tmrTourneToutLeTemps Mod(100*3600*7) = 0 Then Sauf EndIf ?

  4. #4
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    j'ai un peu reflechis sur le probleme, et en pansant a l'heure systeme, me suis dit qu'il y'avais une bien une fonction vb6 qui arrive a savoir la date .


    pis oui !

    donc je pense que je peux faire achement plus simple que de jouer avec les timers.

    Je prend une variable global de type Date(?)
    Je fais ma fenetre de saisie de jour et heure de date de Sauvegarde. [genre vendredi 00:00 ]
    Et la, bin je crois que je seche...
    je recupere la date courante, comment de la trouver la date du prochain vendredi ??
    methode: il faut que je recupere le jour de la semaine aujourd'hui et que je fasse + Xjours
    Quel Fonction utiliser ??

    Apres, en fonction de ce nombre de differnce de jour, ca devient facile.
    DateProchaineSauvegarde = Date Courante + X jours
    Et quand je sauve:
    DateProchaineSauvegarde = Date Courante + 7 jours

  5. #5
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    je fais des recherches, et je sais qu'il existe une fonction vb6 qui peut me dire si aujourd'hui on est lundi, mardi...

    Mais j'arrive pas a trouver un exemple concret...
    et F1 ne marchant pas, je bloque un peu...

    Solution pensée:
    Je regarde quel jour on est.
    si on est vendredi
    (cf exemple)je regarde l'heure.
    si il est minuit, je sauvegarde.

    Question:
    Quel fonction vb6 peut me retourner le jour de la semaine ?

  6. #6
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    WeekdayName, fonction


    Description

    Renvoie une chaîne indiquant le jour de la semaine spécifié.

    Syntaxe

    WeekdayName(weekday, abbreviate, firstdayofweek)

    La syntaxe de la fonction WeekdayName comprend les éléments suivants :

    Élément Description
    weekday Désignation numérique du jour de la semaine. La valeur numérique du jour de la semaine dépend de la valeur de l'argument firstdayofweek.
    abbreviate Facultatif. Valeur booléenne indiquant si le nom du jour de semaine doit être abrégé. Si cette valeur est omise, la valeur par défaut est False, ce qui signifie que le nom du jour n'est pas abrégé.
    firstdayofweek Facultatif. Valeur numérique indiquant le premier jour de la semaine.


    Valeurs

    L'argument firstdayofweek prend les valeurs suivantes :

    Constante Valeur Description
    vbUseSystem 0 Utiliser la valeur API NLS de la langue nationale.
    vbSunday 1 Dimanche (défaut)
    vbMonday 2 Lundi
    vbTuesday 3 Mardi
    vbWednesday 4 Mercredi
    vbThursday 5 Jeudi
    vbFriday 6 Vendredi
    vbSaturday 7 Samedi
    ou


    Private Sub Command1_Click()
    MsgBox Format(Now, "mmmm")
    MsgBox Format(Now, "dddd")
    MsgBox Format(Now, "yyyy")
    End Sub

  7. #7
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    Et pis voila ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If Format(Now, "dddd") = "mardi" Then
            If Time() = "14:42:00" Then
                Sauvegarde()
            End If
    End If
    Hein quoi? Comment ca je repond tout seul aux questions que je pose... meuh non !

  8. #8
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Hola !
    Beau monologue !
    Un mardi intervenant en général 7 jours après le mardi précédent et 7 jours avant le mardi suivant, la question semble ne pas se poser réellement !
    Il suffit de partir d'un premier mardi !
    Ce serait le même raisonnement avec n'importe quel autre jour, non ?
    Dans la variable globale, ce n'est pas l'heure seule qu'il faut stocker, mais la date également
    Au lancement de l'"opération machin" on connait la date (vois Now dans l'aide en ligne) ! ===>>> si déjà lancé now : ne pas relancer
    si pas lancé now ===>> lancer et inscrire nouveau now
    Pour l'écard de 7 jours : voir (aide en ligne) Dateadd, datediff, etc...
    Avec celà, tu devrais pouvoir jongler à ton aise : "construis" d'abord ta pensée... la syntaxe, dans cette affaire, est secondaire (et une fois ton "plan" arrêté en français, on t'aidera au besoin à le "syntaxer")

  9. #9
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    Nan mais c'est bon jfmarques.

    mon magnifique monologue m'a donne ma solution ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If Format(Now, "dddd") = "mardi" Then
      If Time() = "14:42:00" Then
                     Sauvegarde()
               End If
    End If
    D'ailleurs, si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If Time() = "14:42:00" Then
               If Format(Now, "dddd") = "mardi" Then
                      Sauvegarde()
               End If
    End If
    je devrai pas mal diminuer mes requetes ( je ne suis qu'une seule fois 14h42min00sec par jour. Alors que je suis toujours mardi, nmardi)

    Et oui, je peux prendre n'importe quel jour

    apres avec mon truc, je rentrerai, 7 fois dans le If par Semaine, mais 1 seule fois dans la sauvegarde. Trop de la balle ^^

  10. #10
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Hola !
    T'es pas prudent !
    Quand on fait celà, il faut se garder de donner une égalité sur une heure exacte !
    Choisis plutôt >= (c'est plus prudent que =)

  11. #11
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    heu...

    etant donner aue je fais ca dans un timer de 500ms, je suis sur de tomber sur l'heure exacte, nan ?

    si je fais un <, > je passerai plusieurs fois dans la boucle, donc plusieurs backup pour rien...

  12. #12
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Il ne faut JAMAIS prendre ce risque.... JAMAIS
    et un >= (pas un <>) est facile à gérer !
    regardes :
    une variable globale toto booléenne (dont tu te sers comme drapeau)
    True si sauvegarde lancée, False dans le cas contraire
    Si True : pas de sauvegarde
    remise à False dès le lendemain à l'heure de ton choix !

  13. #13
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    j'ai dit < ou > ...

    ou <= ou >= pareil ^^

    mais je vais voir ca quand mme...
    un booleen devrai me permettre de regler vite fait le pb

  14. #14
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Ben oui ! c'est ce que j'ai rajouté au dessus !

Discussions similaires

  1. Réponses: 6
    Dernier message: 28/04/2011, 14h19
  2. maj de données sur une appli multicouches
    Par Philippe PONS dans le forum Windows Forms
    Réponses: 2
    Dernier message: 26/02/2010, 10h30
  3. [VB6]déploiement d'une appli sur plusieurs postes
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 19/04/2006, 10h32
  4. [VB.NET] Programmer une Application qui tourne sur un PDA?
    Par Bils dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/01/2006, 04h23
  5. Réponses: 2
    Dernier message: 26/08/2003, 14h21

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