Compte a rebourd avec une progressbar [Résolu]

Signaler
Messages postés
18
Date d'inscription
dimanche 19 octobre 2014
Statut
Membre
Dernière intervention
24 octobre 2014
-
Messages postés
7418
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
15 juin 2021
-
Bonjour a tous,
j'ai une Form1, dans la Form1 j'ai 12 boutons, chaque bouton ouvre une nouvelle Form (Form2, Form3 etc) "intro pour info"

1 Question;
Dans la Form2 j'ai 1 ProgressBar que je veut transformer en décompte a rebours exemple: la progressbar et a value 100 au départ et quand on déclenche le lancement avec un bouton je veut que la progressbar descende d'une barre (value -1 par jour) et je veut que quand je ferme mon application sa sauvegarde l'état de la progressbar puis quand je ré ouvre mon application la progressbar calcul le temps entre la fermeture et l'ouverture puis recalcule la value de la progressbar de sorte que le compte a rebours fonctionne même le programme fermer. (Progressbar câblé sur la date)

2 Question;
comment faire pour sauvegarder la position des radioboutons, image afficher dans la picturebox a la fermeture d'une Form dans la Form et le tout dans l'application?
Merci a tout ceux qui me viendront en aide.. ;-)

3 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Bonjour,
Tes deux questions ont la même réponse :
qu'il s'agisse ou non d'une progressbar ou de n'importe quel autre contrôle (également vrai avec n'importe quelle variable), il s'agirait d'en conserver la valeur d'une de ses propriétés entre deux sessions.
Cela ne peut se faire qu'en mémorisant ailleurs (fichier, Base de registre, etc ...) la valeur à conserver. A écrire lors d'une session et à relire lors d'une autre session.
On ne sait par ailleurs si tu développes sous VB6 ou VB.Net (tu as ouvert cette discussion dans la section générale Visual Basic !)
Si sous VB.Net : ouvre MSDN sur le mot My.Settings

PS : et pour que ton compte à rebours inclue le temps passé entre deux sessions : il va sans dire (évident) qu'il te suffit de mémoriser (comme dit plus haut) la date/heure de fermeture, puis (à l'ouverture suivante) de relever la nouvelle date/heure, calculer le temps écoulé et modifier en conséquence la propriété value de ta progressbar (mais cela va tellement de soi).


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Messages postés
18
Date d'inscription
dimanche 19 octobre 2014
Statut
Membre
Dernière intervention
24 octobre 2014

je code avec Visual Basic 2010 express
il faut créer (une variable) ou (une class) Load Form et Save Form ?
et comment je synchronise la progressbar a Days+1 = value-1 ?
on peu pas activer une option dans proprietés / (Application Setting) / (Property Binding) pour que les radioboutons mémorise leur position ?
merci
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
1) Je déplace donc ta discussion
2) il me semble que je t'ai déjà répondu (My.settrings ou fichier texte ou base de registre ... dans tous les cas : mémorisation hors de ton appli).
Messages postés
18
Date d'inscription
dimanche 19 octobre 2014
Statut
Membre
Dernière intervention
24 octobre 2014

excuse moi si j'ai du mal je débute en vb et Jaime bien comprendre ce que je fait mais dé fois c'est plus dur pour moi désolé.
Merci
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Tu aimes bien comprendre ? Bravo !
Mais il me semble que ce que je t'ai dit plus haut ne nécessite pas vraiment un effort exceptionnel de compréhension.
Je ne vois par ailleurs pas comment je pourrais le dire plus simplement.
Bonne chance.
Messages postés
7418
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
15 juin 2021
124
Bonjour,

Il faut jouer avec les dates pour la 1ère question:

Public Class Form1
    ' http://plasserre.developpez.com/cours/vb-net/?page=langage-vb8#LV-AB-4
    Dim DateD As DateTime 'date jour
    Dim DateS As String ' Declare les  variables.
    Dim today As System.DateTime
    Dim duration As System.TimeSpan
    Dim answer As System.DateTime
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
       today = System.DateTime.Now
        duration = New System.TimeSpan(101, 0, 0, 0)
        answer = today.Add(duration)
        DateS = CStr(answer)  'Saisir une date : on récupère une string
        DateD = CDate(DateS)                'Conversion de la string en DateTime
        Label1.Text = CStr(DateDiff(DateInterval.Day, Now, DateD)) 'différence en jours
       ProgressBar1.Value = CInt(Label1.Text)
    End Sub
End Class


Je t'ai mis le site de références des Dates

Pour la 2ème question regarde ceci:

http://codes-sources.commentcamarche.net/source/51785-memoriser-valeur

Comme te l'a dit UCFOUTU que je salue: Fichier ou My.Settings qui est préférable. Le programme que je t'ai indiqué se sert des 2 cas de figure
Messages postés
7418
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
15 juin 2021
124
Tu peux aussi t'inspirer de ceci pour ton compte à rebours:

http://codes-sources.commentcamarche.net/source/view/100652/1340617

Le code que je t'ai donné demande a être modifié sur le nombre de jours restant. Ce programme t'y aidera.