Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
794 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème Shutdown time

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème Shutdown time

n°1910914
hitman94
Posté le 01-08-2009 à 16:06:06  profilanswer
 

Edit: problème en fin de page  

Bonjour,
Pouriez vous m'expliquer pourquoi sous Visual Basic 2008
 
Par exemple sur ce boutton :
 
Private Sub Button20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button20.Click
        If btrestart.Checked = True Then Shell("shutdown -r" )
        If btstop.Checked = True Then Shell("Shutdown -s -t 28800" )
        If btsess.Checked = True Then Shell("shutdown -l" )
        If btstop.Checked = False And btstop.Checked = False And btsess.Checked = False Then
            MsgBox("Veuillez cocher l'une des 3 commandes suivantes:" & vbCr & "Eteindre" & vbCr & "Redémarrer" & vbCr & "Fermer La Session" & vbInformation & "Choisissez une commande" )
        End If
 
        If btstop.Checked Then confirm1 = MsgBox("Etes vous sure de programmer l'Arret du PC ?", vbYesNo, "Confirmation" )
        Select Case confirm1
            Case vbYes
                btstop.Enabled = True
            Case vbNo
                Shell("shutdown -a" )
        End Select
 
        If btrestart.Checked Then confirm2 = MsgBox("Etes vous sure de programmer le Redémarrage ?", vbYesNo, "Confirmation" )
        Select Case confirm2
            Case vbYes
                btrestart.Enabled = True
            Case vbNo
                Shell("shutdown -a" )
        End Select
 
        If btsess.Checked Then confirm3 = MsgBox("Etes vous sure de programmer La fermeture de Session", vbYesNo, "Confirmation" )
        Select Case confirm3
            Case vbYes
                btsess.Enabled = True
            Case vbNo
Shell("shutdown -a" )
        End Select
    End Sub
 
Normalement lorsque je coche Soit eteindre soit redémarrer soit fermer la session et que je clique sur le boutton 21 il doit me demander dans une fenetre si je suis sure de ma commande.
Et alors la si je clique sur oui, il execute la commande d'activer le boutton stop
If btstop.Checked = True Then Shell("Shutdown -s -t 28800" )
 
et si je clique sur non il execute la commande  
Shell("shutdown -a" )
 
Les deux commandes sont bien effectué sauf que cela s'execute avant que je clique sur oui pour confirmer.
Comment réparer cela svp ?


Message édité par hitman94 le 03-08-2009 à 03:10:50
mood
Publicité
Posté le 01-08-2009 à 16:06:06  profilanswer
 

n°1910943
seniorpapo​u
Posté le 01-08-2009 à 21:05:59  profilanswer
 

Bonsoir,
 
If btstop.Checked Then
 confirm1 = MsgBox("Etes vous sure de programmer l'Arret du PC ?", vbYesNo, "Confirmation" )  
        Select Case confirm1  
            Case vbYes  
                btstop.Enabled = True  
            Case vbNo  
                Shell("shutdown -a" )  
        End Select  
end if
 
Cordialement

n°1910944
hitman94
Posté le 01-08-2009 à 21:14:17  profilanswer
 

Bonsoir seniorpapou
Merci de ta réponse ;)
Mais ce n'es pas exactement la même commande que mois mis apart que j'ai fait mon if en une seule ligne ?

n°1910945
hitman94
Posté le 01-08-2009 à 21:24:55  profilanswer
 

Sa ne marche toujours pas :s
Il n'attend pas que je lui confirme oui :/

n°1910960
seniorpapo​u
Posté le 02-08-2009 à 07:04:01  profilanswer
 

Bonjour,
fais un copier coller de ta séquence.
 
Ton if en une seule ligne ne fonctionne pas du tout comme le If  que je t'ai indiqué:  
 
En "une seule ligne", dans le cas où btstop.Checked  est vrai, seule la partie confirm1 = MsgBox("Etes vous sure de programmer l'Arret du PC ?", vbYesNo, "Confirmation" )  avec enchainement sur select case
est exécutée. Et, lorsque btstop.Checked  est faux : on enchaine sur "select case" , ce que tu ne souhaites pas.
 
Dans le modèle que je t'ai donné, l'ensemble de la séquence :
 
confirm1 = MsgBox("Etes vous sure de programmer l'Arret du PC ?", vbYesNo, "Confirmation" )  
        Select Case confirm1  
            Case vbYes  
                btstop.Enabled = True  
            Case vbNo  
                Shell("shutdown -a" )  
        End Select  
 
Est exécutée dans le cas où btstop.Checked  est vrai et l'ensemble de la séquence est sautée  dans le cas où btstop.Checked  est faux.
 
Bien entendu il te faut appliquer ce modèle sur tes trois "If"
Cordialement
 
S'il enchaine systématiquement c'est parce que  btstop.Checked  et les autres sont tous à "false"


Message édité par seniorpapou le 02-08-2009 à 07:06:22
n°1910977
hitman94
Posté le 02-08-2009 à 12:51:28  profilanswer
 

Bonsoir oui je m'en suis rendu compte après (logique)
Mais sa ne marche toujours pas c'est bizarre
 
 
 
 If btstop.Checked = False And btrestart.Checked = False And btsess.Checked = False Then
            MsgBox("Veuillez cocher l'une des 3 commandes suivantes:" & vbCr & "Eteindre" & vbCr & "Redémarrer" & vbCr & "Fermer La Session" & vbInformation & "Choisissez une commande" )
        End If
 
        If btstop.Checked Then
            confirm1 = MsgBox("Etes vous sure de programmer l'Arret du PC ?", vbYesNo, "Confirmation" )
            Select Case confirm1
                Case vbYes
                    btstop.Enabled = True
                Case vbNo
                    Shell("shutdown -a" )
            End Select
        End If
 
        If btrestart.Checked Then
 
 
            confirm2 = MsgBox("Etes vous sure de programmer le Redémarrage ?", vbYesNo, "Confirmation" )
            Select Case confirm2
                Case vbYes
                    btrestart.Enabled = True
                Case vbNo
                    Shell("shutdown -a" )
            End Select
        End If
 
 
        If btsess.Checked Then
            confirm3 = MsgBox("Etes vous sure de programmer La fermeture de Session", vbYesNo, "Confirmation" )
            Select Case confirm3
                Case vbYes
                    btsess.Enabled = True
                Case vbNo
                    Shell("shutdown -a" )
            End Select
        End If
        If btrestart.Checked = True Then Shell("shutdown -s -t 300" )
        If btstop.Checked = True Then Shell("shutdown r" )
        If btsess.Checked = True Then Shell("shutdown -l" )
    End Sub

n°1910986
hitman94
Posté le 02-08-2009 à 15:02:00  profilanswer
 

Ah si c'est bon sa marche
A la place de shutdown -a j'ai mi exit sub :)
Merci de ton aide pour le IF tu m'a bien aider
 
J'ai juste un petit probleme dans le corp d'une msgbox
 
  MsgBox("Veuillez cocher l'une des 3 commandes suivantes:" & vbCr & "- Eteindre" & vbCr & "- Redémarrer" & vbCr & "- Fermer La Session" & vbInformation & "Choisissez une commande" )
 
Cela me fait une erreur avec le titre et il m'affiche 64 :
http://img34.imageshack.us/img34/1373/msgbox.gif

n°1910987
hitman94
Posté le 02-08-2009 à 15:03:42  profilanswer
 

Résolu :
 
   MsgBox("Veuillez cocher l'une des 3 commandes suivantes:" & vbCr & "- Eteindre" & vbCr & "- Redémarrer" & vbCr & "- Fermer La Session", vbInformation, "Choisissez une commande" )
 
Encore un petit probleme ^^
Par défault le premier bouton est bleui, ce qui fait que si j'appui sur entré sur le clavier sa l'activre.
Comment désactiver cela ?

n°1910993
seniorpapo​u
Posté le 02-08-2009 à 16:24:11  profilanswer
 

Bonsoir,
il faut faire un "setfocus" sur autre chose à l'ouverture du formulaire
 
plus simplement: ne pas faire "entrée" si tu n'en a pas besoin
 
ou encore sur ton formulaire en mode création: clic droite sur le carré noir en haut à gauche et sélectionne ordre de tabulation, tu peux alors mettre en tête l'objet où tu veux voir le focus se mettre à l'ouverture


Message édité par seniorpapou le 02-08-2009 à 16:37:16
n°1910999
hitman94
Posté le 02-08-2009 à 16:47:50  profilanswer
 

Merci à toi
 
plus simplement: ne pas faire "entrée" si tu n'en a pas besoin  
Lol oui ^^ C'est juste histoire de savoir comment faire
 
il faut faire un "setfocus" sur autre chose à l'ouverture du formulaire  
Comment on fait exactement ?
 
clic droite sur le carré noir en haut à gauche et sélectionne ordre de tabulation,
 
J'ai pas sa

mood
Publicité
Posté le 02-08-2009 à 16:47:50  profilanswer
 

n°1911006
kiki29
Posté le 02-08-2009 à 17:42:03  profilanswer
 

Salut ,effectivement jouer sur TabIndex ou voir aide en ligne sur Button.IsDefault

n°1911009
hitman94
Posté le 02-08-2009 à 17:44:59  profilanswer
 

Merci beaucoup a tous
 
Et encore un probleme sans vouloir faire mon relou ^^
 
Code :
 
If btrestart.Checked = True Then Shell("shutdown -s -t 600" )
        If btstop.Checked = True Then Shell("shutdown -r -t 600" )
        If btsess.Checked = True Then Shell("shutdown -l -t 600" )
 
En effet ici si je clique sur ce boutton donc et que btsess est coché, le pc devrait fermer la session dans 600 secondes après ma confirmation OUI.
Sauf que quand je confirme, il ferme la session de suite.
 
Si tu connais un peu cette commande pourrait tu m'éclairer.
merci  

n°1911033
seniorpapo​u
Posté le 02-08-2009 à 21:22:47  profilanswer
 

Bonsoir,
connais pas, mais essaye  -t600 au lieu -t 600

n°1911047
hitman94
Posté le 02-08-2009 à 22:48:52  profilanswer
 

Merci mais malheureusement non :s

n°1911067
seniorpapo​u
Posté le 03-08-2009 à 06:36:45  profilanswer
 

bonjour,
le -t n'est pris en compte que pour les mises hors tension , le -l étant une fermeture de session et non une mise hors tension , le -t n'est pas pris en compte.
il est bon pour -s et -r
J'ai testé sous cmd
Cordialement


Message édité par seniorpapou le 03-08-2009 à 07:35:08
n°1911217
hitman94
Posté le 03-08-2009 à 13:16:32  profilanswer
 

donc on ne peut retarder un redémarrage et une fermeture de session ?

n°1911326
hitman94
Posté le 03-08-2009 à 15:38:44  profilanswer
 

Sa y est effectivement sa ne marche que pour restart et eteindre
 
J'ai fini mon petit programme de débutant
Pourriez vous me dire comment je pourrais améliorer le code ?
Notamment au niveau des boutons ?
 
Voila j'ai tout uploader ici:
http://www.megaupload.com/?d=J1ZE19SM
 
Merci ^^

n°1911343
seniorpapo​u
Posté le 03-08-2009 à 16:10:46  profilanswer
 

Bonsoir,
difficile de critiquer ton projet. J'ai réussi à lancer ton exécutable, c'est du VB? je ne pratique pas. Toutefois, je me demande pourquoi tu n'as pas utilisé des zones de liste, une pour les heures, l'autre pour les minutes. Mais c'est une question de choix

n°1911352
hitman94
Posté le 03-08-2009 à 16:24:15  profilanswer
 

Bonsoir ou c'est mon deuxieme logiciel avec visual basic 2008
Car je ne savais pas encore faire avec le timer pour faire sa mais sa sera le prochain ^^

n°1911354
seniorpapo​u
Posté le 03-08-2009 à 16:25:37  profilanswer
 

Re,
waoohhh, je viens de lire ton code dans le form. Si tu tiens à conserver les boutons, je crois que tu dois pouvoir simplifier en appelant depuis chaque bouton_clic  un SUB... avec des paramètres d'appel : le temps et le choix de shutdown.
Ainsi les séquences que tu répètes dans chaque bouton_clic, se réduisent à une seule.

n°1911357
hitman94
Posté le 03-08-2009 à 16:39:45  profilanswer
 

Euh oui ok mdr ^^
je debute n'oubli pa :)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème Shutdown time

 

Sujets relatifs
Problème de texte décalé verticalement dans la <div> de droiteProblème de redirect avec un header
Problème présentation graphique d'une JappletProblème lors de la reception de mail sur lotus note
Problème lien sous un swf transparent[VBA] Problème avec SeriesCollection.Values et Union(Range)
[HTML/CSS] Affichage version mobile[RESOLU] Problème de requête et mysql_num_rows
Problème de crash sur codage aléatoireProblème d'upload de photos
Plus de sujets relatifs à : Problème Shutdown time


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR