Problème de double if
Forums › ProRealTime forum Français › Support ProBuilder › Problème de double if
- This topic has 5 replies, 2 voices, and was last updated 3 years ago by
imencity.
-
-
01/21/2022 at 10:23 AM #186142
Bonjour,
J’ai un problème de double if je ne comprends pas pourquoi
12345678910111213141516171819202122232425262728start = 080000end = 235900once okay1 = 0once okay2 = 0if OpenDayOfWeek = 1 thenokay1 = 1if time>=start and time[1]<start thenokay2 = 2// trucendifendifif OpenDayOfWeek = 2 thenif time>=start and time[1]<start then// trucendifif time>=end and time[1]<end then// trucendifendifif OpenDayOfWeek = 5 thenokay1 = 0okay2 = 0endifreturn okay1, okay2normalement le lundi je devrais avoir okay1 à 1 à partir de minuit et okay2 à 2 à partir de 08h mais okay2 est toujours à 0…
Savez-vous ce qui cloche ? Merci.01/21/2022 at 10:39 AM #186144Ton code fonctionne chez moi, problème non reproductible à partir des données fournies.
Deux hypothèses au cas où:
1) Partout où il y a “truc” cela remplace du code qui aurait éventuellement influencé la valeur de okay2 directement ou indirectement
2) Le problème est sur une UT suffisamment petite, avec un choix d’historique suffisamment court (nombre d’unités), pour qu’aucun point à lundi 8h n’en fasse partie entre le début de l’historique et ce vendredi (exemple 1 minute et seulement 1000unités ne remonte qu’à jeudi matin) et donc jamais okay2 n’a eu l’opportunité de passer à 2, ce qui ne remettrait pas en cause le code mais le choix utilisateur d’UT et/ou d’historique
01/21/2022 at 11:00 AM #186146Merci de ta réponse,
tu as okay2 = 2 ???
J’ai oublié de dire que je suis en 100 ticks.
De mon côté okay1 passe bien à 1 jusqu’au jeudi soir, puis à 0. Et il repasse à 1 le lundi à minuit.
Mais okay2 reste inexorablement à 0 tous le temps…côté historique je suis passé à 15k unités au cas où.
Et le “if time>=start and time[1]<start then” fonctionne bien dans ce cadre-là:
https://www.prorealcode.com/topic/drawrectangle-avec-fin-24h-plus-tard-en-100-ticks/#post-183433Dès que c’est inclus dans OpenDayOfWeek ça marche pas chez moi.
tu me confirmes que tu as okay à 2 après 08h ?
01/21/2022 at 11:20 AM #186148J’ai oublié de dire que je suis en 100 ticks
si c’est du 100 ticks cela change tout en effet, le double if n’est pas en cause, en (x) ticks mieux vaut travailler avec un horaire d’ouverture de bougie plutôt que de fermeture, donc “opentime” plutôt que “time”, tu peux remplacer la ligne 8 par:
1if opentime>=start and opentime[1]<start then01/21/2022 at 11:45 AM #18615201/22/2022 at 10:31 AM #186259 -
AuthorPosts