<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
    <settings program="actiona" version="3.9.3" scriptVersion="1.1.0" os="Windows"/>
    <actions>
        <action name="ActionConsole" version="1.0.0"/>
        <action name="ActionStop" version="1.0.0"/>
        <action name="ActionNoop" version="1.0.0"/>
        <action name="ActionPause" version="1.0.0"/>
        <action name="ActionCode" version="1.0.0"/>
        <action name="ActionMessageBox" version="1.0.0"/>
    </actions>
    <parameters/>
    <resources/>
    <script pauseBefore="0" pauseAfter="0">
        <action name="ActionCode" comment="saisie de  hh : mm">
            <exception id="2" action="1" line=""/>
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <parameter name="code">
                <subParameter name="value" code="1">
var a = new QDialog();
var A = new QFormLayout();
a.setLayout(A);

var titre = new QLabel (&quot; Choisir heure et minute de lancement du script&quot;);
titre.minimumWidth = 300;
titre.maximumWidth = 300;

var heure = new QLineEdit();
heure.minimumWidth = 20;
heure.maximumWidth = 20;

var minute = new QLineEdit();
minute.minimumWidth = 20;
minute.maximumWidth = 20;

var valider = new QPushButton(&quot;Valider&quot;);
valider.minimumWidth = 50;
valider.maximumWidth = 50;


valider.clicked.connect(function() {
       hh =  heure.text; 
       hh=parseInt(hh);
       mm= minute.text;
       mm=parseInt(mm);
       
      
      switch (true)
       {
           case typeof hh != 'number' :
              Console.print(&quot;l'heure est un nombre&quot;)  ;          
              heure.setFocus() ; 
              break;

           case hh&gt;= 24 : 
             Console.print(&quot;l'heure doit être inférieure à  24&quot;)  ;          
              heure.setFocus() ; 
              break;

         case typeof mm != 'number' :
              Console.print(&quot;la minute est un nombre&quot;)  ;          
              minute.setFocus() ; 
              break;
     
       case mm&gt;=60 : 
             Console.print(&quot;minute inférieure à 60&quot;) ;      
              minute.setFocus() ; 
        break;
       default :

//==========
// on vient de saisir hh et mm

// on connaissant le time courant on saura si 
// c'est aujourd hui ou demain que le script doit etre effectivement lancé
// Et on calcule aussi le temps de pause

// en sortie variables quand et   temps_attente
//==========
var date_courante = new Date(); 
var date_courante_hour = date_courante.getHours();
var date_courante_minute =date_courante.getMinutes(); 
var date_courante_second = date_courante.getSeconds(); 

delta = hh * 3600 + mm * 60  - date_courante_hour * 3600 - date_courante_minute * 60 - date_courante_second

if (delta &gt;=0 ) {
quand = &quot;aujourdhui&quot;;
temps_attente= delta
}
else
{
quand = &quot;demain&quot;;
temps_attente = 24*3600 + delta
}
Console.print(temps_attente)
a.close()
//==========
      }
});


A.addRow(titre);
A.addRow(&quot;Heure &quot;, heure);
A.addRow(&quot;Minute &quot;, minute);
A.addRow(valider);
a.exec();</subParameter>
            </parameter>
        </action>
        <action name="ActionMessageBox" comment="Validation Date et heure de lancement du script">
            <exception id="2" action="1" line=""/>
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <parameter name="ifYes">
                <subParameter name="line" code="0"></subParameter>
                <subParameter name="action" code="0">do_nothing</subParameter>
            </parameter>
            <parameter name="customIcon">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="type">
                <subParameter name="value" code="0">yesno</subParameter>
            </parameter>
            <parameter name="title">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="message">
                <subParameter name="value" code="0">Le script va etre lancé $quand à $hh h : $mm</subParameter>
            </parameter>
            <parameter name="windowIcon">
                <subParameter name="value" code="0"></subParameter>
            </parameter>
            <parameter name="icon">
                <subParameter name="value" code="0">question</subParameter>
            </parameter>
            <parameter name="ifNo">
                <subParameter name="line" code="0">on_arrete</subParameter>
                <subParameter name="action" code="0">goto</subParameter>
            </parameter>
            <parameter name="textMode">
                <subParameter name="value" code="0">automatic</subParameter>
            </parameter>
        </action>
        <action name="ActionPause" comment="pause calculee">
            <exception id="2" action="1" line=""/>
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <parameter name="unit">
                <subParameter name="value" code="0">seconds</subParameter>
            </parameter>
            <parameter name="duration">
                <subParameter name="value" code="1">temps_attente</subParameter>
            </parameter>
        </action>
        <action name="ActionConsole" comment="suite du script apres pause">
            <exception id="2" action="1" line=""/>
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
            <parameter name="text">
                <subParameter name="value" code="0">apres la pause</subParameter>
            </parameter>
            <parameter name="output">
                <subParameter name="value" code="0">warning</subParameter>
            </parameter>
        </action>
        <action name="ActionNoop" color="#ffff00">
            <exception id="2" action="1" line=""/>
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
        </action>
        <action name="ActionStop" label="on_arrete" comment="on arrive ici quand hh:mm n est pas validé">
            <exception id="2" action="1" line=""/>
            <exception id="0" action="0" line=""/>
            <exception id="1" action="0" line=""/>
        </action>
    </script>
</scriptfile>
