Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

COUNTDOWN - COMPTE-À-REBOURS


Information sur la source

Catégorie :Date & Heure Source .NET ( DotNet ) Classé sous : date, compteàrebours, timer, countdwon Niveau : Débutant Date de création : 26/06/2007 Date de mise à jour : 27/02/2009 16:44:41 Vu / téléchargé: 12 314 / 466

Note :
Aucune note

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Voila, en fait je cherchais un petit compte à rebours tout simple pour calculer le temps restant avant l'achat d'une nouvelle voiture. N'ayant pas trouvé, j'ai développé ce dont j'avais besoin : un c-à-r simple.

Je l'ai customisé un peu au niveau du graphisme mais il reste de nombreuses améliorations possibles. Encore une fois, mon but n'est pas de faire une appli aux fonctions exhaustives.

Merci à celui (il se reconnaîtra) qui a posté la source sur la gestion des forms ovales...
 

Source

  • Imports System.Drawing
  • Imports System.Drawing.Drawing2D
  • Imports System.Collections
  • Imports System.ComponentModel
  • '
  • Public Partial Class MainForm
  • Public Sub New()
  • ' The Me.InitializeComponent call is required for Windows Forms designer support.
  • Me.InitializeComponent()
  • '
  • End Sub
  • Dim I As Integer 'Inactive
  • Dim DepartX As Short 'Used to move form
  • Dim DepartY As Short 'Used to move form
  • Dim H As Integer 'Hours
  • Dim M As Integer 'Minutes
  • Dim S As Integer 'Seconds
  • Dim T As String 'Time
  • Dim MyError As String 'Error
  • 'Dim Resultat As Integer 'Value for countdown
  • Private Sub Form1Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  • Label1.Text = System.DateTime.Now.ToLongTimeString
  • End Sub
  • Private Sub Button1Click(ByVal sender As Object, ByVal e As EventArgs)
  • H = textBox1.Text
  • M = textBox2.Text
  • S = textBox3.Text
  • If H = 0 And M = 0 And S = 1 Then System.Windows.Forms.MessageBox.Show( "Seconds must be greater than 1 !" ) : Timer2.Stop
  • Timer2.Enabled = True
  • Timer2.Start
  • Me.Button1.Enabled = "False"
  • Me.Button2.Enabled = "True"
  • Me.Button2.Text = "stop"
  • End Sub
  • Private Sub Button2Click(ByVal sender As Object, ByVal e As EventArgs)
  • Me.Button1.Enabled = "True"
  • Me.Button2.Enabled = "False"
  • Timer2.Stop
  • Label2.Text = "00:00:00"
  • End Sub
  • Private Sub Button3Click(ByVal sender As Object, ByVal e As EventArgs)
  • Me.Close
  • End Sub
  • Sub Timer1Tick(ByVal sender As Object, ByVal e As EventArgs)
  • 'This timer is permanently active as it shows the system time
  • Label1.Text = System.DateTime.Now.ToLongTimeString
  • End Sub
  • Sub Timer2Tick(ByVal sender As Object, ByVal e As EventArgs)
  • 'Count down
  • S = S - 1
  • If S = 0 Then S = 60 : M = M - 1
  • If M = 0 Then M = 60 : H = H - 1
  • If H = 0 Then H = 24
  • 'Small errors management
  • If S > 60 OR M > 60 OR H > 24 Then System.Windows.Forms.MessageBox.Show( "Value does not exist !" )
  • T = TimeSerial(H, M, S)
  • Label2.Text = T
  • 'Plays a sound when countdown reaches 00:00:00
  • Dim Snd As New System.Media.SoundPlayer("C:\Windows\Media\tada.wav")
  • If T = "00:00:00" Then Timer2.Stop : System.Windows.Forms.MessageBox.Show( "Countdown reached !" ) : Me.Button2.Text = "reset" : Label2.Text = T : Snd.Play()
  • End Sub
  • End Class
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Collections
Imports System.ComponentModel
'
Public Partial Class MainForm
	Public Sub New()
		' The Me.InitializeComponent call is required for Windows Forms designer support.
		Me.InitializeComponent()
		'
	End Sub
	
    Dim I As Integer 'Inactive 
    Dim DepartX As Short 'Used to move form
    Dim DepartY As Short 'Used to move form
    Dim H As Integer 'Hours
    Dim M As Integer 'Minutes
    Dim S As Integer 'Seconds
    Dim T As String  'Time
    Dim MyError As String 'Error
    'Dim Resultat As Integer 'Value for countdown

    Private Sub Form1Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Label1.Text = System.DateTime.Now.ToLongTimeString
    End Sub

	Private Sub Button1Click(ByVal sender As Object, ByVal e As EventArgs)
		H = textBox1.Text
        M = textBox2.Text
        S = textBox3.Text
    If H = 0 And M = 0 And S = 1 Then System.Windows.Forms.MessageBox.Show( "Seconds must be greater than 1 !" ) : Timer2.Stop
        Timer2.Enabled = True
        Timer2.Start
        Me.Button1.Enabled = "False"
        Me.Button2.Enabled = "True"
        Me.Button2.Text = "stop"
	End Sub
		
	Private Sub Button2Click(ByVal sender As Object, ByVal e As EventArgs)
		Me.Button1.Enabled = "True"
		Me.Button2.Enabled = "False"
		Timer2.Stop
		Label2.Text = "00:00:00"
	End Sub
	
	Private	Sub Button3Click(ByVal sender As Object, ByVal e As EventArgs)
		Me.Close
	End Sub
	
	Sub Timer1Tick(ByVal sender As Object, ByVal e As EventArgs)
		'This timer is permanently active as it shows the system time
        Label1.Text = System.DateTime.Now.ToLongTimeString
	End Sub
	
	Sub Timer2Tick(ByVal sender As Object, ByVal e As EventArgs)
		'Count down
        S = S - 1
        If S = 0 Then S = 60 : M = M - 1
        If M = 0 Then M = 60 : H = H - 1
        If H = 0 Then H = 24
        
        'Small errors management
        If S > 60 OR M > 60 OR H > 24 Then System.Windows.Forms.MessageBox.Show( "Value does not exist !" )

        T = TimeSerial(H, M, S)
        Label2.Text = T

		'Plays a sound when countdown reaches 00:00:00
		Dim Snd As New System.Media.SoundPlayer("C:\Windows\Media\tada.wav")
				
        If T = "00:00:00" Then Timer2.Stop : System.Windows.Forms.MessageBox.Show( "Countdown reached !" ) : Me.Button2.Text = "reset" : Label2.Text = T : Snd.Play()
	End Sub
	
End Class

Conclusion

Quelques bugs à corriger :

Erreur due à la gestion du déplacement de la form (lors de la compilation uniquement, pas d'influence sur le fonctionnement)
- Access of shared member, constant member, enum member or nested type through an instance; qualifying expression will not be evaluated. (BC42025)

--> je ne m'en suis pas occupé :/

Le son
- il faudrait plutôt mettre l'emplacement sous forme AppPathName ou un truc du genre au lieu de C:\Windows\Media...
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

26 juin 2007 11:30:52 :
petite correction mineure du zip et ajout d'une capture d'écran...
27 février 2009 16:39:50 :
Correction des bugs listés ci-dessus et correction d'avertissements de trans-typage (j'ai fait quelques progrès depuis la dernière fois) ;) La source est maintenant compatible avec Visual Studio 2008.
27 février 2009 16:44:41 :
Le code est désormais développé sous VS2008 car c'est la version dont je dispose au boulot... :D Les principaux bugs sont corrigés et les alertes de transtypage également.

Commentaires et avis

signaler à un administrateur
Commentaire de neo2k2 le 26/06/2007 11:24:17

Je précise que le bug concernant le déplacement de la form n'apparaît qu'au moment de la compilation mais que le programme fonctionne parfaitement, je pense que cela est dû au fait que je sois sous SharpDevelopp...

signaler à un administrateur
Commentaire de TeBeCo le 27/06/2007 13:07:13

l'erreur est pas du a ScharpDevelopp mais a ton code apparement tu tentes d'utiliser un membre static depuis uen instance de classe alors que pour utiliser un membre static il faut specifier le nom de la classe :

dim toto as tata
toto.nonstatic()
tata.static()

alors que toi tu fait :
toto.static

signaler à un administrateur
Commentaire de neo2k2 le 27/02/2009 16:46:10

Je n'ai plus eu le problème depuis que je suis passé à VS2008...

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Timer sur 1 jour [ par danounouche ] Bonjour je suis en train de developper une application qui a date prevue doit envoyer un email.Je cherche comment je pourrai faire cela en sachant que INSERT INTO avec un champ date [ par FloFlo78 ] bonjour,voilà mon problème, j'ai une requête INSERT à faire dans une base access 2000 et impossible de trouver la bonne formule pour y insérer une dat Problème d'heure (encore et toujours)!!!! [ par keel ] J'ai déposé la semaine dernière sur le forum une question à propos de l'affichage de l'heure de façon dynamique; Et j'ai eu comme réponse :Private Sub Pb de date dans req. SQL [ par CocoMsa ] Bonjour à tous,Je viens de démarrer un projet VB6 qui lit une BD Access 2000.J'ai dans une table un champ DateDeFin (format date) ; ce champ n'est pas Date en toutes lettres [ par buzuck ] Je souhaite insérer la date et l'heure en toutes lettres, sans aucun chiffre, mais je ne sais pas s'il existe un code ou s'il faut créer quelquechose Timer [ par MaCFerson ] Bonjour voila j'ai un ptit souci je débute en VB et j'ai besoin d'un chtit coup de pouce,je fais un programme proche de UOloop (les fans de Ultima Onl probleme sur le format de date [ par beckham0187 ] jme connect a un base de donnee pick qui a une un format de date interne .Mon format de date vb est "dd/mm/yy", pour lire et ecrire dans la base ,pas décodage date en français [ par sehn ] Pour commencer bonne année a toutes et a tousVoila mon problème qui en faite n'en est pas un (je veux juste eviter de faire quelquechose que quelqun a dactylo et timer [ par Florynth ] Bonjour, je veux faire un effet de dactylo dans un textbox mais malheureusement je vois pas de fonction append alors je réécris tout le texte + 1 car Compte a rebours avec des dates [ par STEN83 ] Meerci de m'aider je cherche à faire un compte a rebours avec deux date.Ex: en partant d'aujourdh'ui jusque mars 2004 il faut que le format de date so


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.