Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

[résolu]Faire défiler les secondes


Messages recommandés

Posté(e) (modifié)

En fait je pense que l'idéal serait de tout écrire en javascript, non ? Bon là va falloir que je me penche sur le problème et voir comment faire.

Parce que je n'arrive pas à lancer le fichier timer.js depuis mon ficheir vbs.

Qu'en penses-tu ?

Modifié par BJH

Posté(e)
En fait je pense que l'idéal serait de tout écrire en javascript, non ?
Le JavaScript ne peut pas assurer l'affichage de la page (du moins pas aussi simplement que coller une balise html dans une chaîne de caractères).

D'ailleurs...

 

Il me semble que tu ne nous as pas dit à quoi servirait ce script, dans quel environnement il sera utilisé et à quelle occasion il est exécute ? (ça aiderait à savoir ce qui serait "l'idéal")

Posté(e)

Bonsoir,

 

Ce script s'éxécute à l'ouverture d'une session sur un poste (xp ou 98), via le batch de connexion, qui est dans un domaine NT4.

 

Est-ce que ces infos sont suffisantes ?

Posté(e)

Ok.

 

En effet, on ne peut pas TOUT faire en JavaScript. Pour le batch de connexion tu es bien obligé d'utiliser wsh, et pour faire afficher un message dynamique, tu as a priori choisi la solution la plus simple (ouvrir IE et faire afficher du html)

Posté(e) (modifié)

Voici le script, ça bloque à la ligne en rouge, on me dit caractère incorrect et c'est une {

 

En fait j'ai placé ton code dans le fichier pour voir si ça marchait mais je ne sais pas trop où le mettre. Quand on est novice en programmation on ne comprends rien, malheureusement pour moi.

'listing 1.1 : Script HelloWorld2.vbs
'////////////////////////////////////////////////////////////////////////////
' $Workfile: HelloWorld2.vbs $ $Revision: 3 $ $Date: 12/04/98 3:19p $
' $Archive: /Scripts/HelloWorld2.vbs $
' Copyright © 1998 Tim Hill. All Rights Reserved.
'////////////////////////////////////////////////////////////////////////////

' Simple ‚chantillon WSH "Hello World!"
Option Explicit
'Wscript.Echo Wscript.ScriptName & " $Revision: 3 $"
'Wscript.Echo "Copyright © 1998 Tim Hill. All Rights Reserved."

Dim WshNetwork,objDomain

Set WshNetwork = WScript.CreateObject("WScript.Network")
'WScript.Echo "Domain = " & WshNetwork.UserDomain
'WScript.Echo "Computer Name = " & WshNetwork.ComputerName
'WScript.Echo "User Name = " & WshNetwork.UserName


'Set objDomain = GetObject("LDAP://localhost")
'WScript.Echo "ADsPath:" & objDomain.ADsPath
'WScript.Echo "Class:" & objDomain.Class
'WScript.Echo "GUID:" & objDomain.GUID
'WScript.Echo "Name:" & objDomain.Name
'WScript.Echo "Parent:" & objDomain.Parent
'WScript.Echo "Schema:" & objDomain.Schema


' Ouvre IE et affiche la page about:blank pour nous fournir un document vide
Dim oIE, oIEDoc
Set oIE = Wscript.CreateObject("InternetExplorer.Application")
oIE.Navigate "about:blank"
Set oIEDoc = oIE.Document
oIE.AddressBar = False
oIE.StatusBar = False
oIE.ToolBar = False
oIE.MenuBar = False
oIE.Visible = True
oIE.fullscreen = true

' Emet maintenant le code HTML vers IE
oIEDoc.WriteLn "<html>"
oIEDoc.WriteLn "<head>"
oIEDoc.WriteLn "<title>Echantillon de script HelloWorld2</title>"
oIEDoc.WriteLn "</head>"
oIEDoc.WriteLn "<body bgcolor=EEE8AA>"
'oIEDoc.WriteLn "<p><center>Bienvenue dans Windows Scripting Host </center></p>"
oIEDoc.Write "<p><br><center>"
If Hour(Now) < 12 Then
oIEDoc.Write "<b>Bonjour,</b>"
ElseIf Hour(Now) < 17 Then
oIEDoc.Write "<b>Bonjour,</b>"
Else
oIEDoc.Write "<b>Bonsoir,</b>"
End If
oIEDoc.WriteLn "<p><center><b>Bienvenue sur le réseau pédagogique du Lycée Edgar Faure de Morteau </b></center></p>"
oIEDoc.WriteLn "<p><center><b> Nous sommes le " & Date & " : il est " & Time & "</b></center></p>"
oIEDoc.WriteLn "<p><center> Vous êtes connecté au domaine " & WshNetwork.UserDomain &"</center></p>"
oIEDoc.WriteLn "<p><center><font size=5> Le nom de votre station est : " & WshNetwork.ComputerName &"</font></center></p>"
oIEDoc.WriteLn "<p><br><br><center><b><font color=blue><font size=6> <u>Votre nom d'utilisateur est</u> : " & WshNetwork.UserName & "</font> </b></center></p>"

oIEDoc.WriteLn "<br><br><p><center><b><font color=red><font size=5> MESSAGE IMPORTANT </font> </b></center></p>"
oIEDoc.WriteLn "<p><center><b><font color=red>Cette station est utilisée par de nombreuses personnes </font> </b></center></p>"
oIEDoc.WriteLn "<p><center><b><font color=red>Veuillez ne pas en modifier la configuration.</font></b></center></p>"
oIEDoc.WriteLn "<p><center>Merci</center></p>"
oIEDoc.WriteLn "<p><center>Attendez SVP.</center></p>"
oIEDoc.WriteLn "<p><center>La fenêtre se fermera dans 20 secondes.</center></p>"
oIEDoc.WriteLn "</body>"
oIEDoc.WriteLn "</html>"

function timer(tempsRestant)
  {											   <----- erreur
 var reste = 10;
 var elementTexte = document.getElementById("compteur");

 // Récupération du temps restant s'il n'a pas été passé en paramètre (pas sympa !)
 if (tempsRestant != null) {
   reste = tempsRestant;
 } else {
   reste = parseInt(elementTexte.firstChild.data);
 }

 // Au cas où...
 if (isNaN(reste) || reste == null)
   reste = 10;

 // On décrémente le temps restant
 reste--;

 // On affiche le temps restant
 elementTexte.firstChild.data = reste;

 // On fait ce qui correspond au temps restant
 if (reste == 0) {
   // Récupération de tout le paragraphe
   elementTexte = document.getElementById("texte");
   // Vidage du contenu du paragraphe
   while (elementTexte.firstChild != null)
	 elementTexte.removeChild(elementTexte.firstChild);
   // Re-remplissage du paragraphe avec juste un texte...
   elementTexte.appendChild(document.createTextNode("BOUM !"));
   // ... rouge, grand et gras
   elementTexte.style.color = "#FF0000";
   elementTexte.style.fontSize = "xx-large";
   elementTexte.style.fontWeight = "bold";
 } else {
   // Pas encore fini ? On programme le prochain appel
   setTimeout("timer(" + reste + ")", 1000); // C'est en millisecondes
 }
  }

' Attendre 20 secondes
Dim vStart
vStart = Now
Do While DateDiff("s", vStart, Now) < 21

Wscript.Sleep 500
Loop
Set oIEDoc = Nothing
oIE.Quit
Set oIE = Nothing
Wscript.Quit 0

Modifié par KewlCat
Posté(e)

C'est bien ce que je craignais....

Le code que j'ai donné est à ajouter dans la page que tu génères, pas dans ton script wsh !

 

oIEDoc.WriteLn "  <script type=\"text/javascript\">// <![CDATA["
oIEDoc.WriteLn "   function timer(tempsRestant) {"
oIEDoc.WriteLn "	 var reste = 10;"
oIEDoc.WriteLn "	 var elementTexte = document.getElementById('compteur');"
oIEDoc.WriteLn "	 if (tempsRestant != null) {"
oIEDoc.WriteLn "	   reste = tempsRestant;"
oIEDoc.WriteLn "	 } else {"
oIEDoc.WriteLn "	   reste = parseInt(elementTexte.firstChild.data);"
oIEDoc.WriteLn "	 }"
oIEDoc.WriteLn "	 if (isNaN(reste) || reste == null)"
oIEDoc.WriteLn "	   reste = 10;"
oIEDoc.WriteLn "	 reste--;"
oIEDoc.WriteLn "	 elementTexte.firstChild.data = reste;"
oIEDoc.WriteLn "	 if (reste == 0)"
oIEDoc.WriteLn "	   window.close();"
oIEDoc.WriteLn "	 else"
oIEDoc.WriteLn "	   setTimeout('timer(' + reste + ')', 1000);"
oIEDoc.WriteLn "   }"
oIEDoc.WriteLn "   timer();"
oIEDoc.WriteLn "  // ]]>"

Et il faut modifier la ligne

oIEDoc.WriteLn "<p><center>La fenêtre se fermera dans <span id=\"compteur\">" & A & "</span> " & N & ".</center></p>"

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...