Wat is het nut van While DayOfWeek(Now) =

Voor vragen over Playlist Automation Language.
Gesloten
jenni

Wat is het nut van While DayOfWeek(Now) =

Ongelezen bericht door jenni »

Ik probeer een PAL eigen te maken maar krijg een punthoofd van :-(

Ik probeer het volgende voor mekaar te krijgen

Code: Selecteer alles

*******************************************************************************}
PAL.Loop:=True;
// ******************************************************************************
while (Maandag) and
	((Now >= T['06:59:50']) and (Now <= T['07:00:00'])) or
	((Now >= T['07:59:50']) and (Now <= T['08:00:00'])) or
	((Now >= T['17:59:50']) and (Now <= T['18:00:00'])) or
	((Now >= T['21:59:50']) and (Now <= T['22:00:00'])) or
	((Now >= T['22:59:50']) and (Now <= T['23:00:00'])) or
	((Now >= T['23:59:50']) and (Now <= T['23:59:59'])) Do
begin
PAL.LockExecution;
PAL.WaitForTime(T['+00:00:15']);
WriteLn('Maandag');
  dir['C:\Radio\Advertenties\Maandag'].Rescan;
     Queue.AddDir('C:\Radio\Advertenties\Party',False, ipTop);
ActivePlayer.FadeTonext;
PAL.UnLockExecution;
end;
while (Zondag) and
	((Now >= T['08:59:50']) and (Now <= T['09:00:00'])) or
	((Now >= T['09:59:50']) and (Now <= T['10:00:00'])) Do
begin
begin
PAL.LockExecution;
PAL.WaitForTime(T['+00:00:15']);
WriteLn('Zondag');
  dir['C:\Radio\Advertenties\Zondag'].Rescan;
     Queue.AddDir('C:\Radio\Advertenties\Party',False, ipTop);
ActivePlayer.FadeTonext;
PAL.UnLockExecution;
end;
Nu Komt het:
Ik zet de klok op Maandag tussen 7 en 8 en Opdracht maandag loopt
Zet ik de klok (tijd) alleen op 9:45 dus nog op Maandag dan zou je denken
dat Sam weet dat er geen opdracht is voor maandag na 10
Nee hoor Dat ding pakt gewoon Zondag 10 uur terwijl de klok dag nog op Maandag is????
Nu weet ik dat (Now) is Nu maar dat geldt toch niet in combinatie met While Maandag??

Kan iemand me dit uitleggen waarom Sam toch Zondag 10u uitvoert terwijl het maandag is??
Hoe kan ik dit oplossen?

Thanks
J
Laatst gewijzigd door Wout op 31 mar 2012, 23:04, 1 keer totaal gewijzigd.
Reden: PAL-code`s in de bbcode code geplaatst!
Gebruikersavatar
Wout
Beheerder
Berichten: 3522
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: 2019.3
Database: MariaDB
Windows: 11
Locatie: West-Brabant
Contacteer:

Re: Wat is het nut van While DayOfWeek(Now) =

Ongelezen bericht door Wout »

Het voorbeeld wat je heb gepakt/gebruikt is niet zo goed.
Daar mis ik al dingen in waardoor het nooit zal gaan werken.

Probeer klein te beginnen.

Ik kan wel een heel verhaal gaan typen waarom het niet/nooit zal gaan werken.
Alleen ben ik bang dat er maar paar mensen zijn die het snappen en de rest al afhaakt bij de 3de zin.
En daar in tegen is het allermooist als je zelf je eigen PAL heb gemaakt.

Wij zijn nooit te beroerd om je te helpen, alleen gaan we geen passende PAL voor je maken.
Iedereen kan het, als je maar doorzet. ;)
Ik probeer een PAL eigen te maken maar krijg een punthoofd van
Wij spreken al van een PAL-hoofd. :-D
Afbeelding
jenni

Re: Wat is het nut van While DayOfWeek(Now) =

Ongelezen bericht door jenni »

Hi Wout

Bedoel je dat gedeelte Boolean;?
dat had ik heb het niet bij geplakt omdat het meer om de vraag ging maar je kan gelijk hebben.
Hier het volledige stuk
Enneh ik probeer eigenhandig het op te lossen maar dat is al 2 dagen zo :-(

Code: Selecteer alles

//*******************************************************************************
PAL.Loop:=True;
////PAL.LockExecution;
// ******************************************************************************
var Zondag  : Boolean;
var Maandag : Boolean;
var Dinsdag : Boolean;
var Woensdag: Boolean;
var Donderdag :Boolean;
var Vrijdag : Boolean;
var Zaterdag: Boolean;
// ******************************************************************************
// Enkele dag, De Zondag
Zondag := (DayOfWeek(Now) = Sunday);
// Enkele dag, De Maandag
Maandag := (DayOfWeek(Now) = Monday);
// Enkele dag, De Dinsdag
Dinsdag := (DayOfWeek(Now) = Tuesday);
// Enkele dag, De Woensdag
Woensdag := (DayOfWeek(Now) = Wednesday);
// Enkele dag, De Donderdag
Donderdag := (DayOfWeek(Now) = Thursday);
// Enkele dag, De Vrijdag
Vrijdag := (DayOfWeek(Now) = Friday);
// Enkele dag, De Zaterdag
Zaterdag := (DayOfWeek(Now) = Saturday);
// ******************************************************************************
    while (Maandag) and
       ((Now >= T['06:59:50']) and (Now <= T['07:00:00'])) or
       ((Now >= T['07:59:50']) and (Now <= T['08:00:00'])) or
       ((Now >= T['17:59:50']) and (Now <= T['18:00:00'])) or
       ((Now >= T['21:59:50']) and (Now <= T['22:00:00'])) or
       ((Now >= T['22:59:50']) and (Now <= T['23:00:00'])) or
       ((Now >= T['23:59:50']) and (Now <= T['23:59:59'])) Do
    begin
    PAL.LockExecution;
    PAL.WaitForTime(T['+00:00:15']);
    WriteLn('Maandag');
      dir['C:\Radio\Advertenties\Maandag'].Rescan;
         Queue.AddDir('C:\Radio\Advertenties\Party',False, ipTop);
    ActivePlayer.FadeTonext;
    PAL.UnLockExecution;
    end;
    while (Zondag) and
       ((Now >= T['08:59:50']) and (Now <= T['09:00:00'])) or
       ((Now >= T['09:59:50']) and (Now <= T['10:00:00'])) Do
    begin
    PAL.LockExecution;
    PAL.WaitForTime(T['+00:00:15']);
    WriteLn('Zondag');
      dir['C:\Radio\Advertenties\Zondag'].Rescan;
         Queue.AddDir('C:\Radio\Advertenties\Party',False, ipTop);
    ActivePlayer.FadeTonext;
    PAL.UnLockExecution;
    end;
Dus mijn vraag is waarom is er geen actie tegen 8uur
en waarom pakt hij zondag 9 uur terwijl de klok nog op maandag staat.

geef me een hint aub

Thanks
Laatst gewijzigd door Wout op 01 apr 2012, 13:26, 1 keer totaal gewijzigd.
Reden: PAL-code`s in de bbcode code geplaatst! alweer
drOhimself

Re: Wat is het nut van While DayOfWeek(Now) =

Ongelezen bericht door drOhimself »

Probeer het eens zonder de PAL.Lock / UnLock regels......
Gebruikersavatar
Wout
Beheerder
Berichten: 3522
Lid geworden op: 03 dec 2007, 14:17
SAM-versie: 2019.3
Database: MariaDB
Windows: 11
Locatie: West-Brabant
Contacteer:

Re: Wat is het nut van While DayOfWeek(Now) =

Ongelezen bericht door Wout »

jenni schreef:geef me een hint aub

Code: Selecteer alles

    while (Maandag) and
       ((Now >= T['06:59:50']) and (Now <= T['07:00:00'])) or
...
       ((Now >= T['23:59:50']) and (Now <= T['23:59:59'])) Do
betekend,
Wanneer (dag van de week = maandag) en (de tijd is groter dan X maar kleiner als Y) dan etc..

En dat doet ie ook, als het maandag is dan zal het script beginnen,
maarrr de tijd daarin tegen staat niet ingekapseld op maandag maar los.

While (Day) and (Time) Do
De tijd pakt ie altijd op alle dagen.

Doe je
While ((Day) and (Time))
Dan pakt ie alleen de tijd mee op maandag en niet op andere dagen.
Afbeelding
drOhimself

Re: Wat is het nut van While DayOfWeek(Now) =

Ongelezen bericht door drOhimself »

Mooi Wout, daar heb ik meteen ook weer wat mee geleerd...!
jenni

Re: Wat is het nut van While DayOfWeek(Now) =

Ongelezen bericht door jenni »

Heren
Sorry voor mijn late reactie
@Wout : Ik heb het doorgenomen en je tip meegenomen n.l ((Day) and (Time))
Het wilde maar niet lukken tot net. YES Het werkt
Was wel tricky omdat er tijdblokken zijn per dag en daar komt jouw tip goed van te pas
alhoewel je nog niet klaar ben met alleen met jouw tip.
Want hij pakte ondanks maandag de tijd van bijv donderdag weer.
Wat rust genomen en goed gekeken naar wat vb in combinatie met je tip.
Dus wat heb ik gedaan:
1: Gewoon 2 tijden maandag en tijden tijden Donderdag waardoor het korter werd.
Hier ging het mis je tip althans niet volledig
Bijv Pc is maandag 9 uur maar Sam pakt Donderdag 9 uur ondanks jouw((Day) and (Time))
Ik begreep dat het de dag een aparte functie nodig heeft en de tijd ook. Dus aparte kap .
En toen had ik hem door.
Het werkt :-)
Ik heb gekozen voor deze Or functie omdat je script overzichtelijker/korter wordt.

@DrOZ
Wbt de onregelmatige tijden ben ik het volkomen met je eens om de tijd van 0:00 - 23:59 uit te voeren.
Maar bij mij wilde ik onderscheid maken tussen bijv Thema
Bijv 8-14 muziek
8.30 Ad
Dus 8.30 komt dan onderaan te staan
Maar doordat ik de script aan de praat heb gekregen kan ik doorgaan met thema blokken.
Thanks 4ur input

Maar ik heb nog wat vragen die stel ik wel een andere keer.

Thanks

Mag op Slot
Gesloten
  • Vergelijkbare Onderwerpen
    Reacties
    Weergaves
    Laatste bericht