بلوک عملکرد TIMESWITCH_ADD

بلوک عملکرد TIMESWITCH_ADD یک رویداد را در ساعت زمانبندی ایجاد یا تغییر می‌دهد.

توجه: ساعت زمانبندی باید در همان عنصر ذخیره شده باشد.

نکته: برای تغییر یک رویداد، همه مقادیر با استفاده از بلوک عملکرد TIMESWITCH_GET خوانده می‌شوند.

ورودی ADD

این ورودی با یک لبه مثبت یک رویداد را در تقویم ایجاد یا تغییر می‌دهد. اگر ورودی همیشه درست باشد، پس از حذف رویداد دوباره ایجاد می‌شود. تغییرات یک رویداد تشخیص داده نمی‌شوند.

اهم: ایجاد و پاک کردن همزمان باید اجتناب شود، زیرا این کار SSD را بسیار تحت فشار قرار می‌دهد.

ورودی TIMESWITCH

در اینجا پایگاه داده ساعت زمانبندی به عنوان یک رشته کاراکتر ذخیره می‌شود. این باید با استفاده از بلوک عملکرد TIMESWITCH قبلاً وجود داشته باشد. لطفا ترتیب برنامه را نیز در نظر بگیرید تا این بلوک عملکرد به درستی اولیه شود.

ورودی ID

ID رویداد را به عنوان یک رشته کاراکتر تعریف می‌کند. این امکان را فراهم می‌آورد که یک شناسایی منحصر به فرد انجام شود و جلوگیری می‌کند که رویدادها دیگر یک درگیری ایجاد کنند. ID باید فقط از حروف و اعداد تشکیل شده باشد. بزرگ و کوچک بودن حروف در نظر گرفته می‌شود.

توجه: ID برای همه تقویم‌ها باید منحصر به فرد تعریف شود. یک رویداد توسط کاربر در نمایشگر به یک تقویم دیگر کپی می‌شود.

ورودی TITLE

عنوان رویداد را به عنوان یک رشته کاراکتر. این نباید شامل خط جدید باشد. اگر ورودی ADD درست باشد، هر تغییر فوراً در تقویم نوشته می‌شود.

ورودی DT_START

زمان شروع رویداد در فرمت DT# برگشت داده می‌شود. اگر ورودی ADD درست باشد، هر تغییر فوراً در تقویم نوشته می‌شود.

نکته: زمان‌های سوئیچینگ با استفاده از بلوک‌های عملکرد MKTIME, STR2DT و EASTER_DATE محاسبه می‌شوند.

ورودی DT_END

زمان پایان رویداد در فرمت DT# برگشت داده می‌شود. اگر ورودی ADD درست باشد، هر تغییر فوراً در تقویم نوشته می‌شود. اگر زمان پایان کمتر از DT_START باشد، DT_END به عنوان زمان شروع تعریف می‌شود.

اگر ورودی تعریف نشده باشد، همان مقدار مانند DT_START فرض می‌شود و یک پالس برای رویداد ایجاد می‌شود.

ورودی DIS

این ورودی رویداد را در تقویم غیر فعال می‌کند. اگر ورودی ADD درست باشد، هر تغییر فوراً در تقویم نوشته می‌شود.

ورودی REPEAT

در این ورودی تکرارها را به عنوان یک رشته کاراکتر تعریف می‌توانید. این‌ها با استفاده از تابع‌های کمکی REPEAT_YEARLY, REPEAT_MONTHLY, REPEAT_WEEKLY, REPEAT_DAILY و REPEAT_HOURLY تولید یا به صورت توصیف شده اعلام می‌شوند.

رشته کاراکتر می‌تواند با استفاده از دو نقطه مانند زیر ساخته شود:

w:2:4:135

رقم اول (کوچک) زمان تکرار را تعریف می‌کند:

کوتاه زمان
h هر ساعت
d روزانه
w هفتگی
m ماهانه
y سالانه

رقم دوم فاصله تکرار را به عنوان یک عدد صحیح تعریف می‌کند. کوچک‌ترین مقدار 1 است.

رقم سوم پایان تکرار را تعریف می‌کند. در اینجا سه فرمت مختلف تعریف می‌شود:

  • هیچ ارزش: تکرار بی‌نهایت است.
  • به عنوان یک عدد صحیح ساده: تکرار پس از تعداد تکرارهای تعریف شده پایان می‌یابد.
  • به عنوان تاریخ YYYY-MM-DD: تکرار قبل از تاریخ پایان می‌یابد.

رقم چهارم روزهای هفته را که تکرار رخ می‌دهد، تعریف می‌کند. این رقم فقط در تعریف تکرارهای هفتگی یا ماهانه استفاده می‌شود.

تکرارهای هفتگی

بررسی می‌شود که آیا روز هفته فعلی در عدد موجود است. چند روز می‌توانند به صورت متوالی مشخص شوند. مانند 135 برای دوشنبه، چهارشنبه و جمعه. اگر هیچ ارزشی مشخص نشده باشد (0 یا یک رشته کاراکتر خالی)، تکرار در هیچ روز رخ نمی‌دهد.

عدد روز هفته
1 دوشنبه
2 سه شنبه
3 چهارشنبه
4 پنج شنبه
5 جمعه
6 شنبه
7 یک شنبه
تکرارهای ماهانه

تعریف می‌کند که رویداد در چه روز هفته تکرار شود. اعداد از -1 تا 4 پشتیبانی می‌شوند. 0 یا هیچ اعلامی تکرار در هر ماه در همان روز، مستقل از روز هفته است. روز هفته از تاریخ اول گرفته می‌شود.

ارزش توضیحات
-1 تکرار در آخرین روز هفته.
0 تکرار در همان روز. (پیش فرض)
1 تکرار در اولین روز هفته.
2 تکرار در دومین روز هفته.
3 تکرار در سومین روز هفته.
4 تکرار در چهارمین روز هفته.

خروجی ERR

در صورت خطا، خروجی به درست تنظیم می‌شود. این ممکن است باشد اگر تقویم وجود ندارد یا ID تعریف نشده یا نامعتبر بوده است.