Page 1 sur 2
variable et blockly
Publié : 03 août 2018, 08:36
par vr6man
Bonjour,
J'ai mis en place le script qui recupere les jours férié
Celui ci fonctionne bien et inscrit la valeur true ou false dans une variable jf
je veux a partir de cette valeur mettre à jour un dummy JourFerie
j'ai fait le blockly suivant
Mais cela ne fonctionne pas
j'aimerais aussi utiliser la variable jf pour l'intégrer dans des blockly existant
comment faire ?
merci
Re: variable et blockly
Publié : 03 août 2018, 09:59
par vil1driver
Salut
Quelle utilité de passer par une variable intermédiaire ?
Mets à jour le dummy directement
Re: variable et blockly
Publié : 03 août 2018, 16:45
par vr6man
je me sert de la variable pour d'autres scripts
Comment je fais
Re: variable et blockly
Publié : 03 août 2018, 17:02
par vil1driver
Et bien dans ce cas, a la suite de la ligne de maj de la variable, ajoute en une pour maj le dummy
Re: variable et blockly
Publié : 03 août 2018, 17:06
par vr6man
ok mais je suis nul en lua tu fais comment
voila le script que j'ai récupéré
Code : Tout sélectionner
commandArray = {}
-- Retourne le jour de Pâques au format epoch
-- annee : année (Integer) dont on désire connaître le jour de Pâques (ex : 2014)
-- La fonction n'effectue le calcul que si l'année a changée depuis son dernier appel
GetJourPaquesAnnee=0 -- Variable globale (année du dernier calcul) pour ne pas recalculer le jour de Pâques à chaque appel
GetJourPaquesEpochPaque=0 -- Variable globale (jour de Pâques au format epoch) pour ne pas recalculer le jour de Pâques à chaque appel
time = os.date("*t")
if((time.min == 5) and (time.hour == 0)) then
function GetJourPaques(annee)
if(GetJourPaquesAnnee~=annee or GetJourPaquesEpochPaque==0) then
local a=math.floor(annee/100) -- donne 20 pour 2015
local b=math.fmod(annee,100) -- donne 15 pour 2015
local c=math.floor((3*(a+25))/4) -- donne 33 pour 20
local d=math.fmod((3*(a+25)),4) -- donne 3 pour 20
local e=math.floor((8*(a+11))/25)
local f=math.fmod((5*a+b),19)
local g=math.fmod((19*f+c-e),30)
local h=math.floor((f+11*g)/319)
local j=math.floor((60*(5-d)+b)/4)
local k=math.fmod((60*(5-d)+b),4)
local m=math.fmod((2*j-k-g+h),7)
local n=math.floor((g-h+m+114)/31)
local p=math.fmod((g-h+m+114),31)
local jour=p+1
local mois=n
GetJourPaquesAnnee=annee
GetJourPaquesEpochPaque=os.time{year=annee,month=mois,day=jour,hour=12,min=0}
end
return GetJourPaquesEpochPaque
end
-- Retourne true si le jour courant est un jour férié
-- Le calcul des jours férié n'est fait qu'un fois par an (ou si la Vera reboot)
JourFerieAnnee=0 -- Variable globale (année du dernier calcul) pour ne pas recalculer le tableau à chaque appel
JourFerieTab = {} -- Variable globale (tableau des jours fériés) pour ne pas recalculer le tableau à chaque appel
function JourFerie()
local today=os.date("%m-%d")
local annee=tonumber(os.date("%Y"))
if(annee~=JourFerieAnnee) then
JourFerieAnnee=annee
-- Dates fixes
JourFerieTab["01-01"] = true -- 1er janvier
JourFerieTab["05-01"] = true -- Fête du travail
JourFerieTab["05-08"] = true -- Victoire des alliés
JourFerieTab["07-14"] = true -- Fête nationale
JourFerieTab["08-15"] = true -- Assomption
JourFerieTab["11-01"] = true -- Toussaint
JourFerieTab["11-11"] = true -- Armistice
JourFerieTab["12-25"] = true -- Noël
-- Dates variables
local epochPaques=GetJourPaques(annee)
JourFerieTab[os.date("%m-%d",epochPaques)] = true -- Pâques
JourFerieTab[os.date("%m-%d",epochPaques+24*60*60)] = true -- Lundi de Pâques = Pâques + 1 jour
JourFerieTab[os.date("%m-%d",epochPaques+24*60*60*39)] = true -- Ascension = Pâques + 39 jours
JourFerieTab[os.date("%m-%d",epochPaques+24*60*60*49)] = true -- Pentecôte = Ascension + 49 jours
end
return JourFerieTab[today] -- (nldr : Both nil and false make a condition false)
end
-- print(JourFerie())
-- jf=(JourFerie())
-- print (jf)
if JourFerie() == true
then
commandArray['Variable:jf'] = 'true'
else
commandArray['Variable:jf'] = 'false'
end
end
return commandArray
Re: variable et blockly
Publié : 03 août 2018, 20:07
par vil1driver
Tu sais repérer où est mis à jour la variable ?
Ajoute ceci à la suite
Ou 'Off' selon le cas
Et pense à aller voir le wiki qui explique tout cela
Ps:bien sûr le dummy JourFerie doit exister
Re: variable et blockly
Publié : 03 août 2018, 20:40
par vr6man
le dummy existe
par contre je positonne ou cette commande
je suppose qu'il faut mettre aussi un off quand le jour est pas férié
je met ou tout cela ?
Re: variable et blockly
Publié : 03 août 2018, 21:16
par vil1driver
Indice
Code : Tout sélectionner
if JourFerie() == true
then
commandArray['Variable:jf'] = 'true'
else
commandArray['Variable:jf'] = 'false'
end
Re: variable et blockly
Publié : 03 août 2018, 21:18
par vr6man
j'ai mis ca
if JourFerie() == true
then
commandArray['Variable:jf'] = 'true'
commandArray['JourFerie'] = 'On'
else
commandArray['Variable:jf'] = 'false'
commandArray['JourFerie'] = 'Off'
end
end
return commandArray
Re: variable et blockly
Publié : 04 août 2018, 11:24
par vil1driver