Pokouším se vytvořit soubor "test.vcs", který by mi přidal do kalendáře v PDA položku (událost).
Prostudoval jsem spousty specifikací formátu vCalendar
Kód: Vybrat vše
http://www.imc.org/pdi/vcal-10.txtAť dělám cokoliv, tak se upozornění na událost spouští vždy 15 minut před časem nastaveným v DTSTART.
Tady je obsah souboru "test.vcs".
Kód: Vybrat vše
BEGIN:VCALENDAR
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
DTSTART:20091222T180000
DTEND:20091222T180500
UID:20091222-0A3CB
DTSTAMP:20091222T180000
CATEGORIES:Public
DESCRIPTION: 18:00 testovaci vCAL
PRIORITY:5
BEGIN:VALARM
TRIGGER:PT3M
ACTION:DISPLAY
DESCRIPTION:Reminder
END:VALARM
END:VEVENT
END:VCALENDARDoufal jsem, že upozornění na událost proběhne v 17:57, jenže upozornění proběhlo v 17:45.
Zkoušel jsem ještě nahradit řádku TRIGGER těmito variantami:
TRIGGER:20091222T175700
TRIGGER:-PT3M
TRIGGER:-T3M
Ani v jednom případě ale nedošlo k požadovanému efeku. Vždy se spustilo upozornění 15 minut před událostí.
Pak mě napadlo, že bych si tu událost zadal přímo v PDA a pak jí jako soubor ".vcs" vyexportoval do PC, kde bych si prohlédl jeho obsah.
Výsledkem bylo toto:
Kód: Vybrat vše
BEGIN:VCALENDAR
VERSION:1.0
BEGIN:VEVENT
LOCATION:
SUMMARY:Test 14
DESCRIPTION:Test 14
CLASS:PUBLIC
STATUS:NEEDS ACTION
DTSTART:20091222T183000
DTEND:20091222T183500
AALARM:20091222T182700
ATTACH;ENCODING=QUOTED-PRINTABLE:Udalost start 18:30 - upozorneni 18:27=0D=0A=
X-MICROSOFT-BODYINK;ENCODING=BASE64:VWRhbG9zdCBzdGFydCAxODozMCAtIHVwb3pvcm5lbmkgMTg6MjcNCg==
END:VEVENT
END:VCALENDARUž jsem se domníval, že mám vyhráno. Položka AALARM obsahuje čas, kdy jsem chtěl, aby upozornění proběhlo.
Jenže když jsem se pokusil ten samý neupravený soubor přetáhnout zpátky do PDA, tak se upozornění na událost, která má nastat v 18:30, spustilo opět 15 minut před začátkem události.
Takže se ptám, nevíte někdo, kde dělám chybu?
Jak donutit pomocí ".vcs" souboru reminder v PDA, aby se spouštěl 3 minuty před začátkem události?
Hodně krkolomné řešení samozřejmě existuje - Pokud by událost nastala ve skutečnosti například v 18:41, tak bych jí mohl nastavit DTSTART na 20091222T185300. Pak by upozornění nastalo o 15 minut dřív, než je nastavený DTSTART, takže vlastně o 3 minuty dřív, než je skutečný start.
Ale to mi přijde trochu divný a použil bych to až jako poslední možnost, kdyby fakt neexistovalo lepší řešení.
