GoGPT Best VPN GoSearch

فاویکون OnWorks

یادآوری - آنلاین در ابر

یادآوری را در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا کنید.

این دستور یادآوری است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


یادآوری - یک سرویس یادآور پیچیده

خلاصه


یادآوری [گزینه های] نام فایل [تاریخ] [*هرزه] [زمان]

شرح


یادآوری کنید عرضه شده را می خواند نام فایل و دستورات موجود در آن را اجرا می کند. دستورات
برای صدور یادآور و هشدار استفاده می شود. هر یادآور یا زنگ هشدار می تواند شامل یک پیام باشد
به خروجی استاندارد یا برنامه ای که باید اجرا شود ارسال می شود.

If نام فایل سپس به عنوان یک خط تیره "-" مشخص می شود یادآوری کنید ورودی خود را از استاندارد می گیرد
ورودی این نیز به طور ضمنی را قادر می سازد -o گزینه، در زیر توضیح داده شده است.

If نام فایل پس اتفاق می افتد که یک دایرکتوری باشد تا یک فایل ساده یادآوری کنید همه را می خواند
فایل های موجود در آن دایرکتوری که با الگوی "*.rem" مطابقت دارند. فایل ها به صورت مرتب خوانده می شوند
سفارش؛ ترتیب مرتب سازی ممکن است به منطقه شما بستگی داشته باشد، اما باید با ترتیب مرتب سازی استفاده شده مطابقت داشته باشد
پوسته برای گسترش "*.rem".

یادآوری کنید فایل های خود را از ابتدا تا انتها می خواند یا تا زمانی که با a مواجه شود
خطی که محتوای آن "__EOF__" است (بدون نقل قول.) هر چیزی بعد از __EOF__
نشانگر کاملا نادیده گرفته شده است.

OPTIONS


یادآوری کنید گزینه های زیادی دارد اگر در این برنامه تازه کار هستید، فعلاً آنها را نادیده بگیرید و از آن بگذرید
به بخش "پرونده های یادآوری".

-n La -n گزینه علل یادآوری کنید برای چاپ بعد وقوع هر یادآوری در الف
فرمت تقویم ساده شما می توانید این را بر اساس تاریخ با لوله گذاری خروجی مرتب کنید
نوع(1).

-j[n] دویدن یادآوری کنید در حالت "پاکسازی" برای خلاص شدن از شر یادآورهای منقضی شده. بخش PURGE را ببینید
MODE برای جزئیات.

-r La -r گزینه غیرفعال می شود RUN بخشنامه ها و پوسته() عملکرد. به عنوان یادآوری
3.00.17، با استفاده از -u دلالت دارد -r.

-c[پرچم] n
La -c گزینه علل یادآوری کنید برای تولید یک تقویم که به خروجی استاندارد ارسال می شود.
اگر یک عدد ارائه کنید n، سپس یک تقویم برای ایجاد می شود n ماه، شروع
با ماه جاری به طور پیش فرض، یک تقویم فقط برای ماه جاری است
تولید شده.

شما می توانید پیشی بگیرید n (در صورت وجود) با مجموعه ای از پرچم ها. پرچم ها به شرح زیر است:

'+' باعث ایجاد یک تقویم برای n هفته ها تولید شود

'آ' علل یادآوری کنید برای نمایش یادآورها در تقویم در روزی که واقعاً رخ می دهند
as خوب as در هر روز قبلی که توسط یادآوری مشخص شده است دلتا.

"من" علل یادآوری کنید برای استفاده از کاراکترهای خط کش VT100 برای ترسیم تقویم. در
کاراکترها کدگذاری سختی دارند و فقط روی پایانه هایی کار می کنند که VT00 را شبیه سازی می کنند
مجموعه کاراکترهای خط کشی

"تو" شبیه "l" است، اما باعث می شود یادآوری کنید برای استفاده از کاراکترهای خط کشی یونیکد برای ترسیم
تقویم. کاراکترها کدگذاری سختی دارند و فقط روی پایانه هایی کار می کنند که
روی رمزگذاری نویسه UTF-8 تنظیم شده اند.

'ج' علل یادآوری کنید برای استفاده از دنباله های فرار VT100 برای تقریبی یادآورهای رنگی خاص.
تقریب (الزاما) بسیار درشت است، زیرا VT100 فقط هشت عدد دارد
توالی رنگ های مختلف، هر کدام با یکی از دو روشنایی. یک جزء رنگی
بزرگتر از 64 "روشن" در نظر گرفته می شود و اگر هر یک از سه جزء رنگی باشد
بیشتر از 128، رنگ "روشن" در نظر گرفته می شود.

-wگردنه[,لایی[,SPC]]]
La -w گزینه عرض خروجی، padding و فاصله فرمت شده را مشخص می کند
خروجی تقویم سرهنگ تعداد ستون های دستگاه خروجی را مشخص می کند و
پیش فرض 80 است. پد مشخص می کند که از چند خط برای "پد کردن" کادرهای خالی تقویم استفاده شود.
این به طور پیش فرض روی 5 است. اگر یادآورهای زیادی در روزهای خاصی دارید که باعث می شود شما
تقویم بیش از حد بزرگ است که در یک صفحه قرار نمی گیرد، می توانید سعی کنید آن را کاهش دهید لایی برای خالی کردن
جعبه های کوچکتر SPC مشخص می کند که چند خط خالی بین شماره روز باقی بماند
و اولین ورودی یادآوری پیش فرض آن 1 است.

هر یک از گردنه, لایی or SPC را می توان حذف کرد، به شرطی که تعداد صحیح آن را ارائه دهید
کاما از هیچ فاصله ای در گزینه استفاده نکنید.

-s[a]n La -s گزینه بسیار شبیه به -c گزینه، با این تفاوت که تقویم خروجی است
فرمت نشده این در یک "قالب ساده" فهرست شده است که می تواند به عنوان ورودی برای استفاده شود
برنامه های پیچیده تر برای طراحی تقویم اگر n با "+" شروع می شود، سپس می شود
به عنوان تعدادی هفته تفسیر می شود.

اگر بلافاصله دنبال کنید s با نامه a، و سپس یادآوری کنید یادآوری ها را نمایش می دهد
در تقویم در روزی که واقعاً رخ می دهند as خوب as در هر روز قبل
توسط یادآوری مشخص شده است دلتا.

-p[a]n La -p گزینه بسیار شبیه به -s گزینه، با این تفاوت که خروجی شامل
اطلاعات اضافی برای استفاده توسط Rem2PS برنامه ای که یک PostScript ایجاد می کند
تقویم برای این گزینه، n نمی توان با "+" شروع کرد. باید تعدادی را مشخص کند
ماه ها. فرمت از -p خروجی در شرح داده شده است rem2ps(1) صفحه مرد اگر
شما بلافاصله دنبال کنید p با نامه a، و سپس یادآوری کنید یادآوری ها را روشن نشان می دهد
تقویم در روزی که واقعاً رخ می دهند as خوب as در هر روز قبل
توسط یادآوری مشخص شده است دلتا.

-l اگر از گزینه -l همراه با گزینه -p استفاده می کنید، پس یادآوری کنید خروجی
اطلاعات اضافی برای برنامه های Back-end مانند rem2ps. این اضافی
اطلاعات به برنامه های پشتیبان اجازه می دهد تا یک یادآوری را با فایل منبع مرتبط کنند
و شماره خطی که آن را تولید کرده است.

-m La -m گزینه باعث می شود -c or -p گزینه هایی برای تولید تقویمی که ستون اول آن است
دوشنبه است تا یکشنبه (این مطابق با استاندارد بین المللی است.)

-v La -v گزینه خروجی از یادآوری کنید کمی پرمخاطب تر در حال حاضر، این
علل یادآوری کنید برای تکرار خط بد در صورت بروز خطا، و چاپ یک امنیت
اگر یک اسکریپت متغیر سیستم $RunOff را آزمایش کند پیام دهید.

-o La -o گزینه علل یادآوری کنید برای نادیده گرفتن همه یک بار دستورالعمل.

-t La -t گزینه علل یادآوری کنید برای فعال کردن همه یادآورهای منقضی نشده، صرف نظر از
دلتا برای هر یادآوری ارائه می شود.

-tn اگر یک عدد ارائه کنید n بعد از -t پس گزینه یادآوری کنید وانمود می کند که هر غیر
یادآوری منقضی شده دارای یک دلتا of n روزها و بر این اساس یادآورهایی را ایجاد می کند.

-h La -h گزینه ("ساکت...") پیام های هشدار و اطلاعات خاصی را سرکوب می کند. که در
به ویژه، اگر هیچ یادآوری راه اندازی نشود، این حالت هیچ خروجی تولید نمی کند.

-a La -a گزینه علل یادآوری کنید بلافاصله یادآوری های به موقع آن ماشه را راه اندازی نکنید
در روز جاری همچنین باعث می شود یادآوری کنید یادآوری های زمان دار را در الف قرار ندهید
تقویم اگر دو یا بیشتر عرضه کنید -a سپس گزینه ها یادآوری کنید اراده ماشه به موقع
یادآوری‌هایی که در آینده هستند، اما یادآوری‌های زمان‌دار که زمان آن‌ها است، راه‌اندازی نمی‌کنند
را گذرانده است. (صرف نظر از تعداد -a گزینه هایی که ارائه می کنید، یادآوری کنید شامل نخواهد شد
یادآوری های به موقع در تقویم اگر حداقل یکی باشد -a گزینه استفاده می شود.)

-q La -q گزینه علل یادآوری کنید برای اجرای بعدی، یادآورهای زماندار را در صف قرار ندهید.

-f La -f گزینه علل یادآوری کنید هنگام پردازش در صف در پیش زمینه باقی بماند
یادآوری‌ها، به‌جای اینکه فرآیند پس‌زمینه را برای رسیدگی به آنها متوقف کنید.

-e La -e گزینه پیام های خطا را تغییر می دهد (معمولاً به جریان خطای استاندارد ارسال می شود)
به جریان خروجی استاندارد

-dتانک ها
La -d گزینه حالت های اشکال زدایی خاصی را فعال می کند. در تانک ها مشخص کنید به کدام حالت ها
فعال کردن:

e اکو تمام خطوط ورودی

x ردیابی تمام ارزیابی بیان

t نمایش تمام محاسبات تاریخ ماشه

v پس از اجرای اسکریپت یادآور، جدول متغیر را تخلیه کنید

l خطوط پژواک هنگام نمایش پیام های خطا

f ردیابی خواندن فایل های یادآوری

-g[a|d[a|d[a|d[a|d]]]]
به طور معمول، یادآوری ها به ترتیبی که در آن با آنها مواجه می شوند، صادر می شوند
اسکریپت یادآوری را -g علت گزینه یادآوری کنید برای مرتب کردن یادآورها بر اساس تاریخ و زمان
قبل از صدور آنها اختیاری a و d کاراکترها ترتیب مرتب سازی را مشخص می کنند
(صعودی یا نزولی) برای فیلدهای تاریخ، زمان و اولویت. بخش را ببینید
"مرتب سازی یادآورها" برای اطلاعات بیشتر.

-b[n] قالب زمان را برای خروجی های تقویم و تقویم ساده تنظیم کنید. N می تواند از
0 تا 2 با پیش فرض 0. مقدار 0 باعث درج زمان در 12 ساعت می شود.
فرمت (صبح/ظهر) 1 باعث درج زمان ها در قالب 24 ساعته می شود و 2 مهار می کند
درج خودکار زمان ها در خروجی تقویم

-x[n] محدودیت تکرار را برای راضی باشید بند الف REM فرمان پیش فرض 150 است.

-kCMD به جای چاپ ساده MSGیادآوری های نوع، این باعث می شود که آنها به آن منتقل شوند
خاص CMD. باید از «%s» در جایی که می‌خواهید بدنه ظاهر شود و ممکن است نیاز باشد استفاده کنید
این گزینه را در نقل قول قرار دهید. توجه داشته باشید که تمام کاراکترهای پوسته در بدنه
یادآوری با یک بک اسلش فرار می‌کند و تمام بدنه یادآوری است
به عنوان یک استدلال واحد تصویب شد. توجه داشته باشید که این گزینه نادیده گرفتن la -r گزینه و
RUN OFF فرمان

به عنوان مثال، فرض کنید یک برنامه X Window به نام دارید xmessage که بالا می آید a
پنجره و آرگومان های فراخوانی خود را نمایش می دهد. می توانید استفاده کنید:

یادآوری «-kxmessage %s &»...

برای داشتن همه شما MSGیادآوری نوع پردازش شده با استفاده از xmessage.

یک هشدار: ایجاد ده ها فرآیند xmessage با این بسیار آسان است
تکنیک بالا پس خیلی مراقب باشید. زیرا همه کاراکترهای پوسته و فضای خالی
برنامه ای که با آن اجرا می کنید فرار می کنند -k گزینه باید آماده رسیدگی باشد
کل پیام به عنوان یک استدلال واحد.

-z[n] دویدن یادآوری کنید در حالت دیمون اگر n
ارائه می شود، مشخص می کند چند بار (در چند دقیقه) یادآوری کنید باید بیدار شود تا بررسی کند که آیا
اسکریپت یادآوری تغییر کرده است. N پیش فرض 1 است و می تواند از 1 تا 60 متغیر باشد.
توجه داشته باشید که استفاده از -z گزینه را نیز فعال می کند -f گزینه.

اگر گزینه را ارائه کنید -z0, یادآوری کنید در حالت خاصی به نام اجرا می شود سرور حالت.
این در صفحه tkremind man مستند شده است. دیدن tkremind(1).

-uنام اجرا می شود یادآوری کنید با uid و gid کاربر مشخص شده توسط نام. گزینه تغییر می کند
uid و gid همانطور که توضیح داده شد، و متغیرهای محیطی HOME، SHELL و را تنظیم می کند
USER به دایرکتوری اصلی، پوسته و نام کاربری مشخص شده، به ترتیب
کاربر. LOGNAME نیز روی نام کاربری مشخص شده تنظیم شده است. این گزینه برای
در اسکریپت های پوسته استفاده کنید که یادآوری را برای همه کاربران ارسال می کند. توجه داشته باشید که از Remind
3.00.17، با استفاده از -u دلالت دارد -r - دستور RUN و توابع shell() هستند
معلول.

کاربران غیر روت نیز می توانند از -u گزینه. با این حال، در این مورد، فقط تغییر می کند
متغیرهای محیطی که در بالا توضیح داده شد. Uid موثر را تغییر نمی دهد
یا gid.

-y علل یادآوری کنید برای ترکیب یک برچسب برای هر یادآوری که فاقد بند TAG است.

-iVAR=صادرات
مقدار مشخص شده را تنظیم می کند VAR به صادراتو حفظ می کند VAR. Expr می تواند هر باشد
معتبر یادآوری کنید اصطلاح. به بخش «راه‌اندازی متغیرها روی فرمان» مراجعه کنید
خط" برای جزئیات بیشتر.

-iعملکرد(قوس)=تعریف
به شما امکان می دهد یک تابع را در خط فرمان تعریف کنید.

اگر شما یک تاریخ در خط فرمان، باید از روز ماه سال، که در آن روز is
روز ماه، ماه حداقل سه حرف اول نام انگلیسی the است
ماه ، و سال یک سال (همه 4 رقم) از 1990 تا حدود 2075 است.
روز، که سپس به طور پیش فرض روی 1 قرار می گیرد.

اگر الف را عرضه کنید تاریخ سپس در خط فرمان یادآوری کنید از آن استفاده می کند، نه واقعی
تاریخ سیستم، به عنوان مفهوم آن از "امروز." این به شما امکان می دهد برای ماه های آینده تقویم ایجاد کنید،
یا آزمایش کنید تا ببینید یادآوری‌های شما در آینده چگونه فعال خواهند شد. به طور مشابه، شما می توانید
عرضه الف زمان (در قالب 24 ساعته -- به عنوان مثال، 17:15) را تنظیم کنید یادآوری کنیدمفهوم "اکنون" به
یک زمان خاص تامین الف زمان در خط فرمان نیز به طور ضمنی این را فعال می کند -q
گزینه و غیرفعال می کند -z گزینه.

اگر ترجیح می‌دهید تاریخ را به طور خلاصه‌تر مشخص کنید، می‌توانید آن را به عنوان YYYY-MM-DD یا
YYYY/MM/DD. حتی می توانید تاریخ و زمان را در خط فرمان به عنوان یک آرگومان ارائه کنید:
YYYY-MM-DD@HH:MM.

علاوه بر این، شما می توانید یک تکرار پارامتر که به شکل * استتعداد. این باعث می شود
یادآوری کنید اجرا شود تعداد بار، با افزایش تاریخ در هر تکرار. ممکن است مجبور شوید
برای جلوگیری از گسترش پوسته، پارامتر را در گیومه قرار دهید. به بخش فرعی "تکرار شده" مراجعه کنید
اجرا" در بخش "حالت تقویم" برای اطلاعات بیشتر.

یادآور فایل ها


یادآوری کنید از اسکریپت ها برای کنترل عملکرد خود استفاده می کند. شما می توانید از هر ویرایشگر متنی که قادر به انجام آن است استفاده کنید
ایجاد فایل های ASCII ساده برای ایجاد یک یادآوری کنید اسکریپت دستورات داخل یک اسکریپت می توانند
از موارد بسیار ساده و تقریباً بلافاصله قابل درک است:

REM 6 ژانویه MSG تولد دایان

به باروک و مبهم:

REM [تاریخ (امسال، 1، 1) + 180] ++5 OMIT \
Sat sun قبل از MSG [ord(thisyear-1980)] پرداخت %b!

یک فایل یادآوری شامل دستوراتی است که در هر خط یک دستور وجود دارد. چندین خط می تواند باشد
مانند مثال بالا با استفاده از کاراکتر بک اسلش ادامه دهید. در این مورد، همه از
خطوط به هم پیوسته به عنوان یک خط واحد توسط یادآوری کنید. توجه داشته باشید که در صورت بروز خطا
اتفاق می افتد ، یادآوری کنید شماره خط آخرین خط یک خط ادامه یافته را گزارش می دهد.

یادآوری کنید خطوط خالی و خطوطی که با '#' یا ';' شروع می شوند را نادیده می گیرد. شخصیت ها. تو می توانی
اگر می خواهید a را پاس کنید، از نقطه ویرگول به عنوان کاراکتر نظر استفاده کنید یادآوری کنید اسکریپت از طریق C
پیش پردازشگر، که کاراکتر '#' را به عنوان شروع یک پیش پردازش تفسیر می کند
بخشنامه.

توجه داشته باشید که یادآوری کنید قبل از هر چیز، ادامه خط را پردازش می کند. مثلا:

# این یک نظر است \
این خط به دلیل ادامه خط بخشی از نظر است \
و الی آخر.
REM MSG این خط نادیده گرفته نمی شود (نه \ بالا)

یادآوری کنید به حروف کوچک و بزرگ حساس نیست؛ به طور کلی می توانید از هر ترکیبی از حروف بزرگ یا کوچک استفاده کنید
برای دستورات، پارامترها، گزینه های فراخوانی و غیره

L' REM COMMAND


قدرتمندترین دستور در a یادآوری کنید اسکریپت است REM فرمان این دستور است
مسئول صدور یادآوری نحو آن این است:

REM [یک بار] [date_spec] [به عقب] [دلتا] [تکرار] [اولویت پریو] [برو | قبل از |
بعد از] [حذف کنید omit_list] [OMITFUNC omit_function] [AT زمان [tdelta] [دلتنگی]]
[برنامه ریزی شده sched_function] [هشدار دهید warn_function] [تا زمان تاریخ انقضا | از طریق آخرین تاریخ]
[SCANFROM scan_date | از تاریخ شروع] [مدت زمان مدت] [TAG برچسب]MSG | MSF |
RUN | CAL | راضی باشید | ویژه ویژه | PS | PSFILE> بدن

قطعات از REM دستور را می توان به هر ترتیبی مشخص کرد، به جز اینکه بدن باید بیای
بلافاصله پس از MSG, RUN, CAL, PS, PSFILE or راضی باشید کلمه کلیدی.

La REM توکن اختیاری است، مشروط بر اینکه بقیه دستور اشتباه نشود
برای دیگری یادآوری کنید دستوری مانند حذف کنید or RUN. بخشی از REM دستور قبل از
MSG, MSF RUN, CAL or راضی باشید بند الف نامیده می شود ماشه.

MSG، MSF، اجرا کن، CAL، خاص، PS و PSFILE

این کلمات کلیدی نشان دهنده نوع از یادآوری (راضی باشید پیچیده تر است و خواهد بود
بعدا توضیح داده شد.) الف MSGیادآوری نوع معمولاً یک پیام را به خروجی استاندارد چاپ می کند،
پس از عبور از بدن از طریق یک فیلتر جایگزین ویژه، که در بخش توضیح داده شده است
"فیلتر جایگزین." با این حال، اگر از آن استفاده کرده باشید -k سپس گزینه خط فرمان
MSGیادآوری های نوع به برنامه مناسب منتقل می شود. توجه داشته باشید که گزینه ها -c, -s,
-p و -n غیرفعال کردن -k گزینه.

توجه داشته باشید که می‌توانید نوع یادآوری را حذف کنید، در این صورت به صورت پیش‌فرض است MSG. بنابراین شما می توانید
نوشتن:

6 ژانویه تولد دایان

اگر چه این توصیه نمی شود.

La MSF کلمه کلیدی تقریباً مشابه است MSG کلمه کلیدی، با این تفاوت که یادآوری است
قالب بندی شده تا در قالب پاراگراف مانند قرار گیرد. سه متغیر سیستم کنترل می کنند
قالب بندی از MSFنوع یادآوری - آنها هستند $FirstIndent, $SubsIndent و $FormWidth.
آنها در بخش "متغیرهای سیستم" مورد بحث قرار می گیرند. در MSF کلیدواژه باعث ایجاد فاصله می شود
یادآوری شما که باید تغییر داده شود - فضاهای اضافی کنار گذاشته می شوند و دو فاصله قرار می گیرند
بعد از دوره و سایر کاراکترها، همانطور که توسط متغیرهای سیستم مشخص شده است $EndSent و
$EndSentIg. توجه داشته باشید که اگر بدنه یادآور شامل کاراکترهای خط جدید باشد (قرار داده شده است
در آنجا با دنباله %_)، سپس خطوط جدید به عنوان آغاز جدید در نظر گرفته می شوند
پاراگراف ها و $FirstIndent تورفتگی برای خط بعدی استفاده می شود. شما می توانید از دو استفاده کنید
خطوط جدید متوالی برای داشتن پاراگراف های با فاصله از یک بدنه یادآور منتشر می شود.

A RUNنوع یادآوری نیز عبور می کند بدن از طریق فیلتر جایگزین، اما پس از آن
نتیجه را به عنوان یک فرمان سیستم اجرا می کند. آ CALنوع یادآوری فقط برای قرار دادن استفاده می شود
نوشته‌های تقویم زمانی تولید می‌شوند یادآوری کنید با اجرا می شود -c, -s or -p گزینه.

A PS or PSFILEیادآوری -type برای ارسال کد پست اسکریپت مستقیماً به چاپگر استفاده می شود
تولید تقویم های پست اسکریپت این را می توان برای سایه زدن برخی از ورودی های تقویم استفاده کرد (نگاه کنید به
تابع psshade())، شامل تصاویر گرافیکی در تقویم یا تقریباً هر هدف دیگری است
می تواند فکر کند. شما نباید از این نوع یادآوری ها استفاده کنید مگر اینکه متخصص باشید
برنامه نویس پست اسکریپت در PS و PSFILE یادآوری ها نادیده گرفته می شوند مگر اینکه یادآوری کنید اجرا می شود با
la -p گزینه. برای جزئیات بیشتر به بخش "اطلاعات بیشتر درباره پست اسکریپت" مراجعه کنید.

A ویژهاز نوع یادآوری برای ارسال اطلاعات "خارج از باند" استفاده می شود یادآوری کنید به
بک اند تولید کننده تقویم پس از آن باید یک کلمه نشان دهنده نوع آن باشد
داده های ویژه در حال انتقال نوع یادآوری ویژه به پشتیبان بستگی دارد. برای
la Rem2PS پایان، ویژه پست اسکریپت معادل است PSنوع یادآوری، و ویژه
PSFile معادل است PSFILEیادآوری نوع بدن یک ویژه یادآوری است
بدیهی است که به بک‌اند وابسته است.

تاریخ مشخصات

A date_spec از صفر تا چهار قسمت تشکیل شده است. این قطعات هستند روز (روز ماه)، ماه
(نام ماه) سال و روز هفته ماه و روز هفته نام انگلیسی ماه ها و
روزهای هفته حداقل باید از سه کاراکتر اول استفاده شود. موارد زیر نمونه هایی هستند
از قسمت های مختلف الف date_spec:

روز: 1، 22، 31، 14، 3

ماه: ژانویه، فوریه، مارس، آوریل، می، آگوست

سال: 1990، 1993، 2030، 95 (تعبیر به 1995). سال می تواند از 1990 تا 2075 باشد.

روز هفته:
دوشنبه، سه شنبه، چهارشنبه، پنج شنبه، جمعه، شنبه، یکشنبه

توجه داشته باشید که ممکن است چندین مورد وجود داشته باشد روز هفته اجزای جدا شده توسط فضاهای a date_spec.

تفسیر OF تاریخ مشخصات

مثال های زیر نحوه تفسیر مشخصات تاریخ را نشان می دهد.

1. مشخصات تاریخ تهی - یادآوری هر روز فعال می شود. تاریخ شروع برای a
اجرای خاص صرفاً تاریخ فعلی سیستم است.

2 فقط روز حاضر. یادآوری در روز مشخص شده هر ماه فعال می شود. در
تاریخ راه اندازی برای یک اجرا خاص نزدیک ترین روز به تاریخ فعلی سیستم است. برای
مثال:
REM 1 MSG اول هر ماه.
REM 31 MSG 31 ام هر ماه که 31 روز دارد.

3 فقط ماه حاضر. یادآوری هر روز از ماه مشخص شده فعال می شود.
مثال:
REM فوریه MSG هر روز در ماه فوریه

4. روز و ماه حاضر. مثال ها:
REM 6 ژانویه MSG هر 6 ژانویه
REM 29 فوریه MSG هر 29 فوریه

5 فقط سال حاضر. مثال:
REM 1991 MSG هر روز در سال 1991

6. سال و روز حاضر. مثال ها:
REM 1 1990 MSG اول هر ماه در سال 1
REM 1992 23 MSG 23 هر ماه در 1992

7. سال و ماه حاضر. مثال ها:
REM فوریه 1991 MSG هر روز در فوریه 1991
REM 1992 سپتامبر MSG هر روز در سپتامبر 1992

8. سال ماه و روز حاضر. مثال ها:
REM 8 ژانویه 1991 MSG 8 ژانویه 1991.
REM 1992 9 مارس MSG 9 مارس 1992.

9. روز هفته فقط. مثال ها:
REM Sat MSG هر شنبه
REM دوشنبه سه شنبه چهارشنبه پنج شنبه MSG هر روز کاری
REM دوشنبه چهارشنبه MSG هر دوشنبه و چهارشنبه

10. روز هفته و روز حاضر. مثال ها:
REM Sat 1 MSG اولین شنبه هر ماه
REM دوشنبه سه شنبه چهارشنبه پنج شنبه جمعه 15 \
MSG اولین روز کاری بعد از 1 هر ماه

11. روز هفته و ماه حاضر. مثال ها:
REM دوشنبه مارس MSG هر دوشنبه در ماه مارس
REM دوشنبه سه شنبه چهارشنبه پنجشنبه جمعه فوریه MSG هر روز کاری در فوریه

12. روز هفته، ماه و روز حاضر. مثال ها:
REM دوشنبه 1 مارس MSG اولین دوشنبه ماه مارس
REM Sat Sun 15 ژوئیه MSG اولین شنبه یا یکشنبه در یا بعد از 15 جولای

13. روز هفته و سال حاضر. مثال:
REM Sat Sun 1991 MSG هر شنبه و یکشنبه در سال 1991

14. روز هفته، روز و سال حاضر. مثال ها:
REM دوشنبه 15 1990 MSG اولین دوشنبه بعد از 1 هر ماه در سال 15
REM دوشنبه سه شنبه چهارشنبه پنج شنبه جمعه 1 1990 \
MSG اولین روز کاری هر ماه در سال 1

15. روز هفته، ماه و سال حاضر. مثال:
REM دوشنبه چهارشنبه فوریه 1991 MSG هر دوشنبه و چهارشنبه در فوریه 1991.

16. روز هفته، روز ماه و سال حاضر. مثال:
REM دوشنبه سه شنبه چهارشنبه پنجشنبه 28 اکتبر 1990 \
MSG اولین روز کاری در یا پس از 1 اکتبر 28.

توجه داشته باشید که وقتی هر دو روز هفته و روز مشخص شده اند، یادآوری کنید اولین قرار را در یا انتخاب می کند
بعد از مشخص شده روز که همچنین راضی می کند روز هفته محدودیت این کار را توسط
انتخاب اولین تاریخ در تاریخ مشخص شده یا بعد از آن روز که در لیست ذکر شده است
روزهای هفته بنابراین، یادآوری مانند:

REM دوشنبه 28 اکتبر 1990 MSG سلام

فقط در روز دوشنبه 29 مهر 1990 صادر می شود. در روز سه شنبه 30 صادر نمی شود.
اکتبر 1990، از آنجایی که 29 اولین تاریخی است که رضایت شما را جلب می کند روز هفته محدودیت ها.

دست کوتاه تاریخ مشخصات

علاوه بر املای روز، ماه و سال به طور جداگانه، می توانید YYYY-MM-DD را مشخص کنید.
یا YYYY/MM/DD. به عنوان مثال، عبارات زیر معادل هستند:

REM 5 ژوئن 2010 MSG Cool!
REM 2010/06/05 MSG جالب است!

شما همچنین می توانید تاریخ و زمان را به عنوان YYYY-MM-DD@HH:MM تعیین کنید. این اظهارات هستند
معادل:

REM 19 دسامبر 2010 ساعت 16:45 MSG سلام
REM 2010-12-19@16:45 MSG سلام

یک نکته ظریف در مشخصات تاریخ کوتاه وجود دارد: عبارات زیر هستند
نه معادل:

REM 19 دسامبر 2010 ساعت 16:45 +60 MSG سلام
REM 2010-12-19@16:45 +60 MSG سلام

در عبارت دوم، "+60" یک است دلتا که در مورد تاریخ به جای الف صدق می کند
tdelta که در مورد زمان صدق می کند. توصیه می کنیم به صراحت از کلمه کلیدی AT با زمان بندی استفاده کنید
یادآوری ها

L' به یاد آوردن الگوریتم

یادآوری کنید از الگوریتم زیر برای محاسبه تاریخ ماشه استفاده می کند: شروع از جریان
تاریخ، هر روز را یکی یکی بررسی می کند تا زمانی که تاریخی را پیدا کند که تاریخ را برآورده کند
مشخصات، یا به خود ثابت می کند که چنین تاریخی وجود ندارد. (در حقیقت، یادآوری کنید صرفا - فقط
رفتار می کند انگار از این الگوریتم استفاده کرده است. در عمل بسیار کند خواهد بود. در داخل،
یادآوری کنید از تکنیک‌های بسیار سریع‌تری برای محاسبه تاریخ آغازگر استفاده می‌کند.) جزئیات درباره را ببینید
محاسبه محرک برای اطلاعات بیشتر.

به عقب اسکن کردن

گاهی لازم است یک تاریخ را به عنوان مقدار زمان تعیین شده قبل از دیگری مشخص کنید
تاریخ. به عنوان مثال، آخرین دوشنبه در یک ماه مشخص به عنوان اولین دوشنبه در محاسبه می شود
ماه بعد منهای 7 روز در به عقب مشخصات موجود در یادآور در این مورد استفاده می شود
مورد:

REM دوشنبه 1 -7 MSG آخرین دوشنبه هر ماه.

A به عقب با یک یا دو خط تیره و به دنبال آن یک عدد صحیح مشخص می شود. این باعث می شود یادآوری کنید به
حرکت "عقب" از زمانی که به طور معمول تاریخ ماشه است. تفاوت بین --7
و -7 زمانی توضیح داده خواهد شد که حذف کنید کلمه کلیدی شرح داده شده است.

ADVANCE هشدار

برای برخی یادآوری ها، دریافت هشدار قبلی در مورد رویداد مناسب است. برای
به عنوان مثال، ممکن است بخواهید چندین روز قبل از تولد کسی به شما یادآوری شود. در
دلتا بخشی از REM فرمان به این امر می رسد. به عنوان یک یا دو علامت "+" مشخص شده است
به دنبال آن یک عدد n. باز هم تفاوت بین فرم های "+" و "++" خواهد بود
توضیح داده شده در زیر حذف کنید کلمه کلیدی. یادآوری کنید یادآوری را در ماشه محاسبه شده فعال می کند
تاریخ، و همچنین در هر یک از n روز قبل از رویداد در اینجا چند نمونه آورده شده است:

REM 6 ژانویه +5 MSG تولد 5 روز قبل را به من یادآوری کنید.

مثال بالا هر 6 ژانویه و همچنین 1 تا 5 ژانویه فعال می شود
ژانویه

تناوبی یادآوری ها

ما قبلاً مکانیسم های داخلی برای انواع خاصی از یادآورهای دوره ای را دیده ایم.
به عنوان مثال، رویدادی که هر چهارشنبه رخ می دهد می تواند به صورت زیر مشخص شود:

رویداد REM Wed MSG!

با این حال، رویدادهایی که روزانه، هفتگی، ماهانه یا سالانه تکرار نمی شوند نیاز به دیگری دارند
رویکرد. تکرار جزء REM دستور این نیاز را برطرف می کند. برای استفاده از آن باید
به طور کامل یک تاریخ (سال، ماه و روز، و در صورت تمایل روز هفته) را مشخص کنید تکرار
جزء ستاره ای است که با عددی همراه است که دوره تکرار را بر حسب روز مشخص می کند.

به عنوان مثال، فرض کنید هر چهارشنبه دوم حقوق دریافت می کنید و آخرین روز پرداخت شما بوده است
چهارشنبه 28 مهر 1992 می توانید از:

REM 28 اکتبر 1992 * 14 MSG روز پرداخت

این یادآوری هر 14 روز از تاریخ شروع محاسبه شده شروع می شود. شما
می توانید استفاده کنید دلتا و به عقب با تکرار. با این حال توجه داشته باشید که به عقب فقط برای محاسبه استفاده می شود
تاریخ شروع اولیه؛ پس از آن، یادآوری با دوره مشخص شده تکرار می شود.
به همین ترتیب، اگر یک روز هفته را مشخص کنید، فقط برای محاسبه تاریخ اولیه و
بر دوره تکرار تاثیر نمی گذارد.

SCANFROM و از

La SCANFROM و از کلمات کلیدی برای پیشرفته هستند یادآوری کنید فقط برنامه نویسان، و خواهند بود
در بخش "جزئیات مربوط به محاسبه محرک" در نزدیکی انتهای این راهنما توضیح داده شده است.
توجه داشته باشید که SCANFROM فقط در نسخه های موجود است یادآوری کنید از 03.00.04 به بالا از is
فقط از 03.01.00 و بعد از آن موجود است.

اولویت

La اولویت کلمه کلیدی باید با یک عدد از 0 تا 9999 دنبال شود. در تقویم استفاده می شود
حالت و هنگام مرتب سازی یادآورها. اگر دو یادآور تاریخ و زمان راه‌اندازی یکسانی داشته باشند،
سپس آنها بر اساس اولویت مرتب می شوند. اگر اولویت کلمه کلیدی ارائه نشده است، یک پیش فرض است
اولویت 5000 استفاده شده است. (این پیش فرض را می توان با تنظیم متغیر سیستم تغییر داد
$DefaultPrio. برای اطلاعات بیشتر به بخش "متغیرهای سیستم" مراجعه کنید.)

تاریخ انقضا تاریخ

برخی از یادآوری ها باید به صورت دوره ای برای مدت معینی صادر شوند، اما سپس منقضی شوند. برای
به عنوان مثال، فرض کنید هر جمعه کلاس دارید و آخرین کلاس شما 11 دسامبر است
1992. می توانید استفاده کنید:

REM جمعه تا 11 دسامبر 1992 کلاس MSG امروز.

مثال دیگر: فرض کنید از 30 نوامبر 1992 تا 4 دسامبر 1992 وظیفه هیئت منصفه را دارید.
یادآوری زیر پیام هر روز وظیفه هیئت منصفه شما و همچنین 2 را صادر می کند
روزها جلوتر از زمان:

REM 1992-11-30 *1 +2 تا 1992-12-04 وظیفه هیئت منصفه MSG

توجه داشته باشید که تکرار از *1 لازم است. بدون آن، یادآوری فقط در تاریخ صادر می شود
30 نوامبر (و دو روز قبل از آن.)

به عنوان یک مورد خاص، می توانید از از طریق کلمه کلیدی به جای *1 و تا زمان. به شرح زیر
دو REM دستورات معادل هستند:

REM 1992-11-30 *1 +2 تا 1992-12-04 وظیفه هیئت منصفه MSG

REM 1992-11-30 +2 تا 1992-12-04 وظیفه هیئت منصفه MSG

L' یک بار کلمه کلیدی

گاهی اوقات، لازم است اطمینان حاصل شود که یادآورها فقط یک بار در یک روز مشخص اجرا می شوند. برای
به عنوان مثال، اگر یادآوری دارید که هر جمعه از فایل های شما نسخه پشتیبان تهیه می کند:

REM جمعه RUN do_backup

(اینجا، do_backup فرض می شود که یک برنامه یا اسکریپت پوسته ای است که کار را انجام می دهد.) اگر شما
اجرا یادآوری کنید برای مثال، از اسکریپت ورود به سیستم خود، و چندین بار در روز وارد شوید
do_backup هر بار که وارد شوید برنامه اجرا می شود. اما اگر از آن استفاده کنید یک بار کلمه کلیدی
در یادآوری، یادآوری کنید آخرین تاریخ دسترسی اسکریپت یادآور را بررسی می کند. اگر هست
همانند تاریخ فعلی، یادآوری کنید فرض می کند که قبلا اجرا شده است و اجرا نمی شود
یادآوری های حاوی یک بار کلمه کلیدی.

توجه داشته باشید که اگر اسکریپت یادآوری خود را مشاهده یا ویرایش کنید، آخرین تاریخ دسترسی به‌روزرسانی می‌شود.
و یک بار کلمه کلیدی به درستی عمل نمی کند. اگر شروع کنید یادآوری کنید با -o گزینه،
سپس یک بار کلمه کلیدی نادیده گرفته خواهد شد

بطور محلی حذف کردن روزهای هفته

La حذف کنید بخشی از REM دستور برای حذف کردن روزهای خاص هنگام شمارش استفاده می شود دلتا
or به عقب. با استفاده از کلمه کلیدی مشخص می شود حذف کنید به دنبال آن لیستی از روزهای هفته. آن
عمل به بهترین وجه با مثال هایی نشان داده می شود:

رویداد مهم REM 1 +1 OMIT شنبه یکشنبه MSG

این یادآوری معمولاً در اول هر ماه و همچنین در روز فعال می شود
قبل از آن با این حال، اگر اول ماه در یکشنبه یا دوشنبه باشد،
یادآوری از جمعه قبل شروع می شود. این به این دلیل است که دلتا از 1+
شنبه یا یکشنبه را زمانی که از تاریخ شروع به معکوس شمارش می کند، حساب نمی کند
تعیین کنید که چه مقدار از قبل اخطار داده شود.

این را با استفاده از "++1" در دستور بالا مقایسه کنید. در این مورد، یادآوری است
در اول هر ماه و همچنین روز قبل از آن شروع می شود. روزهای حذف شده
شمارش می شوند.

REM 1 -1 OMIT شنبه یکشنبه MSG آخرین روز کاری ماه

باز هم در مثال بالا، به عقب 1- به طور معمول باعث می شود که تاریخ ماشه برابر باشد
آخرین روز ماه با این حال، به دلیل حذف کنید بند، اگر اول ماه باشد
در یک‌شنبه یا دوشنبه قرار می‌گیرد، تاریخ ماشه به عقب از آخر هفته به عقب منتقل می‌شود
جمعه. (اگر تعطیلات را در سراسر جهان حذف کرده اید، یادآوری به گذشته منتقل می شود
آنها، همچنین برای جزئیات بیشتر به "فرمان OMIT" مراجعه کنید.)

در مقایسه، اگر از "--1" استفاده کرده بودیم، یادآوری در آخرین روز فعال می شد
ماه، صرف نظر از حذف کنید.

محاسبه شده محلی حذف می شود

La OMITFUNC عبارت از REM دستور به شما اجازه می دهد تا تابعی را که تعیین می کند ارائه کنید
آیا تاریخ حذف شده است یا خیر. تابع یک پارامتر واحد از نوع ارسال می شود تاریخ,
و اگر تاریخ «حذف شده» در نظر گرفته شود، باید یک عدد صحیح غیر صفر و در غیر این صورت 0 برگرداند.
مثالی در اینجا آورده شده است:

FSET _third(x) (روز(x) % 3) || \
(wkdaynum(x) == 0) || \
(wkdaynum(x) == 6)
REM OMITFUNC _third AFTER MSG روز کاری قابل تقسیم بر 3

در مثال بالا، یادآوری هر دوشنبه تا جمعه که روز از ماه آن است، فعال می‌شود
عدد بر سه بخش پذیر است در اینجا نحوه کار آن آمده است:

o La OMITFUNC _سوم بخش باعث تمام روزهایی که برای آن _سومین(x) غیر صفر را به
"حذف شده" در نظر گرفته شود. این باعث می شود تمام روزهایی که شماره روز از ماه آنها باشد نه a
مضرب سه حذف شود توجه داشته باشید که _third نیز غیر صفر را برمی گرداند اگر
روز هفته یکشنبه یا شنبه است.

o La بعد از کلمه کلیدی باعث می شود که یادآور پس از یک بلوک از روزهای حذف شده منتقل شود.

ترکیب کلیدواژه OMITFUNC و AFTER باعث می شود که یادآور در تمام روزها صادر شود
که عدد روز از ماه بر سه بخش پذیر است، اما نه در روز شنبه یا یکشنبه.

توجه داشته باشید که اگر استفاده می کنید OMITFUNC، سپس محلی حذف کنید is نادیده گرفته همانطور که هستند تمام جهانی حذف می شود. اگر
اگر می خواهید روزهای هفته خاصی را حذف کنید، تابع omit شما باید آنها را آزمایش کند
به طور مشخص. اگر می خواهید جهانی را در نظر بگیرید حذف کنید زمینه، سپس خود را حذف کنید
تابع باید آن را به طور صریح آزمایش کند (با استفاده از isomitted() عملکرد.)

توجه داشته باشید که یک اشتباه است OMITFUNC ممکن است باعث شود همه روزها حذف شده در نظر گرفته شوند. برای آن
دلیل، چه زمانی یادآوری کنید جستجو در روزهای حذف شده، جستجو را پس از پایان خاتمه می دهد
راضی باشید محدودیت تکرار (گزینه خط فرمان -x.)

زمان بندی شده یادآوری ها

یادآورهای زماندار آنهایی هستند که دارای یک AT کلمه کلیدی به دنبال آن a زمان و اختیاری tdelta
و دلتنگی. زمان باید در قالب 24 ساعته با 0:00 مشخص شود
نیمه شب، 12:00 به نمایندگی از ظهر، و 23:59 نشان دهنده یک دقیقه به نیمه شب. تو می توانی
از دو نقطه یا نقطه برای جدا کردن ساعت ها از دقیقه ها استفاده کنید. یعنی 13:39 و
13.39 معادل هستند.

یادآوری کنید به طور خاص با یادآورهای زمان دار رفتار می کند. اگر تاریخ آغازگر برای یادآوری زمان‌بندی‌شده است
همانند تاریخ فعلی سیستم، یادآور برای فعال سازی بعدی در صف قرار می گیرد. چه زمانی یادآوری کنید
پردازش فایل یادآوری به پایان رسیده است، خود را در پس زمینه قرار داده و فعال می شود
یادآوری های زماندار زمانی که زمان سیستم به زمان مشخص شده رسید.

اگر تاریخ ماشه است نه همانند تاریخ سیستم، یادآوری در صف قرار نمی گیرد.

به عنوان مثال، یادآوری زیر که هر روز کاری فعال می شود، پیامی را منتشر می کند
به شما می گوید ساعت 5 بعدازظهر بروید:

REM دوشنبه سه شنبه چهارشنبه پنج شنبه جمعه ساعت 17:00 MSG زمان ترک!

یادآوری زیر در روزهای پنجشنبه و جمعه فعال می شود، اما فقط در نوبت خواهد بود
در روزهای جمعه:

REM جمعه ++1 در ساعت 13:00 MSG ناهار در ساعت 1:XNUMX جمعه.

La tdelta و دلتنگی همان شکل a را دارند تکرار و دلتا، اما در مشخص شده اند
دقایق. به عنوان مثال، این یادآوری در ساعت 12:00 بعد از ظهر و همچنین 45 دقیقه فعال می شود
قبل از:

REM در ساعت 12:00 +45 MSG مثال

موارد زیر از ساعت 10:45 هر نیم ساعت یکبار تا ساعت 11:45 و مجدداً در ساعت XNUMX صادر می شود.
ظهر.

REM در 12:00 +75 *30 MSG Example2

"+75" به این معنی است که یادآوری از 75 دقیقه قبل از ظهر صادر می شود. در دیگر
کلمات، در 10:45. *30 مشخص می کند که یادآوری متعاقباً هر بار صادر می شود
30 دقیقه. توجه داشته باشید که یادآوری همیشه در زمان مشخص شده صادر می شود، حتی اگر
tdelta مضرب نیست دلتنگی. بنابراین مثال بالا در ساعت 10:45 صبح صادر می شود،
11:15 صبح، 11:45 صبح و 12:00 بعد از ظهر. توجه داشته باشید که در مشخصات زمان وجود ندارد
تمایز بین اشکال "+" و "++". tdelta.

به طور معمول، یادآوری کنید همزمان با پردازش اسکریپت یادآوری، یادآورهای زمان‌بندی شده را نیز صادر می‌کند
به عنوان آنها را در صف برای بعد. اگر تو نمی خواهی یادآوری کنید برای صدور یادآوری زمانی که
در حال پردازش اسکریپت، اما فقط برای قرار دادن آنها در صف برای بعد، از آن استفاده کنید -a گزینه خط فرمان
اگر نمی‌خواهید یادآوری‌ها برای بعداً در صف قرار گیرند، از آن استفاده کنید -q گزینه خط فرمان

به طور معمول، یادآوری کنید یک فرآیند پس‌زمینه برای رسیدگی به یادآوری‌های صف ایجاد می‌کند. اگر بخواهید
یادآوری کنید برای باقی ماندن در پیش زمینه، از -f گزینه خط فرمان این مفید است، برای
به عنوان مثال، در اسکریپت‌های xinitrc. می‌توانید از دستور استفاده کنید:

یادآوری -fa myreminders &

این تضمین می کند که وقتی از X-Windows خارج می شوید، یادآوری کنید روند کشته می شود.

هشدار درباره ما زمان بندی شده یادآوری ها

توجه: اگر از توابع یا متغیرهای تعریف شده توسط کاربر (که بعداً توضیح داده شد) در بدنه استفاده می کنید
یادآوری های زمان دار، سپس وقتی یادآوری های زمان دار فعال می شوند، متغیرها و توابع
تعاریفی را داشته باشید که در انتهای اسکریپت یادآوری وجود داشت. اینها
تعاریف ممکن است نه لزوماً آنهایی هستند که در زمان یادآوری مؤثر بودند
در صف

L' برنامه ریزی شده و هشدار دهید واژگان کلیدی

La برنامه ریزی شده کلمه کلیدی اجازه می دهد تا کنترل دقیق تری بر راه اندازی یادآورهای زمان بندی شده، و
la هشدار دهید کلمه کلیدی اجازه می دهد تا کنترل دقیقی بر پیشروی همه انواع از
یادآوری ها با این حال، بحث باید به بعد از عبارات و تعریف کاربر موکول شود
توابع توضیح داده شده است. در ادامه به بخش فرعی "زمان بندی دقیق" مراجعه کنید.

TAG و مدت زمان

La TAG کلمه کلیدی به شما امکان می دهد یادآوری های خاصی را "تگ" کنید. این تسهیلات توسط برخی از پشتیبان ها استفاده می شود
انتهای یا سیستم های ساخته شده در اطراف یادآوری کنید، از جمله TkRemind. این back-end ها خاص هستند
قوانین در مورد برچسب ها؛ برای جزئیات بیشتر به مستندات آنها مراجعه کنید.

La TAG کلمه کلیدی توسط یک برچسب متشکل از حداکثر 48 کاراکتر دنبال می شود. شما می توانید به عنوان
بسیاری از بندهای TAG به دلخواه در یک عبارت REM داده شده.

اگر شما عرضه کنید -y گزینه ای برای یادآوری کنید، سپس هر یادآوری که فاقد الف باشد TAG یکی خواهد داشت
سنتز شده است. تگ سنتز شده از کاراکترهای "__syn__" به دنبال آن تشکیل شده است
نمایش هگزادسیمال مجموع MD5 خط فرمان REM. این به شما امکان می دهد یک را بدهید
شناسه کم و بیش منحصر به فرد برای هر دستور REM مجزا.

La مدت زمان کلمه کلیدی فقط برای یادآوری به موقع معنا دارد. مدت زمان یک را مشخص می کند
رویداد. در حال حاضر، این مورد استفاده قرار نمی گیرد، اما ممکن است در آینده توسط back-end یا استفاده شود
سیستم های زمان بندی ساخته شده در اطراف یادآوری کنید. به عنوان مثال، اگر یک جلسه 90 دقیقه ای دارید
از ساعت 1:00 می توانید از موارد زیر استفاده کنید:

REM 5 مارس 1999 در ساعت 13:00 مدت زمان 1:30 جلسه MSG

توجه داشته باشید که مدت بر حسب ساعت و دقیقه مشخص می شود.

L' جایگزینی FILTER


قبل از پردازش، بدن یک REM دستور از طریق یک فیلتر جایگزین منتقل می شود.
فیلتر دنباله های "%x" را اسکن می کند (که در آن "x" هر حرف و نویسه های دیگر است)
و تعویض ها را مطابق شکل زیر انجام می دهد. (همه تاریخ ها به تاریخ راه اندازی اشاره دارد
یادآور.)

%a با "روشن" جایگزین می شود روز هفته، روز ماه سال"
به عنوان مثال، یادآوری را در نظر بگیرید:

REM 18 اکتبر 1990 +4 MSG Meeting with Bob %a.

در 16 اکتبر 1990، "ملاقات با باب در روز پنجشنبه 18 اکتبر" را چاپ کرد.
1990. "

در 17 اکتبر 1990، "دیدار با باب فردا" را چاپ کرد.

در 18 اکتبر 1990، "دیدار با باب امروز" را چاپ کرد.

%b با "in" جایگزین می شود تفاوت به وقت روز" که در آن تفاوت هست واقعی تعداد روزها
بین تاریخ فعلی و تاریخ شروع (حذف می شود هیچ تاثیری ندارند.)
برای مثال در نظر بگیرید:

REM 18 اکتبر 1990 +4 MSG Meeting with Bob %b.

در 16 اکتبر 1990، "ملاقات با باب در 2 روز دیگر" را چاپ کرد.

در 17 اکتبر 1990، "دیدار با باب فردا" را چاپ کرد.

در 18 اکتبر 1990، "دیدار با باب امروز" را چاپ کرد.

%c با "روشن" جایگزین می شود روز هفته"
مثال: REM 18 اکتبر 1990 +4 MSG Meeting with Bob %c.

در 16 اکتبر 1990، "ملاقات با باب در روز پنجشنبه" را چاپ کرد.

در 17 اکتبر 1990، "دیدار با باب فردا" را چاپ کرد.

در 18 اکتبر 1990، "دیدار با باب امروز" را چاپ کرد.

%d با " جایگزین می شودروز"، روز ماه.

%e با "روشن" جایگزین می شود dd-mm-yyy"

%f با "روشن" جایگزین می شود mm-dd-yyyy"

%g با "روشن" جایگزین می شود روز هفته، روز ماه"

%h با "روشن" جایگزین می شود dd-mm"

%i با "روشن" جایگزین می شود mm-dd"

%j با "روشن" جایگزین می شود روز هفته، ماه روز، سال"این فرم کاراکترها را اضافه می کند
"st"، "nd"، "rd" یا "th" به روز ماه، به تناسب.

%k با "روشن" جایگزین می شود روز هفته، ماه روز"

%l با "روشن" جایگزین می شود yyyy-mm-dd"

%m با " جایگزین می شودماه"، نام ماه.

%n با عدد (1 تا 12) ماه جایگزین می شود.

%o اگر و فقط در صورتی که تاریخ فعلی سیستم مشابه باشد با " (امروز)" جایگزین می شود
تاریخ استفاده شده توسط یادآوری کنید به عنوان تاریخ فعلی به یاد داشته باشید که می توانید a را مشخص کنید
تاریخ برای یادآوری کنید برای استفاده در خط فرمان این جایگزینی به طور کلی نیست
مفید در الف REM فرمان، اما در a مفید است بنجر فرمان (به "BNNER" مراجعه کنید
فرمان.")

%p با "s" جایگزین می شود اگر تفاوت بین تاریخ فعلی و تاریخ ماشه است
نه 1. می توانید از این برای ایجاد یادآورهایی مانند:
REM 1 ژانویه +4 MSG %x روز% p تا قبل از سال نو!

%q با "'s" جایگزین می شود اگر تفاوت بین تاریخ ماشه و تاریخ فعلی است
1. در غیر این صورت، با "s'" جایگزین می شود که به صورت زیر قابل استفاده است:
REM 1 ژانویه +4 MSG سال نو در %x روز%q زمان!

%r با روز ماه (01 تا 31) جایگزین شده است که با صفر جلوی if پر شده است
باید به دو رقم اضافه شود.

%s بسته به روز ماه با "st"، "nd"، "rd" یا "th" جایگزین می شود.

%t با عدد ماه (01 تا 12) جایگزین می شود که به دو رقم اضافه شده است.
صفر پیشرو

%u با "روشن" جایگزین می شود روز هفته، روز ماه سال"این شبیه به %a جز
که "st"، "nd"، "rd" یا "th" به اضافه شده است روز در صورت مناسب بودن

%v با "روشن" جایگزین می شود روز هفته، روز ماه"

%w با " جایگزین می شودروز هفته"، نام روز هفته.

%x جایگزین شده با تفاوت بین تاریخ فعلی و تاریخ شروع در تفاوت
به عنوان تعداد واقعی روزهای بین این دو تاریخ تعریف می شود. حذف می شود نیستند
شمارش کرد. (تفریق دقیق تاریخ انجام می شود.)

%y با " جایگزین می شودسال"، سال تاریخ ماشه.

%z با " جایگزین می شودyy"، دو رقم آخر سال.

%_ (درصد-خط خط) با یک خط جدید جایگزین می شود. شما می توانید از این برای رسیدن استفاده کنید
یادآوری چند خطی

%1 با "اکنون" جایگزین می شود، "m چند دقیقه دیگر، "m دقیقه پیش"، "h چند ساعت بعد"
"h ساعت پیش"، "h ساعت و m چند دقیقه بعد" یا "h ساعت و m دقایقی پیش، به عنوان
مناسب برای یادآوری به موقع توجه داشته باشید که مگر اینکه شما را مشخص کنید -a گزینه،
یادآوری‌های زمان‌دار مانند یادآوری‌های معمولی و در نتیجه یک یادآوری زمان‌دار فعال می‌شوند
که در اوایل روز رخ داده است ممکن است تحریک شود. این باعث نیاز به
"... پیش" شکل می گیرد.

%2 با "at" جایگزین می شود hh:mmam" یا "..pm" بسته به AT زمان یادآوری

%3 با "at" جایگزین می شود hh:mm"در قالب 24 ساعته.

%4 با " جایگزین می شودmm" جایی که mm تعداد دقیقه های بین "اکنون" و زمان است
مشخص شده توسط AT. اگر AT زمان زودتر از زمان فعلی است، سپس نتیجه
منفی است

%5 با " جایگزین می شودma" جایی که ma قدر مطلق عدد تولید شده توسط است %4.

%6 با "پیش" یا "از هم اکنون" جایگزین می شود، بسته به رابطه بین AT
زمان و زمان فعلی

%7 با تعداد ساعات بین جایگزین می شود AT زمان و زمان فعلی آی تی
همیشه غیر منفی است

%8 با تعداد دقیقه های بین جایگزین می شود AT زمان و زمان فعلی،
بعد از ساعت (%7) کم شده است. این عدد از 0 تا متغیر است
59.

%9 اگر مقدار تولید شده توسط "s" جایگزین شود %8 1 نیست.

%0 اگر مقدار تولید شده توسط "s" جایگزین شود %7 1 نیست.

%! اگر زمان فعلی قبل از این باشد با "is" جایگزین می شود AT زمان، یا «بود» اگر هست
پس از.

%@ مشابه است %2 اما زمان فعلی را نمایش می دهد.

%# مشابه است %3 اما زمان فعلی را نمایش می دهد.

%" (percent-doublequote - ") حذف شده است. این دنباله توسط
فیلتر جایگزین، اما برای گفتن استفاده می شود یادآوری کنید کدام متن در تقویم گنجانده شود
ورود زمانی که -c, -s or -p گزینه انتخاب شده است. به "حالت تقویم" مراجعه کنید

یادداشت:

o یادآوری کنید معمولاً پس از هر یادآوری یک خط خالی چاپ می کند. اگر آخرین شخصیت از
بدنه "%" است، خط خالی چاپ نخواهد شد.

o جایگزین های a، b، c، e، f، g، h، i، j، k، l، u و v همه با
اگر تاریخ فعلی برابر با تاریخ راه‌اندازی باشد، «امروز» یا اگر ماشه «فردا» باشد
تاریخ یک روز پس از تاریخ فعلی است. بنابراین، آنها هستند نه همان
جایگزین‌هایی که از دنباله‌های ساده‌تر %w، %y و غیره ساخته شده‌اند.

o هر یک از تعویض های مربوط به زمان (0 تا 9 و '!') نامشخص تولید می کند
در صورت استفاده در یادآوری که دارای علامت نیست، نتیجه می دهد AT کلمه کلیدی. همچنین اگر الف
یادآوری الف دارد دلتا و ممکن است در چند روز، تعویض های زمانی فعال شود
تاریخ را نادیده بگیرید بنابراین %1 تعویض ممکن است گزارش دهد که یک جلسه در 15 است
به عنوان مثال، دقیقه، حتی اگر فقط در 2 روز باشد، زیرا a دلتا
یادآوری را فعال کرده است. توصیه می شود از جایگزین های زمانی استفاده کنید
فقط در یادآورهای زماندار با شماره دلتا که به گونه ای طراحی شده اند که برای زمان بندی در صف قرار گیرند
فعال سازی

o می توان از حروف بزرگ در دنباله جایگزینی استفاده کرد که در این صورت حرف اول
کاراکتر رشته جایگزین شده با حروف بزرگ نوشته می شود (اگر معمولاً حروف کوچک باشد
حرف.)

o تمام کاراکترهای دیگر که علامت "%" را دنبال می کنند، به سادگی کپی می شوند. به طور خاص، برای به دست آوردن
یک خروجی "%"، از "%%" در بدنه استفاده کنید. برای شروع بدنه یک یادآور با یک
فاصله، از "% " استفاده کنید، زیرا یادآوری کنید به طور معمول اولین کاراکتر غیرفضایی را اسکن می کند
بعد از یک MSG، CAL or RUN نشانه

L' حذف کنید COMMAND


علاوه بر اینکه یک کلمه کلیدی در REM فرمان ، حذف کنید یک فرمان در نوع خود است.
نحو آن این است:

حذف کنید روز ماه [سال]

و یا:

حذف کنید day1 ماه 1 year1 از طریق day2 ماه 2 year2

La حذف کنید از دستور برای حذف برخی روزهای خاص (معمولاً تعطیلات) "به صورت جهانی" استفاده می شود. اینها
روزهای حذف شده سراسری با اشکال "-" و "+" حذف می شوند به عقب و دلتا. برخی از
مثال ها:

حذف 1 ژانویه
OMIT 7 سپتامبر 1992

مثال اول تعطیلاتی را مشخص می کند که هر سال در همان تاریخ رخ می دهد - سال نو
روز مثال دوم تعطیلاتی را مشخص می کند که هر سال تغییر می کند - روز کارگر. برای
این نوع از تعطیلات، شما باید ایجاد کنید حذف کنید فرمان برای هر سال (بعداً در
شرح عبارات و برخی از ویژگی های پیشرفته تر یادآوری کنید، خواهید دید
چگونه می توان این را برای برخی موارد خودکار کرد.)

همانند دستور REM، می توانید از مشخص کننده های مختصر برای تاریخ ها استفاده کنید. موارد زیر هستند
معادل:

OMIT 7 سپتامبر 1992
OMIT 1992-09-07

برای راحتی، می توانید از یک استفاده کنید دلتا و MSG or RUN کلمه کلیدی در حذف کنید فرمان دادن
دنباله های زیر معادل هستند:

حذف 1 ژانویه
REM 1 ژانویه +4 MSG روز سال نو %b است!

و

OMIT 1 ژانویه +4 MSG روز سال نو %b است!

La از طریق کلمه کلیدی به شما این امکان را می دهد که به راحتی محدوده ای از روزها را حذف کنید. شروع و پایان
نقاط باید به طور کامل مشخص شوند (یعنی باید شامل روز، ماه و سال باشند). مثلا،
دنباله های زیر معادل هستند:

OMIT 3 ژانویه 2011
OMIT 4 ژانویه 2011
OMIT 5 ژانویه 2011

و

OMIT 3 ژانویه 2011 تا 5 ژانویه 2011

شما می توانید از طریق حذف کنید انجام وظیفه مضاعف به عنوان یک REM فرمان:

OMIT 6 سپتامبر 2010 تا 10 سپتامبر 2010 تعطیلات MSG

می توانید OMIT های جهانی خود را با دستور زیر اشکال زدایی کنید:

حذف زباله

دستور OMIT DUMP حذف های جهانی فعلی را در خروجی استاندارد چاپ می کند.

L' قبل از، بعد از و برو واژگان کلیدی

به طور معمول، روزهایی که حذف می شوند، چه توسط یک جهانی حذف کنید فرمان یا محلی حذف کنید or
OMITFUNC کلمات کلیدی در الف REM بیانیه، فقط بر شمارش - تأثیر می گذارد -به عقب یا +دلتا.
برای مثال، فرض کنید هر چهارشنبه یک جلسه دارید. همچنین فرض کنید که شما دارید
11 نوامبر به عنوان تعطیلات مشخص شده است:

OMIT 11 نوامبر +4 روز یادبود MSG
جلسه REM Wed +1 MSG Code %b.

سکانس فوق تذکری در مورد جلسه 11 آبان 1992 صادر می کند که الف
چهار شنبه. این احتمالا نادرست است. سه گزینه وجود دارد:

قبل از این کلمه کلیدی یادآوری را به قبل از هر روز حذف شده منتقل می کند. بنابراین، در بالا
به عنوان مثال، استفاده از قبل از باعث می شود یادآوری جلسه در روز سه شنبه فعال شود،
10 نوامبر 1992.

بعد از این کلمه کلیدی یادآوری را پس از هر روز حذف شده منتقل می کند. در مثال بالا،
یادآوری جلسه در روز پنجشنبه 12 نوامبر 1992 فعال می شود.

برو این کلمه کلیدی باعث می شود که یادآوری در روزهای حذف شده به طور کامل حذف شود.
بنابراین، در مثال بالا، یادآوری در 11 نوامبر فعال نمی شود
1992. با این حال، طبق معمول در چهارشنبه بعد، 18 فعال می شود
نوامبر 1992.

La قبل از و بعد از کلیدواژه ها تاریخ شروع یک یادآوری را به قبل یا بعد از a منتقل می کنند
بلوک روزهای حذف شده، به ترتیب. فرض کنید به طور معمول در روز اول یک نسخه پشتیبان اجرا می کنید
ماه با این حال، اگر روز اول ماه آخر هفته یا تعطیل است، شما آن را اجرا می کنید
پشتیبان گیری در اولین روز کاری پس از تعطیلات آخر هفته یا تعطیلات. می توانید استفاده کنید:

REM 1 OMIT شنبه یکشنبه پس از اجرای do_backup

بیایید بررسی کنیم که تاریخ آغازگر چگونه محاسبه می شود. را 1 روز اول را مشخص می کند
ماه محلی حذف کنید کلیدواژه باعث می شود بعد از کلمه کلیدی برای انتقال یادآوری به جلو
آخر هفته ها در نهایت، بعد از کلمه کلیدی تا زمانی که یادآوری نشده باشد، به حرکت خود ادامه می دهد
هر تعطیلات مشخص شده با جهانی را گذراند حذف کنید دستورات

L' عبارتند از COMMAND


یادآوری کنید به شما امکان می دهد فایل های دیگری را مانند C در اسکریپت یادآوری خود بگنجانید
پیش پردازشگر #دایرکتیو. به عنوان مثال، مدیر سیستم شما ممکن است یک
فایل تعطیلات یا یادآوری های سراسر سیستم. می توانید این موارد را در اسکریپت یادآوری خود بگنجانید
به شرح زیر است:

شامل /usr/share/remind/holidays
شامل /usr/share/remind/reminders

(نام مسیرهای واقعی از سیستمی به سیستم دیگر متفاوت است - از مدیر سیستم خود بپرسید.)

عبارتند از فایل ها را می توان تا عمق 8 تو در تو قرار داد.

اگر نام فایل "-" را در عبارتند از فرمان ، یادآوری کنید شروع به خواندن از
ورودی استاندارد

اگر الف را مشخص کنید فهرست راهنما به عنوان استدلال به عبارتند از، و سپس یادآوری کنید تمام فایل ها را پردازش می کند
در آن دایرکتوری که با الگوی پوسته "*.rem" مطابقت دارد. فایل ها به صورت مرتب شده پردازش می شوند
سفارش؛ ترتیب مرتب سازی با آنچه که پوسته در هنگام گسترش "*.rem" استفاده می کند، مطابقت دارد.

L' RUN COMMAND


اگر فایل های دیگری را در اسکریپت یادآوری خود قرار دهید، ممکن است همیشه به طور کامل به آن اعتماد نکنید
محتویات سایر فایل ها به عنوان مثال، آنها ممکن است حاوی RUNنوع یادآوری که می تواند
برای دسترسی به فایل های خود یا انجام اقدامات ناخواسته استفاده شود. در RUN فرمان می تواند محدود کند
این: اگر دستور را وارد کنید RUN OFF در اسکریپت یادآوری سطح بالای شما، هر یادآوری
یا عبارتی که به طور معمول یک فرمان سیستم را اجرا می کند غیرفعال است. RUN ON دوباره-
اجرای دستورات سیستم را فعال کنید. توجه داشته باشید که RUN ON فرمان می تواند فقط در استفاده شود
اسکریپت یادآور سطح بالای شما. خواهد شد نه کار در هر فایلی که توسط عبارتند از
فرمان این برای محافظت از شما در برابر کسی است که a RUN ON فرمان در یک گنجانده شده است
فایل. با این حال RUN OFF دستور را می توان در سطح بالا یا در یک فایل همراه استفاده کرد.

اگر اجرا کنی یادآوری کنید با -r گزینه خط فرمان، RUNنوع یادآوری و پوسته()
عملکرد بدون در نظر گرفتن هر کدام غیرفعال خواهد شد RUN دستورات در اسکریپت یادآوری
با این حال، هر دستور ارائه شده با -k گزینه همچنان اجرا خواهد شد.

یکی از استفاده از RUN دستور ارائه یک رابط امن بین یادآوری کنید و نارون قرمز
سیستم پستی در نارون قرمز سیستم می تواند به طور خودکار نامه های دریافتی را برای یادآوری یا تقویم اسکن کند
ورودی ها، و آنها را در فایل تقویم خود قرار دهید. برای استفاده از این ویژگی، باید تنظیم کنید
گزینه نام فایل تقویم در زیر نارون قرمز چیزی شبیه "~/.reminders.in", نه اصلی شما
فایل یادآوری! این طوری است که هر RUN ON دستورات ارسال شده برای شما هرگز نمی توانند فعال شوند.

سپس، می توانید از نارون قرمز اسکن پیام برای تقویم نوشته های دستور برای قرار دادن یادآورها
پیشگفتار "->" به .reminders.in. در فایل .reminders اصلی خود موارد زیر را قرار دهید
خطوط:

RUN OFF # RUN را غیرفعال کنید
شامل .reminders.in
RUN ON # RUN را دوباره فعال کنید

علاوه بر این، یادآوری کنید شامل چند ویژگی امنیتی دیگر است. این فایل را نمی خواند که
گروهی یا جهانی قابل نوشتن است. set-uid اجرا نخواهد شد. اگر فایلی را می خواند که شما مالک آن نیستید،
RUN و تابع shell() را غیرفعال می کند. و اگر به صورت اجرا شود ریشه، فقط خوانده می شود
فایل های متعلق به ریشه.

L' بنجر COMMAND


چه زمانی یادآوری کنید ابتدا یک یادآوری صادر می کند، پیامی مانند این را چاپ می کند:

یادآوری جمعه 30 مهر 1992 (امروز):

(در صورت استفاده از هر یک از گزینه های تولید تقویم، یا اگر از آن استفاده شود، بنر چاپ نمی شود -k
گزینه استفاده می شود.)

La بنجر دستور به شما امکان می دهد قالب را تغییر دهید. باید قبل از هر کدام ظاهر شود REM دستورات
قالب این است:

بنجر قالب

La قالب شبیه به بدن از REM فرمان از طریق جایگزینی منتقل می شود
فیلتر، با یک ماشه ضمنی از تاریخ فعلی سیستم. بنابراین، بنر پیش فرض است
معادل:

یادآوری‌های BANNER برای %w، %d%s %m، %y%o:

با BANNER % می توانید بنر را به طور کامل غیرفعال کنید. یا می توانید یک بنر سفارشی ایجاد کنید:

BANNER سلام - اینها یادآورهای شما برای %y-%t-%r هستند:

کنترل L' حذف کنید متن نوشته


گاهی اوقات، لازم است که به طور موقت جهانی را تغییر دهید حذف می شود که برای الف
چند یادآوری سه دستور به شما اجازه انجام این کار را می دهد:

PUSH-OMIT-CONTEXT
این دستور جهانی فعلی را ذخیره می کند حذف می شود روی یک پشته داخلی

CLEAR-OMIT-CONTEXT
این دستور همه موارد جهانی را پاک می کند حذف می شود، شما را با "صفحه تمیز" شروع می کند.

POP-OMIT-CONTEXT
این دستور سراسری را بازیابی می کند حذف می شود که توسط جدیدترین ذخیره شده است فشار دادن-
OMIT-CONTEXT.

به عنوان مثال، فرض کنید بلوکی از یادآورها دارید که نیاز به شفاف دارند حذف کنید زمینه، و
که جهانی ناخواسته را هم معرفی می کنند حذف می شود که می تواند با یادآوری های بعدی تداخل داشته باشد.
می توانید از قطعه زیر استفاده کنید:

PUSH-OMIT-CONTEXT # زمینه فعلی را ذخیره کنید
CLEAR-OMIT-CONTEXT # تخته سنگ را تمیز کنید
# بلوک یادآوری به اینجا می رود
POP-OMIT-CONTEXT # زمینه حذف ذخیره شده را بازیابی کنید

اصطلاحات


در زمینه های خاص، که بعدا توضیح داده خواهد شد، یادآوری کنید عبارات را برای ارزیابی می پذیرد.
یادآوری کنید عبارات شبیه عبارات C هستند، اما بر روی انواع مختلفی از اشیاء عمل می کنند.

داده ها انواع

یادآوری کنید عبارات بر روی پنج نوع شی کار می کنند:

INT La INT نوع داده شامل اعداد صحیح قابل نمایش در یک کلمه ماشین است. در
INT نوع داده مربوط به نوع C "int" است.

STRING La STRING نوع داده شامل رشته هایی از کاراکترها است. تا حدودی قابل مقایسه است
به یک آرایه کاراکتر C، اما بیشتر شبیه نوع رشته در BASIC است.

TIME La TIME نوع داده شامل ساعاتی از روز است. را TIME نوع داده داخلی است
ذخیره شده به عنوان یک عدد صحیح نشان دهنده تعداد دقیقه از نیمه شب.

تاریخ La تاریخ نوع داده متشکل از تاریخ ها (بعد از 1 ژانویه 1990) است. تاریخ
اشیاء به عنوان تعداد روزهای از 1 ژانویه 1990 ذخیره می شوند.

زمان قرار
La زمان قرار نوع داده از تاریخ و زمان با هم تشکیل شده است. در داخل، زمان قرار
اشیاء به تعداد دقیقه از نیمه شب 1 ژانویه 1990 ذخیره می شوند
می تواند فکر کند زمان قرار شی به عنوان ترکیبی از تاریخ و TIME بخش است.

ثابت ها

مثال‌های زیر ثابت‌های موجود را نشان می‌دهند یادآوری کنید اصطلاحات:

INT ثابت
12، 36، -10، 0، 1209

STRING ثابت
"سلام وجود دارد"، "این یک آزمایش است"، "\n\gosd\w"، ""

توجه داشته باشید که رشته خالی با "" نمایش داده می شود، و در یک رشته به صورت بک اسلش می شود
هستند نه به طور خاص تفسیر می شود، همانطور که در C آمده است.

TIME ثابت
12:33، 0:01، 14:15، 16:42، 12.16، 13.00، 1.11

توجه داشته باشید که TIME ثابت ها در قالب 24 ساعته نوشته می شوند. یا پریود یا کولون
می توان برای تفکیک دقیقه از ساعت استفاده کرد. با این حال، یادآوری خواهد کرد
به طور مداوم زمان‌های خروجی را تنها با استفاده از یک کاراکتر جداکننده تولید کنید. (خروجی
کاراکتر جداکننده در زمان کامپایل انتخاب می شود.)

تاریخ ثابت
تاریخ ثابت ها به صورت 'yyyy/mm/dd' یا 'yyyy-mm-dd' بیان می شوند و نقل قول های منفرد
باید عرضه شود. این ثابت تاریخ را از تقسیم یا تفریق متمایز می کند
از اعداد صحیح مثال ها:

´1993/02/22', '1992-12-25', '1999/01/01'

توجه داشته باشید که تاریخ ارزشها هستند چاپ شده بدون نقل قول اگرچه "-" یا "/"
به عنوان جداکننده تاریخ در ورودی پذیرفته می شود، زمانی که تاریخ ها چاپ می شوند، تنها یکی خواهد بود
استفاده شده. انتخاب استفاده از '-' یا '/' در زمان کامپایل انجام می شود. همچنین توجه داشته باشید
که نسخه های یادآوری کنید قبل از 03.00.01 از ثابت تاریخ پشتیبانی نمی کرد. در آن ها
نسخه ها، شما باید تاریخ ها را با استفاده از تاریخ() عملکرد. همچنین، نسخه های قبل از
03.00.02 از جداکننده تاریخ "-" پشتیبانی نمی کند.

زمان قرار ثابت
زمان قرار ثابت ها به طور مشابه بیان می شوند تاریخ ثابت با اضافه کردن
یک قسمت "@HH:MM". مثلا:

´2008-04-05@23:11', '1999/02/03@14:06', '2001-04-07@08:30'

زمان قرار مقادیر بدون نقل قول چاپ می شوند. نکاتی در مورد تاریخ و زمان
شخصیت های جداکننده برای تاریخ و TIME ثابت ها نیز اعمال می شوند زمان قرار ثابت ها

اپراتورها

یادآوری کنید دارای عملگرهای زیر است. اپراتورهای روی یک خط دارای اولویت یکسان هستند،
در حالی که اپراتورهای خطوط پایین تر از اپراتورهای خطوط بالاتر اولویت کمتری دارند. در
عملگرها تقریباً با عملگرهای C مطابقت دارند.

! - (نفی منطقی واحد و نفی حسابی)
* /٪
+ -
<<=>> =
==! =
&&
||

شرح OF اپراتورها

! نفی منطقی قابل اعمال به یک INT نوع اگر عملوند غیر صفر باشد،
صفر را برمی گرداند. در غیر این صورت، 1 را برمی گرداند.

- منهای یکنواختی قابل اعمال به یک INT. منفی عملوند را برمی گرداند.

* ضرب. حاصل ضرب دو را برمی‌گرداند INTs.

/ تقسیم عدد صحیح ضریب دو را برمی‌گرداند INTs، باقیمانده را دور بریزید.

% مدول. پس از تقسیم یک، باقیمانده را برمی‌گرداند INT توسط دیگری

+ کاربردهای متعددی دارد. اینها هستند:

INT + INT - مجموع دو را برمی گرداند INTs.

INT + TIME or TIME + INT - برمی‌گرداند a TIME با افزودن به دست می آید INT دقیقه به
اصلی TIME.

INT + تاریخ or تاریخ + INT - برمی‌گرداند a تاریخ با افزودن به دست می آید INT روز به
اصلی تاریخ.

INT + زمان قرار or زمان قرار + INT - برمی‌گرداند a زمان قرار با افزودن به دست می آید INT
چند دقیقه مانده به نسخه اصلی زمان قرار.

STRING + STRING - برمی‌گرداند a STRING که الحاق دو اصل است
STRINGs.

STRING + هر چیزی یا هر چیزی + STRING - تبدیل غیرSTRING استدلال به الف
STRING، و سپس الحاق را انجام می دهد. را ببینید اجبار() تابع.

- کاربردهای متعددی دارد. اینها هستند:

INT - INT - اختلاف دو را برمی گرداند INTs.

تاریخ - تاریخ - برمی گرداند (به عنوان یک INT) تفاوت روز بین دو تاریخs.

TIME - TIME - برمی گرداند (به عنوان یک INT) تفاوت در دقیقه بین دو TIMEs.

زمان قرار - زمان قرار - برمی گرداند (به عنوان یک INT) تفاوت در دقیقه بین دو
زمان قرارs.

تاریخ - INT - برمی‌گرداند a تاریخ است که INT چند روز زودتر از نسخه اصلی تاریخ.

TIME - INT - برمی‌گرداند a TIME است که INT چند دقیقه زودتر از نسخه اصلی TIME.

زمان قرار - INT - برمی‌گرداند a زمان قرار است که INT چند دقیقه زودتر از نسخه اصلی
زمان قرار.

<, <=، >, و >=
اینها عملگرهای مقایسه هستند. آنها می توانند عملوندهای هر نوع را بگیرند، اما هر دو
عملوندها باید از یک نوع باشند. عملگرهای مقایسه در صورتی که
مقایسه درست است یا 0 اگر نادرست باشد. توجه داشته باشید که مقایسه رشته ها انجام شده است
پیروی از ترتیب واژگانی کاراکترها در سیستم شما، و آن بالا و
حروف هستند برای این اپراتورها متمایز است.

==، != == برابری را آزمایش می کند، در صورتی که عملوندهای آن برابر باشند 1 و اگر مساوی باشند 0 را برمی گرداند
نه != تست های نابرابری.

اگر عملوندها از یک نوع نباشند، == 0 و != 1 را برمی گرداند.
مقایسه رشته ها به حروف کوچک و بزرگ حساس هستند.

&& این عملگر منطقی AND است. هر دو عملوند آن باید از نوع باشند INT. آن
اگر هر دو عملوند غیر صفر باشند 1 و در غیر این صورت 0 را برمی گرداند.

|| این عملگر منطقی OR است. هر دو عملوند آن باید از نوع باشند INT. آن
اگر هر یک از عملوندها غیر صفر باشد 1 و در غیر این صورت 0 را برمی گرداند.

NOTES

اپراتورهای دارای اولویت برابر هستند همیشه از چپ به راست ارزیابی می شود، به جز جایی
پرانتز خلاف این را دیکته می کند. این مهم است، زیرا عملگر "+" بهبود یافته است
لزوماً انجمنی نیست. مثلا:

1 + 2 + "string" + 3 + 4 "3string34" را می دهد
1 + (2 + "رشته") + (3 + 4) "12string7" را ایجاد می کند
12:59 + 1 + "test" به "13:00 test" می رسد
12:59 + (1 + "تست") "12:591 تست" را نشان می دهد

عملگرهای منطقی هستند نه به اصطلاح اپراتورهای اتصال کوتاه، همانطور که در C هستند
عملوندها همیشه ارزیابی می شوند. بنابراین، عبارتی مانند:

(f!=0) && (100/f <= 3)

اگر f صفر باشد خطا ایجاد می کند.

متغیرها

یادآوری کنید به شما اجازه می دهد تا مقادیری را به متغیرها اختصاص دهید. در مجموعه دستور به صورت زیر استفاده می شود:

مجموعه VAR صادرات

هر نام یک متغیر است. باید با یک حرف یا خط زیر شروع شود و شامل آن باشد
فقط از حروف، اعداد و زیرخط. فقط 12 کاراکتر اول نام متغیر
قابل توجه هستند. نام متغیرها هستند نه حساس به حروف کوچک و بزرگ؛ بنابراین، "Afoo" و "afOo" هستند
همان متغیر مثال ها:

تنظیم 10 + (9*8)
تنظیم b "این یک آزمایش است"
تنظیم mydir getenv ("HOME")
ساعت تنظیم 12:15
تنظیم تاریخ امروز()

توجه داشته باشید که متغیرها خود نوع ندارند. آنها نوع هر چیزی را که شما ذخیره می کنید به عهده می گیرند
در آنها.

برای حذف یک متغیر، از بازنشانی فرمان:

بازنشانی VAR [VAR...]

به عنوان مثال، برای حذف تمام متغیرهای اعلام شده در بالا، از:

UNSET ab mydir time date

SYSTEM متغیرها

علاوه بر متغیرهای کاربر معمولی، یادآوری کنید دارای چندین "متغیر سیستم" است که هستند
برای پرس و جو یا کنترل وضعیت عملیاتی استفاده می شود یادآوری کنید. متغیرهای سیستم در دسترس هستند
شروع از نسخه 03.00.07 از یادآوری کنید.

همه متغیرهای سیستم با علامت دلار "$" شروع می شوند. می توان از آنها استفاده کرد مجموعه دستورات و
عبارات همان طور که متغیرهای منظم می توانند. همه متغیرهای سیستم همیشه مقادیر a را نگه می دارند
نوع مشخص شده علاوه بر این، برخی از متغیرهای سیستم را نمی توان تغییر داد و شما نمی توانید
ایجاد متغیرهای جدید سیستم متغیرهای سیستم را می توان در خط فرمان با
la -i گزینه، اما ممکن است لازم باشد آنها را نقل قول کنید تا از تفسیر پوسته اجتناب کنید
علامت دلار. نام متغیرهای سیستم به حروف بزرگ و کوچک حساس نیستند.

متغیرهای سیستم زیر تعریف شده است. مواردی که "فقط خواندنی" علامت گذاری شده اند را نمی توان تغییر داد
با مجموعه فرمان همه متغیرهای سیستم دارای مقادیر از نوع هستند INT، مگر اینکه غیر از این باشد
مشخص شده.

$CalcUTC
اگر 1 (پیش فرض)، پس یادآوری کنید از توابع کتابخانه C برای محاسبه تعداد استفاده می کند
دقیقه بین زمان محلی و جهانی هماهنگ شده است. این روی نجوم تاثیر می گذارد
محاسبات (طلوع خورشید() برای مثال.) اگر 0 باشد، باید تعداد آن را وارد کنید
دقیقه بین زمان محلی و جهانی هماهنگ در $MinsFromUTC سیستم
متغیر.

$CalMode (فقط خواندنی)
اگر غیر صفر است، پس -c گزینه در خط فرمان ارائه شد.

$Daemon (فقط خواندنی)
اگر حالت دیمون -z فراخوانی شد، حاوی تعداد دقیقه بین بیداری ها است.
اگر در حالت دیمون اجرا نمی شود، حاوی 0 است.

$DateSep
این متغیر را فقط می توان روی "/" یا "-" تنظیم کرد. این شخصیت را حفظ می کند
بخش های جدا از تاریخ زمانی که یادآوری کنید مقدار DATE یا DATETIME را چاپ می کند.

$DefaultPrio
اولویت پیش‌فرض اختصاص داده شده به یادآوری‌ها بدون a اولویت عبارت. می توانید تنظیم کنید
این به عنوان مورد نیاز برای تنظیم اولویت های بلوک های یادآوری بدون نیاز به
اولویت ها را برای یادآوری های فردی تایپ کنید. در راه اندازی، $DefaultPrio روی 5000 تنظیم شده است.
می تواند از 0 تا 9999 متغیر باشد.

$ DontFork (فقط خواندنی)
اگر غیر صفر است، پس -c گزینه در خط فرمان ارائه شد.

$DontTrigAts (فقط خواندنی)
تعداد دفعاتی که -a گزینه در خط فرمان ارائه شد.

$DontQueue (فقط خواندنی)
اگر غیر صفر است، پس -q گزینه در خط فرمان ارائه شد.

$EndSent (STRING نوع)
حاوی لیستی از کاراکترهایی است که یک جمله را پایان می دهند. در MSF کلمه کلیدی دو را درج می کند
فاصله های بعد از این شخصیت ها در ابتدا، $EndSent روی ".!?" تنظیم شده است. (عادت زنانه،
علامت تعجب و علامت سوال.)

$EndSentIg (STRING نوع)
حاوی لیستی از کاراکترهایی است که باید در زمان نادیده گرفتن آنها MSF تصمیم می گیرد که یا
بعد از جمله دو فاصله قرار ندهیم. در ابتدا روی "'>)]}"+ تنظیم شده استCHAR(34)
(تک نقل قول، بزرگتر از، پرانتز سمت راست، براکت راست، پرانتز راست، و
دو نقل قول.)

به عنوان مثال، مقادیر پیش فرض به صورت زیر عمل می کنند:

MSF او گفت: "هه! (دو فاصله به دنبال آن خواهد آمد.)" بله.

زیرا پرانتز و نقل قول نهایی نادیده گرفته می شوند (به منظور فاصله گذاری)
زمانی که آنها یک دوره را دنبال می کنند.

$FirstIndent
تعداد فاصله هایی که با آن خط اول a تورفتگی می شود MSFیادآوری نوع در
پیش فرض 0 است.

$FoldYear
توابع استاندارد کتابخانه یونیکس ممکن است بعداً با تاریخ ها مشکل داشته باشند
از 2037. اگر این متغیر روی 1 تنظیم شود، محاسبات UTC "باز می شود"
سالها بعد از 2037 قبل از استفاده از توابع کتابخانه یونیکس. به عنوان مثال، به
دریابید که آیا ساعت تابستانی در ژوئن 2077 در سال جاری است یا خیر
به سال 2010 بازگشته است، زیرا هر دو سال از دوشنبه شروع می شوند و هر دو غیر
سالهای کبیسه. بنابراین، قوانین مربوط به ساعت تابستانی یکسان فرض می شود
برای هر دو سال، و توابع کتابخانه یونیکس می تواند 2010 را اداره کند. به طور پیش فرض، این
متغیر 0 است. اگر عملکردهای خورشید یا UTC برای سالها بیشتر بد رفتار می کنند، آن را روی 1 تنظیم کنید.
از 2037

$FormWidth
حداکثر عرض هر خط متن برای قالب بندی MSFیادآوری نوع در
پیش فرض 72 است. اگر یک MSFیادآوری نوع حاوی کلمه‌ای است که خیلی طولانی است که در آن جا نمی‌شود
عرض، کوتاه نمی شود - محدودیت عرض نادیده گرفته می شود.

$HushMode (فقط خواندنی)
اگر غیر صفر است، پس -h گزینه در خط فرمان ارائه شد.

$IgnoreOnce (فقط خواندنی)
اگر غیر صفر است، پس -o گزینه در خط فرمان یا یک تاریخ ارائه شد
متفاوت از تاریخ واقعی امروز عرضه شد. اگر غیر صفر است، پس یک بار دستورات
نادیده گرفته خواهد شد

$InfDelta (فقط خواندنی)
اگر غیر صفر است، پس -t گزینه در خط فرمان ارائه شد.

$LatDeg، $LatMin، $LatSec
اینها عرض جغرافیایی مکان شما را مشخص می کنند. $LatDeg می تواند از 90- تا 90 متغیر باشد و
بقیه از 59- تا 59. عرض های جغرافیایی شمالی مثبت هستند. جنوبی ها هستند
منفی. برای عرض های جغرافیایی جنوبی، هر سه مولفه باید منفی باشند.

$Location (STRING نوع)
این رشته ای است که نام مکان شما را مشخص می کند. معمولاً نام آن است
شهر یا شهر شما می توان آن را روی هر چیزی که دوست دارید تنظیم کرد، اما سبک خوب نشان می دهد
که باید با متغیرهای سیستم طول و عرض جغرافیایی سازگار باشد.

$LongDeg، $LongMin، $LongSec
اینها طول جغرافیایی موقعیت مکانی شما را مشخص می کنند. $LongDeg می تواند از 180- تا 180 متغیر باشد.
طول جغرافیایی غربی مثبت است. شرقی ها منفی هستند. توجه داشته باشید که هر سه
اجزاء باید علامت یکسانی داشته باشند: همه مثبت برای طول جغرافیایی غربی و همه
منفی برای طول های شرقی

اطلاعات طول و عرض جغرافیایی برای توابع مورد نیاز است طلوع خورشید() و
غروب (). مقادیر پیش فرض را می توان در آنها کامپایل کرد یادآوری کنید، یا شما می توانید مجموعه درست
مقادیر در ابتدای اسکریپت های یادآوری شما.

$MaxSatIter
حداکثر تعداد تکرار برای راضی باشید بند (در ادامه توضیح داده شد.) باید باشد
حداقل 10.

$MinsFromUTC
تعداد دقیقه بین زمان جهانی هماهنگ و زمان محلی. اگر
$CalcUTC غیر صفر است، این در هنگام راه اندازی محاسبه می شود یادآوری کنید. در غیر این صورت، شما
باید آن را به صراحت تنظیم کرد. اگر $CalcUTC پس صفر است $MinsFromUTC در استفاده می شود
محاسبات نجومی باید خودتان آن را برای ساعات تابستانی تنظیم کنید.
همچنین، اگر می خواهید مقداردهی اولیه کنید $MinsFromUTC با استفاده از -i گزینه خط فرمان، شما
نیز باید تنظیم شود $CalcUTC به 0 با -i گزینه.

$NextMode (فقط خواندنی)
اگر غیر صفر است، پس -n گزینه در خط فرمان ارائه شد.

$NumQueued (فقط خواندنی)
شامل تعداد یادآورهایی است که تا به حال برای راه‌اندازی در پس‌زمینه در صف قرار گرفته‌اند.

$NumTrig (فقط خواندنی)
شامل تعداد یادآورهای فعال شده برای تاریخ فعلی است. یک استفاده برای این
متغیر به شرح زیر است: فرض کنید می خواهید در کادر یک PostScript سایه بزنید
هر زمان که یک تعطیلات آغاز شود، تقویم. شما می توانید ارزش آن را ذخیره کنید $NumTrig in
یک متغیر معمولی قبل از اجرای بلوک یادآور تعطیلات. اگر ارزش
of $NumTrig حداقل بعد از اینکه بلوک تعطیلات از مقدار ذخیره شده بیشتر شد
یک تعطیلات راه اندازی شد و می توانید دستور shade را در تقویم اجرا کنید
جعبه (به بخش "حالت تقویم" مراجعه کنید.)

توجه داشته باشید که $NumTrig تحت تاثیر قرار گرفته است فقط by REM دستورات؛ باعث می شود IFTRIG دستورات انجام می دهند
روی آن تأثیر نگذارد.

$PrefixLineNo (فقط خواندنی)
اگر غیر صفر است، پس -l گزینه در خط فرمان ارائه شد.

$PSCal (فقط خواندنی)
اگر غیر صفر است، پس -p گزینه در خط فرمان ارائه شد.

$RunOff (فقط خواندنی)
اگر غیر صفر باشد، RUN بخشنامه ها غیرفعال هستند

$SimpleCal (فقط خواندنی)
مقدار غیر صفر را اگر تنظیم کنید هر دو از -p or -s گزینه های خط فرمان بود
تهیه شده

$SortByDate (فقط خواندنی)
اگر خیر روی 0 تنظیم کنید -g از گزینه 1 برای مرتب سازی بر اساس تاریخ به ترتیب صعودی یا 2 اگر استفاده می شود
مرتب سازی بر اساس تاریخ به ترتیب نزولی

$SortByPrio (فقط خواندنی)
اگر خیر روی 0 تنظیم کنید -g از گزینه 1 در صورت مرتب سازی بر اساس اولویت به ترتیب صعودی یا 2 استفاده می شود
در صورت مرتب سازی بر اساس اولویت به ترتیب نزولی.

$SortByTime (فقط خواندنی)
اگر خیر روی 0 تنظیم کنید -g از گزینه 1 برای مرتب سازی بر اساس زمان به ترتیب صعودی یا 2 اگر استفاده می شود
مرتب سازی بر اساس زمان به ترتیب نزولی

$SubsIndent
تعداد فاصله هایی که تمام خطوط (به جز اولین) از an MSFیادآوری نوع
باید تورفتگی داشته باشد. پیش فرض 0 است.

$T (فقط خواندنی، تاریخ نوع)
دقیقا معادل trigdate(). (به توابع داخلی مراجعه کنید.)

$ Td (فقط خواندنی)
معادل با روز (روز سه شنبه ()).

$ Tm (فقط خواندنی)
معادل با monnum(trigdate()).

دو دلار (فقط خواندنی)
معادل با wkdaynum(trigdate()).

$Ty (فقط خواندنی)
معادل با سال (تاریخ سه گانه ()).

$TimeSep
این متغیر را فقط می توان روی ":" یا "." تنظیم کرد. این شخصیت را حفظ می کند
بخش های جداگانه زمانی که یادآوری کنید مقدار TIME یا DATETIME را چاپ می کند.

$UntimedFirst (فقط خواندنی)
در صورتی که -g گزینه با کاراکتر مرتب سازی چهارم "d" استفاده می شود. روی 0 تنظیم کنید
در غیر این صورت.

$U (فقط خواندنی، تاریخ نوع)
دقیقا معادل امروز(). (به توابع داخلی مراجعه کنید.)

$Ud (فقط خواندنی)
معادل با روز به روز()).

$Um (فقط خواندنی)
معادل با monnum(امروز()).

$Uw (فقط خواندنی)
معادل با wkdaynum(امروز()).

$Uy (فقط خواندنی)
معادل با سال (امروز()).

توجه: اگر هر یک از حالت‌های تقویم فعال است، مقادیر $Daemon، $DontFork،
$DontTrigAts، $DontQueue، $HushMode، $IgnoreOnce، $InfDelta و $NextMode نیستند
معنی دار.

ساخته شده است توابع

یادآوری کنید دارای توابع داخلی فراوانی است. نحو برای فراخوانی تابع یکسان است
همانطور که در C - نام تابع، به دنبال یک لیست جدا شده با کاما از آرگومان های داخل پرانتز است.
نام توابع به حروف بزرگ و کوچک حساس نیستند. اگر یک تابع هیچ آرگومان نمی گیرد، باید باشد
به دنبال آن "()" در فراخوانی تابع. در غیر این صورت، یادآوری کنید آن را به عنوان یک متغیر تفسیر خواهد کرد
نام، و احتمالا به درستی کار نمی کند.

در توضیحات زیر، از فرم های کوتاه برای نشان دادن انواع قابل قبول استفاده می شود
استدلال ها کاراکترهای "i"، "s"، "d"، "t" و "q" نشان می دهند INT, STRING, تاریخ, TIME و
زمان قرار استدلال ها، به ترتیب. اگر آرگومان بتواند یکی از چندین نوع باشد، the
شخصیت ها به هم پیوسته اند به عنوان مثال، "di_arg" نشان دهنده آرگومانی است که می تواند a باشد تاریخ
و یا INT. "x_arg" یک آرگومان را نشان می دهد که می تواند از هر نوع باشد. نوع استدلال
به دنبال آن یک خط زیر و یک شناسه به نام آرگومان می آید.

توابع داخلی عبارتند از:

abs (i_num)
مقدار مطلق را برمی گرداند تعداد.

دسترسی(s_file, si_mode)
مجوزهای دسترسی فایل را آزمایش می کند پرونده. حالت می تواند یک رشته باشد، حاوی a
ترکیبی از کاراکترهای "rwx" برای تست مجوز خواندن، نوشتن و اجرای.
روش دیگر، حالت می تواند عددی باشد که در یونیکس توضیح داده شده است دسترسی(2) تماس سیستمی.
اگر بتوان به فایل با مشخص شده دسترسی داشت، 0 را برمی گرداند حالت، و -1
در غیر این صورت.

args(s_fname)
تعداد آرگومان های مورد انتظار توسط تابع تعریف شده توسط کاربر را برمی گرداند شهرت، یا -1
اگر چنین تابع تعریف شده توسط کاربر وجود نداشته باشد. توجه داشته باشید که این تابع فقط بررسی می کند
توابع تعریف شده توسط کاربر، نه توابع داخلی. کاربرد اصلی آن تعیین است
آیا یک تابع خاص تعریف شده توسط کاربر قبلاً تعریف شده است یا خیر. در
args() تابع فقط در نسخه های موجود است یادآوری کنید از 03.00.04 و بالاتر.

asc(s_string)
یک را برمی گرداند INT که کد اسکی اولین کاراکتر موجود در آن است رشته. به عنوان یک
مورد خاص، صعودی ("") 0 برمی گرداند

بیسیر ()
"سال پایه" را که در آن کامپایل شده است برمی گرداند یادآوری کنید (به طور معمول 1990.) همه تاریخ ها
به صورت داخلی به عنوان تعداد روزهایی که از 1 ژانویه XNUMX به بعد ذخیره می شوند بیسیر ().

char(i_i1 [,i_i2...])
این تابع می تواند هر تعداد را بگیرد INT استدلال ها الف را برمی گرداند STRING شامل
از کاراکترهای مشخص شده توسط آرگومان ها. توجه داشته باشید که هیچ یک از آرگومان ها نمی توانند
0 باشد، مگر اینکه فقط یک آرگومان وجود داشته باشد. به عنوان یک مورد خاص، ارابه(0) "" را برمی گرداند.

توجه داشته باشید که به دلیل یادآوری کنید از فرار کاراکترها در رشته ها پشتیبانی نمی کند
تنها راه برای به دست آوردن یک نقل قول دوگانه در یک رشته استفاده از آن است ارابه(34).

انتخاب کنید(i_index, x_arg1 [,x_arg2...])
را انتخاب کنید باید حداقل دو آرگومان داشته باشد که اولین آنها an است INT. اگر شاخص is
n، سپس nآرگومان بعدی برگردانده می شود. اگر شاخص پس کمتر از 1 است
arg1 برگردانده می شود. اگر شاخص از تعداد آرگومان های بعدی بیشتر است،
سپس آخرین آرگومان برگردانده می شود. مثال ها:

انتخاب کنید(0 "فو"، 1: 13، 1000) "فو" را برمی‌گرداند
انتخاب کنید(1 "فو"، 1: 13، 1000) "فو" را برمی‌گرداند
انتخاب کنید(2 "فو"، 1: 13، 1000) 1:13 برمی گردد
انتخاب کنید(3 "فو"، 1: 13، 1000) برمی گرداند 1000
انتخاب کنید(4 "فو"، 1: 13، 1000) برمی گرداند 1000
توجه داشته باشید که همه آرگومان ها به انتخاب کنید() هستند همیشه ارزیابی شد.

اجبار(s_type, x_arg)
این تابع تبدیل می کند ارگ به مشخص نوع، اگر چنین تبدیلی امکان پذیر باشد.
نوع باید یکی از "INT"، "STRING"، "DATE"، "TIME" یا "DATETIME" باشد (مورد-
غیر حساس). قوانین تبدیل به شرح زیر است:

If ارگ در حال حاضر از نوع مشخص شده، بدون تغییر برگردانده می شود.

If نوع "STRING" است، پس ارگ به رشته ای متشکل از چاپ شده آن تبدیل می شود
نمایندگی.

If نوع "DATE" است، سپس یک INT ارگ با تفسیر آن به تعداد تبدیل می شود
روز از 1 ژانویه بیسیر (). STRING ارگ با تلاش برای خواندن آن تبدیل می شود
گویی تاریخ چاپ شده است. آ زمان قرار با انداختن علامت به تاریخ تبدیل می شود
جزء زمان آ TIME ارگ نمی توان به تاریخ تبدیل کرد.

If نوع "TIME" است، سپس یک INT ارگ با تفسیر آن به تعداد تبدیل می شود
دقیقه از نیمه شب آ STRING ارگ با تلاش برای خواندن آن تبدیل می شود
زمان چاپ بود آ زمان قرار با حذف تاریخ به زمان تبدیل می شود
جزء. آ تاریخ ارگ نمی توان به زمان تبدیل کرد.

If نوع "DATETIME" است، سپس یک INT ارگ با تفسیر آن به عنوان تبدیل می شود
تعداد دقیقه از نیمه شب، 1 ژانویه بیسیر (). STRING تبدیل شده توسط
تلاش برای خواندن آن به گونه ای که گویی یک تاریخ چاپ شده است. انواع دیگر نمی توانند باشند
به تاریخ تبدیل شد

If نوع "INT" است، پس تاریخ, TIME و زمان قرار آرگومان ها با استفاده از
معکوس روش هایی که در بالا توضیح داده شد. آ STRING ارگ با تجزیه آن به عنوان تبدیل می شود
یک عدد صحیح

جاری()
تاریخ و زمان فعلی را به عنوان شیء DATETIME برمی گرداند. این ممکن است واقعی باشد
تاریخ و زمان، یا ممکن است تاریخ و زمان ارائه شده در خط فرمان باشد.

تاریخ (i_y, من هستم، شناسه)
La تاریخ() تابع a را برمی گرداند تاریخ شی با اجزای سال، ماه و روز
مشخص شده توسط y, m و d.

datepart(dq_datetime)
A را برمی گرداند تاریخ شی نشان دهنده بخش تاریخ از زمان قرار.

تاریخ (args)
La زمان قرار () تابع می تواند بین دو تا پنج آرگومان را به خود اختصاص دهد. همیشه
DATETIME ایجاد شده از آرگومان های خود را برمی گرداند.

اگر دو آرگومان ارائه کنید، اولی باید DATE و دومی TIME باشد.

اگر سه آرگومان ارائه می کنید، اولی باید DATE و دومی و سومی باشد
باید INT باشد. استدلال دوم و سوم به ساعت و دقیقه تعبیر می شود
و به TIME تبدیل شد.

اگر چهار آرگومان ارائه می‌کنید، سه آرگومان اول باید INT باشند که به عنوان آرگومان تفسیر می‌شوند
سال، ماه و روز آرگومان چهارم باید TIME باشد.

در نهایت، اگر پنج آرگومان ارائه کنید، همه آنها باید INT باشند و به این صورت تفسیر شوند
سال، ماه، روز، ساعت و دقیقه.

سحر ([dq_date])
زمان "سپیده دم مدنی" را در زمان مشخص شده برمی گرداند تاریخ. اگر تاریخ حذف شده است،
پیش فرض به امروز(). اگر یک زمان قرار شی ارائه شده است، فقط جزء تاریخ است
استفاده شده.

روز (dq_date)
این تابع یک را می گیرد تاریخ or زمان قرار به عنوان یک آرگومان، و an را برمی گرداند INT است که
جزء روز از ماه از تاریخ.

dayinmon(i_m, i_y)
تعداد روزهای ماه را برمی‌گرداند m (1-12) سال y.

تعریف شده(s_var)
اگر متغیری که توسط نامگذاری شده است، عدد 1 را برمی گرداند VAR تعریف شده است، یا 0 اگر نیست.
توجه داشته باشید که تعریف شده است() طول می کشد STRING بحث و جدل؛ بنابراین، برای بررسی اینکه آیا متغیر X است یا خیر
تعریف شده، استفاده کنید:

تعریف شده ("X")

و نه:

تعریف شده (X)

مثال دوم تلاش خواهد کرد تا X را ارزیابی کند و در صورت وجود، خطا را برمی‌گرداند
تعریف نشده یا غیر از نوع STRING.

dosubst(s_str [,d_date [,t_time]]) or dosubst(s_str [,q_datetime])
A را برمی گرداند STRING که نتیجه گذراندن است خ از طریق فیلتر جایگزین
قبلا شرح داده شد. پارامترها تاریخ و زمان (و یا زمان قرار) ایجاد کنید
تاریخ و زمان موثر ماشه استفاده شده توسط فیلتر جایگزین. اگر تاریخ و زمان
حذف شده اند، آنها به طور پیش فرض امروز() و اکنون().

توجه داشته باشید که اگر خ به "%" ختم نمی شود، یک کاراکتر خط جدید به آن اضافه می شود
پایان نتیجه همچنین، تماس dosubst() با یک تاریخ که در گذشته است (یعنی
if تاریخ < امروز()) نتایج نامشخصی ایجاد خواهد کرد.

Dosubst() فقط از نسخه 03.00.04 در دسترس است یادآوری کنید.

غروب ([dq_date])
زمان "گرگ و میش مدنی" را بر روی مشخص شده برمی گرداند تاریخ. اگر تاریخ حذف شده است،
پیش فرض به امروز().

esterdate(dqi_arg)
If ارگ است INT، سپس تاریخ یکشنبه عید پاک را برای سال مشخص شده برمی گرداند.
If ارگ هست یک تاریخ or زمان قرار، سپس تاریخ یکشنبه عید پاک بعدی را در یا برمی گرداند
بعد از ارگ. (مولفه زمان تاریخ زمان نادیده گرفته می شود.)

evaltrig(s_trigger [,dq_start])
ارزیابی می کند ماشه انگار که مشخصات ماشه REM یا IFTRIG باشد و برمی گردد
تاریخ ماشه به عنوان یک تاریخ (یا به عنوان یک زمان قرار اگر وجود دارد AT بند.) a
منفی INT اگر هیچ ماشه ای قابل محاسبه نباشد.

به طور معمول، ارزشیابی تاریخ آغازگر را در یا پس از امروز پیدا می کند. اگر شما عرضه کنید شروع
آرگومان، سپس از آنجا شروع به اسکن می کند.

به عنوان مثال، عبارت:

evaltrig ("Mon 1", '2008-10-07')

«2008-11-03» را برمی گرداند، زیرا این اولین تاریخی در یا پس از 7 اکتبر 2008 است که
"Mon 1" را برآورده می کند.

اگر می خواهید ببینید از اولین دوشنبه ماه اکتبر 2008 تا چند روز است
اولین دوشنبه در نوامبر 2008، استفاده از:

evaltrig ("Mon 1"، "2008-11-01") - evaltrig("Mon 1"، "2008-10-01")

و پاسخ 28 است. آرگومان ماشه ای به ارزشیابی می تواند تمام معمول را داشته باشد
بندهای ماشه (حذف کنید, AT, بروو غیره) اما نمی توان دارای یک راضی باشید, MSG، و غیره
بند از نوع یادآوری

تاریخ پرونده (s_filename)
تاریخ اصلاح را برمی گرداند نام فایل. اگر نام فایل وجود ندارد یا وجود دارد
تاریخ اصلاح قبل از سال است بیسیر ()، سپس 1 ژانویه از بیسیر () is
برگشت

filedatetime(s_filename)
تاریخ و زمان اصلاح را برمی‌گرداند نام فایل. اگر نام فایل وجود ندارد، یا
تاریخ اصلاح آن قبل از سال است بیسیر ()، سپس نیمه شب، 1 ژانویه
بیسیر () برگردانده شده است.

filedir()
دایرکتوری حاوی فایل فعلی در حال پردازش را برمی گرداند. ممکن است یک باشد
نام مسیر نسبی یا مطلق، اما برای استفاده در یک تضمین شده است که صحیح است
عبارتند از به شرح زیر دستور دهید:

شامل [filedir()]/stuff

این شامل فایل "stuff" در همان فهرستی است که فایل فعلی موجود است
فرآوری شده.

نام فایل()
برمی گرداند (به عنوان یک STRING) نام فایل فعلی در حال پردازش توسط یادآوری کنید.
در داخل فایل‌های موجود، نام فایل موجود را برمی‌گرداند.

getenv(s_envvar)
شبیه به getenv(2) تماس سیستمی. رشته ای را برمی گرداند که نشان دهنده مقدار است
متغیر محیطی مشخص شده اگر متغیر محیطی نباشد "" را برمی گرداند
تعریف شده است. توجه داشته باشید که نام متغیرهای محیطی معمولاً حروف کوچک و بزرگ است.
حساس؛ بنابراین، getenv ("HOME") با getenv ("خانه") یکسان نیست.

hebdate(i_day, s_hebmon [,idq_yrstart [,i_jahr [,i_aflag]]])
پشتیبانی از تاریخ های عبری - به بخش "تقویم عبری" مراجعه کنید

هب دی (dq_date)
پشتیبانی از تاریخ های عبری - به بخش "تقویم عبری" مراجعه کنید

هبمون (dq_date)
پشتیبانی از تاریخ های عبری - به بخش "تقویم عبری" مراجعه کنید

هب سال (dq_date)
پشتیبانی از تاریخ های عبری - به بخش "تقویم عبری" مراجعه کنید

ساعت (tq_time)
جزء ساعت را برمی گرداند زمان.

iif(si_test1, x_arg1، [si_test2، x_arg2،...]، x_default)
If test1 صفر نیست یا رشته تهی، برمی گردد arg1. در غیر این صورت، اگر test2 نیست
صفر یا رشته تهی، برمی گردد arg2، و غیره. اگر همه از آزمون استدلال ها هستند
نادرست، برمی گردد به طور پیش فرض. توجه داشته باشید که همه آرگومان ها هستند همیشه ارزیابی شد. این
تابع تعداد فرد آرگومان را می پذیرد - توجه داشته باشید که قبل از نسخه 03.00.05
of یادآوری کنید، فقط 3 آرگومان را پذیرفت. نسخه 3 آرگومان از iif() is
سازگار با نسخه های قبلی یادآوری کنید.

index(s_search, s_target [،من شروع میکنم)
یک را برمی گرداند INT که محل است هدف در رشته جستجو کردن. اولین
کاراکتر یک رشته با شماره 1 است هدف وجود ندارد در جستجو کردن، سپس 0 است
برگشت

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

isdst([d_date [,t_time]]) or isdst (q_datetime)
اگر ساعت تابستانی در مورد مشخص شده اعمال شود، یک عدد مثبت را برمی‌گرداند
تاریخ و زمان. تاریخ پیش فرض به امروز() و زمان پیش فرض نیمه شب است

توجه داشته باشید که این تابع فقط به اندازه توابع کتابخانه زمان اجرا C قابل اعتماد است.
با شروع نسخه 03.00.07 در دسترس است یادآوری کنید.

isleap(idq_arg)
اگر 1 را برمی گرداند ارگ یک سال کبیسه است و در غیر این صورت 0. ارگ می تواند باشد INT, تاریخ or
زمان قرار هدف - شی. اگر یک تاریخ or زمان قرار عرضه می شود، سپس جزء سال است
در آزمون استفاده شده است.

isomitted(dq_date)
اگر 1 را برمی گرداند تاریخ با توجه به جهانی فعلی حذف شده است حذف کنید متن نوشته. 0 را برمی گرداند
در غیر این صورت. (اگر تاریخ ارائه شده است، فقط از قسمت تاریخ استفاده می شود.) توجه داشته باشید که هر کدام
محلی حذف کنید or OMITFUNC بندها هستند نه توسط این تابع در نظر گرفته شده است.

زبان ()
A را برمی گرداند STRING نامگذاری زبان پشتیبانی شده توسط یادآوری کنید. (به "زبان خارجی مراجعه کنید
پشتیبانی.") به طور پیش فرض، یادآوری کنید برای پشتیبانی از پیام های انگلیسی کامپایل شده است، بنابراین این
تابع "انگلیسی" را برمی گرداند. برای سایر زبان‌ها، این تابع مقدار را برمی‌گرداند
نام انگلیسی زبان (به عنوان مثال "آلمانی") توجه داشته باشید که زبان () در دسترس نیست
در نسخه های یادآوری کنید قبل از 03.00.02

پایین تر (s_string)
A را برمی گرداند STRING با تمام حروف بزرگ در رشته به حروف کوچک تبدیل شد

حداکثر (x_arg1 [,x_arg2...)
می تواند هر تعداد آرگومان را بگیرد و حداکثر را برمی گرداند. استدلال ها می توانند از
هر نوع، اما همه باید از یک نوع باشند. آنها با > مقایسه می شوند
اپراتور.

min(x_arg1 [,x_arg2...)
می تواند هر تعداد آرگومان را بگیرد و حداقل را برمی گرداند. استدلال ها می توانند از
هر نوع، اما همه باید از یک نوع باشند. آنها به عنوان با
اپراتور.

minsfromutc([d_date [,t_time]]) or minsfromutc (q_datetime)
تعداد دقیقه از زمان جهانی هماهنگ (GMT سابق) به را برمی‌گرداند
به وقت محلی در تاریخ و زمان مشخص شده تاریخ پیش فرض به امروز() و زمان
پیش فرض نیمه شب است اگر زمان محلی قبل از UTC باشد، نتیجه منفی است.
در غیر این صورت نتیجه مثبت است.

توجه داشته باشید که این تابع فقط به اندازه توابع کتابخانه زمان اجرا C قابل اعتماد است.
با شروع نسخه 03.00.07 در دسترس است یادآوری کنید.

دقیقه (tq_time)
جزء دقیقه ای را برمی گرداند زمان.

mon(dqi_arg)
If ارگ از تاریخ or زمان قرار نوع، رشته ای را برمی گرداند که جزء ماه را نامگذاری می کند
از تاریخ اگر ارگ است INT از 1 تا 12، رشته ای را برمی گرداند که ماه را نامگذاری می کند.

monnum (dq_date)
یک را برمی گرداند INT از 1 تا 12، که مؤلفه ماه را نشان می دهد تاریخ.

مهتاب (i_phase [,d_date [,t_time]]) or مهتاب (i_phase, q_datetime)
این تابع تاریخ اولین وقوع فاز را برمی گرداند فاز از
ماه در یا بعد تاریخ و زمان. فاز می تواند از 0 تا 3 باشد که 0 به معنای جدید است
ماه، 1 ربع اول، 2 ماه کامل و 3 ربع سوم. اگر تاریخ حذف شده است، آن
پیش فرض به امروز(). اگر زمان حذف شده است، پیش فرض آن نیمه شب است.

به عنوان مثال، موارد زیر تاریخ ماه کامل بعدی را نشان می دهد:

تنظیم ماه کامل روز ماه(2)

زمان ماه (i_phase [,d_date [,t_time]]) or زمان ماه (i_phase, q_datetime)
این تابع زمان اولین وقوع فاز را برمی گرداند فاز از
ماه در یا بعد تاریخ و زمان. فاز می تواند از 0 تا 3 باشد که 0 به معنای جدید است
ماه، 1 ربع اول، 2 ماه کامل و 3 ربع سوم. اگر تاریخ حذف شده است، آن
پیش فرض به امروز(). اگر زمان حذف شده است، پیش فرض آن نیمه شب است. زمان ماه () is
در نظر گرفته شده برای استفاده همراه با مهتاب (). مهتاب () و زمان ماه ()
عملکردها در چند دقیقه از زمان‌های "Old Farmer's" دقیق هستند
Almanac" برای اتاوا، انتاریو.

برای مثال، موارد زیر تاریخ و زمان ماه کامل بعدی را نشان می دهد:

MSG ماه کامل بعدی در [زمان ماه(2)] در [روز ماه(2)]

moondatetime(i_phase [,d_date [,t_time]]) or moondatetime(i_phase, q_datetime)
این تابع مشابه است روز ماه و زمان ماه، اما یک نتیجه DATETIME را برمی گرداند.

فاز ماه ([d_date [,t_time]]) or فاز ماه (q_datetime)
این تابع فاز روشن بودن ماه را برمی گرداند تاریخ و زمان، که پیش فرض آن است
امروز() و به ترتیب نیمه شب. مقدار برگشتی یک عدد صحیح از 0 تا است
359 که فاز ماه را بر حسب درجه نشان می دهد. 0 یک ماه جدید است، 180 یک ماه کامل است
ماه، 90 ربع اول است و غیره.

nonnomitted(dq_start, dq_end [,s_wkday...])
این تابع تعداد را برمی گرداند غیرروزهای حذف شده بین شروع و پایان. اگر
شروع حذف نشده است، سپس شمرده می شود. پایان هرگز به حساب نمی آید

توجه داشته باشید که پایان باید بزرگتر از یا برابر باشد شروع یا خطایی گزارش شده است. که در
علاوه بر استفاده از زمینه جهانی OMIT، می‌توانید آرگومان‌های دیگری نیز ارائه دهید
نام روزهای هفته هستند که باید حذف شوند. با این حال، در یک REM دستور، هر محلی OMITFUNC
بند است نه توسط این تابع در نظر گرفته شده است.

به عنوان مثال، خط زیر a را به 11 تنظیم می کند (با فرض اینکه هیچ OMIT جهانی وجود ندارد):

یک نامگذاری نشده تنظیم کنید ('2007-08-01'، '2007-08-16'، "Sat"، "Sun")

زیرا پنجشنبه 16 آگوست 2007 یازدهمین روز کاری است (بدون احتساب شنبه و
یکشنبه) پس از چهارشنبه، 1 اوت 2007.

نامزد نشده کاربردهای مختلفی دارد. به عنوان مثال، بسیاری از مدارس در یک چرخه شش روزه و
تعداد روز در روزهای تعطیل افزایش نمی یابد. فرض کنید سال تحصیلی با شروع
روز 1 در 4 سپتامبر 2007. یادآوری زیر اعداد روز را در a برچسب گذاری می کند
تقویم:

IF Today() >= '2007-09-04'
set daynum nonnomitted('2007-09-04', today()، "Sat"، "Sun")
REM OMIT SAT SUN SKIP CAL روز [(روزانه % 6) + 1]
Endif

بدیهی است که پاسخی که از آن می گیرید نامزد نشده بستگی به زمینه جهانی OMIT دارد.
اگر از OMIT های متحرک استفاده می کنید، ممکن است نتایج متناقضی دریافت کنید.

در اینجا یک کاربرد پیچیده تر برای نامزد نشده. جمع آوری زباله من به دنبال دو است
چرخه های 14 روزه به هم پیوسته: یک جمعه، بازیافت زباله و کاغذ ("جعبه سیاه")
جمع آوری می شوند. جمعه آینده، زباله و بازیافت پلاستیک ("جعبه آبی") هستند
جمع آوری شده. اگر یکی از روزهای دوشنبه تا جمعه تعطیل باشد، جمع آوری تا تاریخ به تعویق می افتد
شنبه. در اینجا راهی برای رمزگذاری این قوانین وجود دارد:

fset _garbhol(x) wkdaynum(x) == 5 && nonnomitted(x-4، x+1) < 5
REM 12 نوامبر 1999 * 14 بعد از OMITFUNC _garbhol MSG Black Box
REM 19 نوامبر 1999 * 14 بعد از OMITFUNC _garbhol MSG Blue Box

نحوه کار به این صورت است: تابع تعریف شده توسط کاربر _garbhol(x) اگر و فقط 1 را برمی گرداند.
اگر (1) x جمعه است و (2) حداقل یک روز از روز قبل حذف شده است
دوشنبه تا و از جمله جمعه.

اولین دستور REM چرخه جعبه سیاه 14 روزه را تنظیم می کند. کلمه کلیدی AFTER
اگر _garbhol 1 را برگرداند، مجموعه را به شنبه منتقل می کند. دومین REM
بیانیه چرخه جعبه آبی 14 روزه را با تنظیم مشابه توسط AFTER تنظیم می کند
در ارتباط با _garbhol.

اکنون() زمان فعلی سیستم را به صورت a برمی گرداند TIME نوع این ممکن است زمان واقعی باشد یا الف
زمان ارائه شده در خط فرمان

ord(i_num)
رشته ای را که عدد ترتیبی است برمی گرداند تعداد. مثلا، کلمات(2) بازده
"دومین"، و کلمات(213) "213th" را برمی گرداند.

ostype()
"یونیکس" را برمی گرداند. Remind برای اجرا در OS/2 و MS-DOS استفاده می‌شود، اما دیگر اجرا نمی‌شود.

جمع (i_num [,s_str1 [,s_str2]])
می تواند از یک تا سه آرگومان بگیرد. اگر یک آرگومان ارائه شود، "s" if را برمی گرداند
تعداد 1 نیست و "" اگر تعداد 1 است

اگر دو آرگومان ارائه شود، برمی گردد p1 + "s" اگر تعداد 1 نیست. در غیر این صورت،
بازده p1.

اگر سه آرگومان ارائه شود، برمی گردد p1 if تعداد 1 است ، و p2 در غیر این صورت.

psmoon(i_phase [,i_size [,s_note [,i_notesize]]])
[منسوخ شده] a را برمی‌گرداند STRING متشکل از کد پست اسکریپت برای رسم یک ماه در
گوشه سمت چپ بالای کادر تقویم. فاز فاز ماه را مشخص می کند،
و 0 (ماه نو)، 1 (ربع اول)، 2 (ماه کامل) یا 3 (ربع سوم) است. اگر
اندازه مشخص شده است، شعاع ماه را در واحدهای PostScript کنترل می کند (1/72
اینچ) اگر مشخص نشده باشد یا منفی باشد، اندازه فونت شماره روز است
استفاده شده.

به عنوان مثال، چهار خط زیر نمادهای ماه را روی PostScript قرار می دهند
تقویم:

REM [روز ماه(0)] PS [psmoon(0)]
REM [روز ماه(1)] PS [psmoon(1)]
REM [روز ماه(2)] PS [psmoon(2)]
REM [روز ماه(3)] PS [psmoon(3)]

If توجه داشته باشید مشخص شده است، متن برای حاشیه نویسی نمایش ماه استفاده می شود. فونت است
همان فونت مورد استفاده برای ورودی های تقویم. اگر یادداشت برداری داده شده است، آن را مشخص می کند
اندازه فونت برای استفاده برای حاشیه نویسی، در واحدهای PostScript (1/72 اینچ.) اگر یادداشت برداری
داده نمی شود، به طور پیش فرض به اندازه مورد استفاده برای ورودی های تقویم است. (اگر حاشیه نویسی کنید
صفحه نمایش، مراقب باشید که شماره روز را بازنویسی نکنید - یادآوری کنید بررسی نمی کند
برای این.) به عنوان مثال، اگر می خواهید زمان هر ماه جدید نمایش داده شود، می توانید
از این در اسکریپت یادآوری خود استفاده کنید:

REM [روز ماه(0)] PS [psmoon(0, -1, زمان ماه(0)+"")]

توجه داشته باشید که چگونه زمان با الحاق رشته تهی به یک رشته اجباری می شود.

psshade(i_gray) or psshade(i_red, i_green i_blue)
[منسوخ شده] a را برمی‌گرداند STRING که از دستورات PostScript برای سایه زدن a تشکیل شده است
جعبه تقویم به می تواند از 0 (کاملا سیاه) تا 100 (کاملا سفید) باشد.
اگر سه آرگومان داده شود، شدت قرمز، سبز و آبی را از 0 تا مشخص می کنند
100. در اینجا مثالی از نحوه استفاده از آن آورده شده است:

REM Sat Sun PS [psshade(95)]

دستور بالا کد پست اسکریپت را منتشر می کند تا کادرهای شنبه و به آرامی سایه بزند
یکشنبه در یک تقویم پست اسکریپت.

توجه داشته باشید که psmoon و psshade منسوخ شده اند؛ در عوض باید از SPECIAL استفاده کنید
یادآوری SHADE و SPECIAL MOON همانطور که در "یادآوری های خارج از باند" توضیح داده شده است.

جریان واقعی ()
(به عنوان DATETIME) تاریخ و زمان واقعی روز را همانطور که توسط عملیات ارائه شده است، برمی گرداند
سیستم. این بر خلاف است جاری()، که ممکن است زمان ارائه شده را برگرداند
خط فرمان.

realnow()
زمان واقعی روز را همانطور که توسط سیستم عامل ارائه شده است برمی گرداند. این در
بر خلاف اکنون()، که ممکن است زمان ارائه شده در خط فرمان را برگرداند.

realtoday()
تاریخ ارائه شده توسط سیستم عامل را برمی گرداند. این بر خلاف است
یادآوری کنیدمفهوم "امروز"، که اگر در تقویم اجرا شود ممکن است تغییر کند
حالت، یا اگر تاریخ در خط فرمان ارائه شده است.

sgn(i_num)
اگر -1 را برمی گرداند تعداد منفی است، 1 اگر تعداد مثبت است و 0 اگر تعداد صفر است

پوسته (s_cmd [,i_maxlen])
اجرا می کند CMD به عنوان یک فرمان سیستم، و 511 کاراکتر اول خروجی را برمی گرداند
ناشی از CMD. هر کاراکتر فضای خالی در خروجی به a تبدیل می شود
فضا. توجه داشته باشید که اگر RUN OFF اجرا شده است، یا -r گزینه خط فرمان دارد
استفاده شده است، پوسته() منجر به خطا خواهد شد و CMD اجرا نخواهد شد.

If مکسلن مشخص شده است، پس پوسته() اولی را برمی گرداند مکسلن کاراکترهای خروجی
(به جای 511 اول). اگر مکسلن به عنوان یک عدد منفی مشخص می شود، سپس تمام
خروجی از CMD برگردانده شده است.

slide(d_start, i_amt [,s_wkday...])
این تابع برعکس است نامزد نشده. می افزاید: آمت روزها (که می تواند باشد
منفی) به شروع, نه با احتساب omitted,en روز. اختیاری روز هفته استدلال ها هستند
اسامی روزهای هفته اضافی که باید حذف شوند.

این مثال را در نظر بگیرید:

OMIT 14 مه 2009
تنظیم یک اسلاید ('2009-05-13'، 5، "Sat"، "Sun")

در این مورد، a در 2009-05-21 تنظیم شده است. این به این دلیل است که ما 5 روز به جلو می لغزیم،
بدون احتساب پنجشنبه 14 می یا شنبه و یکشنبه 16 و 17 می. می توانید بروید
به عقب نیز، بنابراین:

OMIT 14 مه 2009
تنظیم یک اسلاید ('2009-05-21'، -5، "Sat"، "Sun")

طول می کشد a بازگشت به 2009/05/13.

strlen(s_str)
طول را برمی‌گرداند خ.

substr(s_str, من شروع میکنم [,i_end])
A را برمی گرداند STRING متشکل از تمام شخصیت های موجود در خ از جانب شروع تا و از جمله
پایان. نویسه ها از 1 شماره گذاری می شوند پایان ارائه نشده است، سپس به صورت پیش فرض تنظیم می شود
طول خ.

طلوع خورشید ([dq_date])
A را برمی گرداند TIME نشان دهنده زمان طلوع خورشید در مورد مشخص شده است تاریخ (پیش فرض
امروز().) در عرض های جغرافیایی بالا ممکن است در روز خاصی طلوع نشود که در آن
مورد طلوع خورشید() برمی گرداند INT 0 اگر خورشید هرگز غروب نکرد یا 1440 اگر هرگز طلوع نکرد.

غروب خورشید ([dq_date])
A را برمی گرداند TIME نشان دهنده زمان غروب خورشید در زمان مشخص شده است تاریخ (پیش فرض
امروز().) در عرض های جغرافیایی بالا، ممکن است در روز خاصی غروب نباشد که در آن
مورد غروب () برمی گرداند INT 0 اگر خورشید هرگز طلوع نمی کند، یا 1440 اگر هرگز غروب نمی کند.

توابع طلوع خورشید() و غروب () بر اساس الگوریتمی در "Almanac for
کامپیوترهای سال 1978 توسط LE Doggett، دفتر سالنامه دریایی، USNO. آنها
باید طول و عرض جغرافیایی با تنظیم مناسب مشخص شود
متغیرهای سیستم (به "متغیرهای سیستم" مراجعه کنید.) عملکردهای خورشید باید دقیق باشند
در عرض های جغرافیایی کمتر از 4 درجه در حدود 60 دقیقه. توابع هستند
از نسخه 03.00.07 موجود است یادآوری کنید.

زمان (i_hr, من هستم)
ایجاد می کند TIME با اجزای ساعت و دقیقه مشخص شده توسط hr و دقیقه.

زمان (tq_datetime)
A را برمی گرداند TIME شی نشان دهنده بخش زمانی از زمان قرار.

امروز()
بازده یادآوری کنیدمفهوم "امروز." این ممکن است تاریخ واقعی سیستم یا یک تاریخ باشد
ارائه شده در خط فرمان، یا تاریخ ورودی تقویم در حال حاضر
محاسبه شده است.

trigdate()
تاریخ شروع محاسبه شده آخرین را برمی گرداند REM or IFTRIG فرمان در صورت استفاده در
la بدن از REM فرمان، تاریخ راه‌اندازی آن فرمان را برمی‌گرداند. اگر جدیدترین
REM دستور تاریخ تریگر قابل محاسبه را به دست نمی دهد، عدد صحیح 0 را برمی گرداند.

trigdatetime()
شبیه trigdate()، اما a را برمی گرداند زمان قرار اگر جدیدترین راه‌اندازی باشد REM
فرمان داشت AT عبارت. اگر نبود AT بند، a تاریخ. اگر نه
ماشه را می توان محاسبه کرد، عدد صحیح 0 را برمی گرداند.

ماشه (d_date [,t_time [,i_utcflag]]) or ماشه (q_datetime [,i_utcflag])
یک رشته مناسب برای استفاده در a را برمی گرداند REM دستور یا عبارت SCANFROM یا UNTIL،
به شما این امکان را می دهد تا تاریخ های آغازگر را از قبل محاسبه کنید. توجه داشته باشید که در نسخه های قبلی
of یادآوری کنید, ماشه برای تبدیل تاریخ به چیزی مورد نیاز بود REM فرمان
می تواند مصرف کند. با این حال، در این نسخه از یادآوری کنید، می توانید آن را حذف کنید. توجه داشته باشید که
ماشه() همیشه نتیجه خود را به زبان انگلیسی، حتی برای نسخه های زبان خارجی، برمی گرداند
of یادآوری کنید. این برای جلوگیری از مشکلات با کتابخانه‌های خاص C است که مدیریت نمی‌کنند
کاراکترها را به درستی تاکید کنید به طور معمول، تاریخ و زمان تاریخ محلی و
زمان؛ با این حال، اگر utcflag غیر صفر است، تاریخ و زمان به عنوان UTC تفسیر می شوند
بار، و به زمان محلی تبدیل می شوند. مثال ها:

ماشه ('1993/04/01')

"1 آوریل 1993" را برمی گرداند،

trigger('1994/08/09', 12:33)

"9 آگوست 1994 ساعت 12:33" را برمی گرداند، همانطور که:

trigger('1994/08/09@12:33').

سرانجام:

trigger('1994/12/01', 03:00, 1)

"30 نوامبر 1994 ساعت 22:00" را برای EST، که 5 ساعت از UTC عقب است، برمی گرداند. در
مقدار منطقه زمانی شما ممکن است متفاوت باشد.

trigtime()
زمان آخرین را برمی گرداند REM فرمان با یک AT عبارت. اگر آخرین REM انجام داد
نداشتن AT بند، عدد صحیح 0 را برمی گرداند.

trigvalid()
اگر مقدار برگردانده شده توسط trigdate() برای جدیدترین مورد معتبر است REM
دستور، یا 0 در غیر این صورت. گاهی REM دستورات نمی توانند تاریخ ماشه را محاسبه کنند.
به عنوان مثال موارد زیر REM فرمان هرگز نمی تواند راه اندازی شود:

REM Mon OMIT دوشنبه SKIP MSG Impossible!

typeof(x_arg)
«STRING»، «INT»، «DATE»، «TIME» یا «DATETIME» را بسته به نوع
ارگ.

tzconvert(q_datetime, s_srczone [,s_dstzone])
تبدیل می کند زمان قرار از منطقه زمانی نامگذاری شده توسط srczone به منطقه زمانی که توسط
dstzone. اگر dstzone حذف شده است، منطقه زمانی پیش فرض سیستم استفاده می شود. بازگشت
مقدار DATETIME است. نام منطقه زمانی وابسته به سیستم است. با عملکرد خود مشورت کنید
سیستم ارزش های قانونی به عنوان مثال:

tzconvert('2007-07-08@01:14', "Canada/Eastern", "Canada/Pacific")

بازده

2007-07-07@22:14

بالا (s_string)
A را برمی گرداند STRING با تمام حروف کوچک در رشته به حروف بزرگ تبدیل شد

مقدار(s_varname [,x_default])
مقدار متغیر مشخص شده را برمی گرداند. برای مثال مقدار("X"+"Y") برمی گردد
مقدار متغیر XY، اگر تعریف شده باشد. اگر XY تعریف نشده باشد، یک خطا
نتایج.

با این حال، اگر آرگومان دومی را ارائه کنید، اگر آرگومان دوم باشد، برگردانده می‌شود نام متغیر نیست
تعریف شده است. اگر XY تعریف نشده باشد، مقدار عبارت ("XY"، 0) 0 را برمی گرداند
مقدار XY اگر تعریف شده باشد.

نسخه ()
رشته ای را برمی گرداند که نسخه آن را مشخص می کند یادآوری کنید. برای نسخه 03.00.04، برمی گردد
"03.00.04". تضمین شده است که به عنوان نسخه های جدید یادآوری کنید آزاد می شوند ،
مقدار بازگشتی توسط نسخه () به شدت افزایش خواهد یافت، با توجه به قوانین برای
سفارش رشته

weekno([dq_date, [i_wkstart، [i_daystart]]])
شماره هفته سال را برمی‌گرداند. اگر هیچ آرگومان ارائه نشد، ISO را برمی گرداند
شماره هفته 8601 برای امروز(). اگر یک استدلال تاریخ عرضه می شود، سپس آن را برمی گرداند
شماره هفته ISO 8601 برای آن تاریخ. اگر دو آرگومان ارائه شود، پس wkstart
باید بین 0 تا 6 باشد و نشان دهنده اولین روز هفته است (با 0
یکشنبه و 6 شنبه است.). اگر wkstart ارائه نشده است، سپس به طور پیش فرض روی 1 قرار می گیرد.
اگر آرگومان سوم روز شروع ارائه می شود، سپس مشخص می کند که هفته 1 چه زمانی شروع می شود.
If روز شروع کمتر یا مساوی 7 است، سپس هفته 1 از اول شروع می شود wkstart on
یا بعد از ژانویه روز شروع. در غیر این صورت، هفته 1 از اول شروع می شود wkstart در یا
بعد از دسامبر روز شروع. در صورت حذف، روز شروع پیش‌فرض 29 است (به دنبال ISO
تعریف 8601.)

روز هفته (dqi_arg)
If ارگ هست یک تاریخ or زمان قرار، رشته ای را به نمایندگی از روز هفته برمی گرداند
تاریخ اگر ارگ است INT از 0 تا 6، روز هفته مربوطه را برمی گرداند
("یکشنبه" تا "شنبه").

wkdaynum (dq_date)
عددی از 0 تا 6 را نشان می دهد که روز هفته مشخص شده را نشان می دهد تاریخ.
(0 نشان دهنده یکشنبه و 6 نشان دهنده شنبه است.)

سال (dq_date)
A را برمی گرداند INT که جزء سال است تاریخ.

اصطلاح چسباندن


یک ویژگی فوق العاده قدرتمند از یادآوری کنید قابلیت ماکرو آن یا "چسباندن بیان" است.

تقریباً در هر شرایطی که یادآوری کنید انتظار یک عبارت را ندارید، می توانید آن را "چسب کنید".
عبارت in. برای این کار، عبارت را با براکت مربع احاطه کنید. مثلا:

REM [mydate] MSG foo

این عبارت "mydate" را ارزیابی می کند، جایی که "mydate" احتمالاً مقداری از پیش محاسبه شده است
متغیر، و سپس نتیجه را در خط فرمان برای تجزیه کننده به منظور پردازش "ربد" می کند.

توصیف رسمی این است: وقتی یادآوری کنید با عبارت "جایگزین شده" مواجه می شود، آن
بیان را ارزیابی می کند و نتیجه را به a وادار می کند STRING. سپس آن را جایگزین می کند
رشته برای عبارت چسبانده شده، و تجزیه را ادامه می دهد. اما توجه داشته باشید که
عبارات فقط یک بار ارزیابی می شوند، نه به صورت بازگشتی. بنابراین، نوشتن:

["[a+b]"]

علل یادآوری کنید برای خواندن نشانه "[a+b]". این را به عنوان چسباندن تعبیر نمی کند
اصطلاح. در واقع، تنها راه برای وارد کردن براکت چپ تحت اللفظی به یک یادآور، استفاده از آن است
["["].

تقریباً در هر جایی می توانید از چسباندن بیان استفاده کنید. با این حال، چند استثنا وجود دارد:

o اگر یادآوری کنید انتظار بیانی دارد، همانطور که در مجموعه فرمان، یا IF فرمان، تو
باید نه شامل پرانتز مربع به عنوان مثال، استفاده کنید:

4+5 را تنظیم کنید
و نه:
تنظیم یک [4+5]

o نمی توانید از چسباندن عبارت برای اولین نشانه روی یک خط استفاده کنید. به عنوان مثال
زیر کار نخواهد کرد:

["SET"] a 1

این محدودیت به این دلیل است یادآوری کنید باید قادر به تعیین بدون ابهام باشد
اولین نشانه یک خط برای دستورات کنترل جریان (که بعداً مورد بحث قرار خواهد گرفت.)

در واقع اگر یادآوری کنید نمی تواند اولین نشانه را در یک خط تعیین کند، فرض می کند که آن را
هست یک REM فرمان اگر از چسباندن بیان استفاده شود، یادآوری کنید فرض می کند که یک است REM
فرمان بنابراین، سه دستور زیر معادل هستند:

REM 12 نوامبر 1993 ساعت 13:05 MSG BOO!
12 نوامبر 1993 ساعت 13:05 MSG BOO!
[12] ["نوامبر" + 1993] در [12:05+60] MSG BOO!

o برای تعیین نوع نمی توانید از چسباندن بیان استفاده کنید (MSG, CALو غیره) از یک REM
فرمان شما می توانید عبارات قبل و بعد از را بچسبانید MSGو غیره کلمات کلیدی، اما
نمی توان کاری شبیه این انجام داد:

REM ["12 نوامبر 1993 ساعت 13:05 " + "MSG" + "BOO!"]

مشترک دام IN اصطلاح چسباندن

به یاد داشته باشید، هنگام چسباندن عبارات، فضاهای اضافی درج نمی شوند. بدین ترتیب،
چیزی مثل:

REM[expr]MSG[expr]

احتمالا شکست خواهد خورد

اگر از یک عبارت برای محاسبه a استفاده کنید دلتا or به عقب، اطمینان حاصل کنید که نتیجه یک است
عدد مثبت چیزی مثل:

REM +[mydelta] 12 نوامبر 1993 MSG foo

شکست خواهد خورد اگر mydelta اتفاقا منفی است

FLOW کنترل دستورات


یادآوری کنید دارای دستوراتی است که جریان یک اسکریپت یادآور را کنترل می کند. به طور معمول، یادآوری
اسکریپت ها به صورت متوالی پردازش می شوند. با این حال، IF و دستورات مرتبط به شما امکان پردازش را می دهند
فایل ها را به صورت مشروط انجام دهید و از بخش هایی که نمی خواهید تفسیر شوند بگذرید.

L' IF COMMAND

La IF دستور به شکل زیر است:

IF expr
فرمان t
فرمان t ...
ELSE
فرمان f
فرمان f...
Endif

توجه داشته باشید که دستورات برای وضوح نشان داده شده اند. همچنین ELSE بخش می تواند باشد
حذف شده است. IF دستورات را می توان تا یک حد کوچک، احتمالاً در حدود 8 یا 16 سطح، تو در تو قرار داد
تودرتو، بسته به سیستم شما.

اگر صادرات غیر صفر ارزیابی می کند INT، یا غیر پوچ STRING، سپس IF بخش است
درست در نظر گرفته می شود و دستورات t اعدام می شوند. اگر صادرات پس از آن صفر یا تهی می شود
la دستورات f (اگر ELSE بخش موجود است) اجرا می شوند. اگر صادرات از نوع نیست INT
or STRING، پس خطا است.

مثال:

IF تعریف شده ("want_hols")
شامل /usr/share/remind/holidays
Endif

IF Today() > '1992/2/10'
set missed_ap "تو از دست دادی!"
ELSE
set missed_ap "هنوز وقت دارم..."
Endif

L' IFTRIG COMMAND

La IFTRIG دستور مشابه یک است IF فرمان، با این تفاوت که یک ماشه را محاسبه می کند (مانند
la REM فرمان)، و در صورت متناظر آن را به درستی ارزیابی می کند REM فرمان را راه اندازی می کند.
مثال:

IFTRIG 1 نوامبر
; در 1 نوامبر اجرا شد
ELSE
; اجرا به جز در 1 نوامبر
Endif

IFTRIG 1 -1 OMIT شنبه یکشنبه +4
; در آخرین روز کاری ماه اجرا شد،
; و 4 روز کاری قبل از آن
ELSE
; به جز روزهای فوق اجرا می شود
Endif

توجه داشته باشید که IFTRIG دستور یک تاریخ تریگر را محاسبه می کند که می تواند با بازیابی شود
trigdate() عملکرد. شما می توانید از تمام اجزای ماشه معمولی مانند تا زمان,
دلتاو غیره در IFTRIG فرمان

تعریف شده توسط کاربر توابع


علاوه بر توابع داخلی، یادآوری کنید به شما اجازه می دهد تا عملکردهای خود را تعریف کنید.
La FSET دستور این کار را برای شما انجام می دهد:

FSET شهرت(قوس) صادرات

Fname نام تابع است و از قرارداد نامگذاری متغیرها پیروی می کند. ارگ
فهرستی از آرگومان ها با کاما جدا شده است و صادرات یک بیان است. ارگ می تواند خالی باشد، در
در این صورت شما تابعی را بدون پارامتر تعریف می کنید. در اینجا چند نمونه آورده شده است:

FSET double(x) 2*x
FSET yeardiff (تاریخ 1، تاریخ 2) سال (تاریخ 1) - سال (تاریخ2)
FSET since(x) or(year(trigdate())-x)

آخرین تابع در یادآوری تولد مفید است. مثلا:

REM 1 نوامبر + 12 MSG Dean's [پس از(1984)] تولد %b است.

دین در سال 1984 به دنیا آمد. نمونه فوق، در 1 نوامبر 1992، چاپ می کند:

امروز هشتمین سالگرد تولد دین است.

یادداشت:

o اگر به متغیری دسترسی دارید صادرات که در لیست آرگومان ها نیست، "جهانی"
مقدار (در صورت وجود) استفاده می شود.

o نام توابع و پارامترها فقط برای 12 کاراکتر مهم است.

o ارزش() تابع همیشه به مقدار "جهانی" یک متغیر دسترسی دارد، حتی اگر آن متغیر باشد
همان نام آرگومان را دارد. مثلا:

مقدار fset func(x) ("x")
مجموعه x 1
مجموعه y عملکرد(5)

دنباله بالا y را برابر 1 قرار می دهد که مقدار کلی x است.

o توابع تعریف شده توسط کاربر ممکن است سایر توابع، از جمله سایر عملکردهای تعریف شده توسط کاربر را فراخوانی کنند
کارکرد. با این حال، تماس های بازگشتی مجاز نیستند.

o توابع تعریف شده توسط کاربر هنگام تعریف، به صورت نحوی بررسی نمی شوند. تجزیه رخ می دهد
فقط زمانی که آنها فراخوانی شوند.

o اگر یک تابع تعریف شده توسط کاربر هم نام یک تابع داخلی باشد، نادیده گرفته می شود
و از تابع داخلی استفاده می شود. برای جلوگیری از درگیری با نسخه های بعدی
یادآوری کنید (که ممکن است توابع داخلی بیشتری را تعریف کند)، ممکن است بخواهید همه کاربران را نام ببرید.
توابع تعریف شده که با خط زیر شروع می شوند.

دقیق برنامه ریزی


La هشدار دهید کلمه کلیدی امکان کنترل دقیق هشدارهای قبلی را به شیوه ای انعطاف پذیرتر فراهم می کند
از دلتا سازوکار. باید با نام یک تابع تعریف شده توسط کاربر دنبال شود،
warn_function.

اگر یک warn_function ارائه می شود، پس باید یک آرگومان از نوع داشته باشد INT. یادآوری کنید
هر دلتا را نادیده می گیرد و در عوض فراخوانی می کند warn_function به طور متوالی با آرگومان های 1، 2،
3، ...

Warn_functionمقدار بازگشتی n به صورت زیر تفسیر می شود:

o اگر n مثبت است، سپس یادآور دقیقاً راه اندازی می شود n چند روز قبل از شروع آن
تاریخ.

o اگر n منفی است، سپس تحریک می شود n چند روز قبل از تاریخ شروع آن، نه با احتساب
حذف کنیدروزهای تد

به عنوان مثال، فرض کنید می خواهید در مورد روز استقلال آمریکا 5، 3 و 1 روز به شما هشدار داده شود.
از پیش. می توانید از این استفاده کنید:

FSET _wfun(x) select(x، 5، 3، 1، 0)
REM 4 جولای WARN _wfun MSG روز استقلال آمریکا %b است.

NOTES

1 اگر در حین ارزیابی خطایی رخ دهد warn_function، و سپس یادآوری کنید متوقف می شود
آن را فراخوانی می کند و به سادگی یادآوری را در تاریخ شروع آن صادر می کند.

2 اگر مقادیر مطلق مقادیر بازگشتی از warn_function یکنواخت نیستند
در حال کاهش، یادآوری کنید تماس با آن را متوقف می کند و یادآوری را در تاریخ راه اندازی آن صادر می کند.

3 Warn_function باید (به عنوان یک سبک خوب) 0 را به عنوان مقدار نهایی در آن برگرداند
دنباله ای از مقادیر بازگشتی با این حال، یک یادآوری خواهد شد همیشه بر روی آن فعال شود
تاریخ شروع، صرف نظر از اینکه چه چیزی warn_function انجام می دهد.

به همین ترتیب هشدار دهیداز برنامه ریزی شده کلمه کلیدی اجازه می دهد تا کنترل دقیق بر زمان بندی زمان بندی شده
یادآوری ها باید با نام یک تابع تعریف شده توسط کاربر دنبال شود، sched_function.

اگر یک تابع زمانبندی ارائه شده باشد، باید یک آرگومان از نوع داشته باشد INT. نسبتا
نسبت به استفاده از AT زمان، زمان دلتا، و زمان تکرار, یادآوری کنید تابع زمان بندی را فراخوانی می کند
برای تعیین زمان فعال کردن یادآوری. اولین باری که یادآور در صف قرار می گیرد،
تابع زمانبندی با آرگومان 1 فراخوانی می شود. هر بار که یادآوری فعال می شود
با فراخوانی مجدد تابع زمان بندی مجدداً زمان بندی می شود. در هر تماس، استدلال
یک افزایش می یابد.

مقدار بازگشتی تابع زمانبندی باید یک باشد INT یا یک TIME. اگر مقدار بازگشتی
هست یک TIME، سپس یادآور مجدداً در صف قرار می گیرد تا در آن زمان فعال شود. اگر مثبت باشد
عدد صحیح n، سپس یادآور مجدداً در صف قرار می گیرد تا در زمان ماشه قبلی بعلاوه راه اندازی شود n
دقایق. در نهایت، اگر یک عدد صحیح منفی یا صفر باشد، یادآور مجدداً در صف قرار می‌گیرد
ماشه n دقیقه قبل از AT زمان. توجه داشته باشید که باید وجود داشته باشد AT بند برای برنامه ریزی شده
شرط انجام هر کاری

مثالی در اینجا آورده شده است:

FSET _sfun(x) انتخاب کنید(x، -60، 30، 15، 10، 3، 1، 1، 1، 1، 0)
REM در ساعت 13:00 SCHED _sfun MSG foo

یادآوری ابتدا در ساعت 13:00-60 دقیقه یا ساعت 12:00 فعال می شود. بعدی خواهد بود
30 دقیقه بعد در ساعت 12:30 فعال شد. سپس، در 12:45، 12:55، 12:58 فعال می شود،
12:59، 13:00، 13:01 و 13:02.

NOTES

1 اگر در حین ارزیابی خطایی رخ دهد sched_func، و سپس یادآوری کنید به
با استفاده از AT زمان و دلتا و تکرار ارزش دارد و هرگز تماس نمی گیرد sched_func
دوباره.

2 در صورت پردازش sched_func زمانی زودتر از زمان فعلی سیستم به دست می‌آید
به طور مکرر با آرگومان فزاینده فراخوانی می شود تا زمانی که مقداری بزرگتر از یا به دست آورد
برابر با زمان فعلی با این حال، اگر دنباله ای از مقادیر محاسبه شده در طول
پس تکرار به شدت افزایش نمی یابد یادآوری کنید به حالت پیش فرض برمی گردد
رفتار می کند و هرگز تماس نمی گیرد sched_func دوباره.

3 استفاده از آن کاملا امکان پذیر است sched_func برای ادامه راه اندازی یک یادآوری حتی پس از آن
AT-زمان. با این حال، امکان برنامه ریزی مجدد یادآوری بعد از نیمه شب وجود ندارد - خیر
عبور از مرزهای تاریخ مجاز است. همچنین، کاملا امکان پذیر است نه ماشه
یادآوری در AT زمانی که از یک تابع زمان بندی استفاده می کنید. با این حال، اگر شما
تابع زمانبندی (به دلایل 1 و 2) قبل از پایان پایان می یابد AT زمان از
یادآوری، آن اراده تحریک شود در AT زمان، زیرا پردازش عادی طول می کشد
روی.

4 توابع زمانبندی شما باید (به عنوان یک سبک خوب) وقتی دیگر 0 را برگرداند
برنامه ریزی مورد نیاز است. مثال را ببینید.

5 همه توابع زمان بندی ارزیابی می شوند بعد از کل اسکریپت یادآوری خوانده شده است
بنابراین، هر تعاریف تابعی که در انتهای اسکریپت وجود دارد، وجود دارد
استفاده شده.

L' راضی باشید عبارت


شکل REM که استفاده می کند راضی باشید به شرح زیر است:

REM ماشه راضی باشید صادرات

روش کار به شرح زیر است: یادآوری کنید ابتدا یک تاریخ ماشه را در حالت عادی محاسبه می کند
روش. بعد، تنظیم می شود trigdate() به تاریخ شروع محاسبه شده سپس ارزیابی می کند
صادرات. اگر نتیجه رشته تهی یا صفر نباشد، پردازش به پایان می رسد. در غیر این صورت، یادآوری کنید
تاریخ راه اندازی بعدی را محاسبه می کند و دوباره آزمایش می کند صادرات. این تکرار تا زمانی که صادرات
به غیر صفر یا غیر صفر، یا تا زمانی که حد تکرار مشخص شده با -x
گزینه خط فرمان رسیده است.

If صادرات پس راضی نیست trigvalid() روی 0 تنظیم شده است. در غیر این صورت، trigvalid() تنظیم شده است
1. در هر صورت پیغام خطایی صادر نمی شود.

این واقعا مفید است فقط اگر صادرات شامل تماس با trigdate() عملکرد؛ در غیر این صورت،
صادرات تغییر نخواهد کرد یادآوری کنید تکرار می کند.

نمونه ای از مفید بودن راضی باشید: فرض کنید می خواهید هر جمعه به شما هشدار داده شود
سیزدهم اولین تلاش شما ممکن است این باشد:

# اشتباه!
REM جمعه 13 +2 MSG جمعه سیزدهم %b است.

اما این کار نخواهد کرد. این یادآوری در اولین جمعه در یا پس از سیزدهم شروع می‌شود
هر ماه. راه انجام آن با دنباله پیچیده تر است:

REM 13 SATISFY wkdaynum(trigdate()) == 5
IF trigvalid()
REM [trigdate()] +2 MSG \
جمعه سیزدهم %b است.
Endif

بیایید ببینیم این چگونه کار می کند. در راضی باشید بند در تمام سیزدهم های متوالی تکرار می شود
ماه، تا زمانی که تاریخ آغازگر پیدا شود که روز هفته آن جمعه (== 5) باشد. اگر تاریخ معتبر است
پیدا شد، ما از تاریخ محاسباتی ماشه برای تنظیم یادآور بعدی استفاده می کنیم.

همچنین می توانستیم بنویسیم:

REM جمعه SATISFY روز (trigdate()) == 13

اما این منجر به تکرارهای بیشتری می شود، زیرا "جمعه ها" بیشتر از "13th of" رخ می دهند
ماه."

این تکنیک استفاده از یکی REM دستور محاسبه تاریخ ماشه ای که باید توسط دیگری استفاده شود
فرمان کاملا قدرتمند است برای مثال، فرض کنید می‌خواهید روز کارگر را حذف کنید
اولین دوشنبه ماه سپتامبر می توانید استفاده کنید:

# توجه: SATISFY 1 اصطلاحی برای "هیچ کاری نکن" است
REM دوشنبه 1 سپتامبر SATISFY 1
OMIT [trigdate()]

هشدار: این فقط را حذف می کند بعد روز کارگر، نه همه روزهای کارگر در آینده. این
می تواند منجر به نتایج عجیب و غریب شود، به عنوان حذف کنید زمینه می تواند بسته به تاریخ فعلی تغییر کند.
به عنوان مثال، اگر بعد از دستورات بالا از دستور زیر استفاده کنید:

REM Mon AFTER msg hello

نتیجه آنطور که انتظار دارید نخواهد بود. یک تقویم شهریور 1992 تهیه کنید.
روز کارگر روز دوشنبه 7 شهریور 1992 بود یادآوری کنید به اطراف می رسد
محاسبه ماشه برای سه شنبه 8 شهریور 1992، حذف کنید دستور اکنون خواهد بود
حذف روز کارگر برای سال 1993، و فرمان "Mon AFTER" فعال نخواهد شد. (اما ببینید
شرح SCANFROM در بخش "جزئیات مربوط به محاسبه ماشه.")

احتمالاً بهتر است از محاسبات دوری کنید حذف کنید تاریخ ها را فعال کنید، مگر اینکه آنها را حفظ کنید
دام در ذهن

برای نسخه های یادآوری کنید از 03.00.07 می توانید الف MSG, RUNو غیره بند در
a راضی باشید بند به شرح زیر:

REM trigger_stuff SATISFY [expr] بدن MSG

توجه داشته باشید که فقط برای این مورد، صادرات بعد از راضی باشید باید در پرانتز محصور شود. آن باید
بعد از تمام اجزای دیگر ماشه، و بلافاصله قبل از MSG, RUN,
و غیره کلمه کلیدی اگر صادرات نمی توان ارضا شد، پس یادآوری فعال نمی شود.

بنابراین، مثال "جمعه سیزدهم" را می توان به صورت فشرده تر بیان کرد:

REM 13 +2 SATISFY [wkdaynum(trigdate()) == 5] \
MSG جمعه سیزدهم %b است.

و می‌توانید یادآوری را در روزهای دوشنبه، چهارشنبه و پنج‌شنبه در روزهای فرد ایجاد کنید.
شماره روزهای ماه با موارد زیر:

REM دوشنبه چهارشنبه پنج‌شنبه SATISFY [day(trigdate())%2] \
MSG اینجاست!!!

توجه داشته باشید که راضی باشید و OMITFUNC اغلب می توان برای حل همان مشکل استفاده کرد، هرچند در
روش های مختلف. گاهی اوقات الف راضی باشید تمیزتر است و گاهی اوقات OMITFUNC; آزمایش و
از هر کدام واضح تر به نظر می رسد استفاده کنید.

اشکال زدایی یادآور اسکریپت ها


اگر چه خط فرمان -d گزینه برای اشکال زدایی مفید است، اغلب بیش از حد است. برای
به عنوان مثال، اگر شما را روشن کنید -dx گزینه ای برای فایل یادآوری با عبارات پیچیده،
مقدار زیادی خروجی دریافت خواهید کرد. در اشکال زدایی دستور به شما اجازه می دهد تا اشکال زدایی را کنترل کنید
پرچم های تحت کنترل برنامه قالب این است:

اشکال زدایی [+پرچمدار] [-پرچم]

فلگسون و پرچم متشکل از رشته هایی از کاراکترهای "extvlf" است که مطابق با
گزینه های اشکال زدایی که در بخش گزینه های خط فرمان بحث شده است. اگر قبل از "+" باشد،
گروه مربوطه از گزینه های اشکال زدایی روشن است. در غیر این صورت، آنها سوئیچ می شوند
خاموش به عنوان مثال، می توانید از این دنباله برای اشکال زدایی یک عبارت پیچیده استفاده کنید:

اشکال زدایی +x
تنظیم یک very_complex_expression(خیلی_ارگ)
اشکال زدایی -x

L' DUMPVARS COMMAND

دستور DUMPVARS مقادیر متغیرها را در حافظه نمایش می دهد. فرمت آن این است:

DUMPVARS [VAR...]

اگر لیستی از نام متغیرها را با فاصله از هم جدا کنید، متغیرهای مربوطه هستند
نمایش داده. اگر لیستی از متغیرها را ارائه نکنید، همه متغیرهای موجود در حافظه هستند
نمایش داده. برای تخلیه یک متغیر سیستمی، نام آن را در لیست متغیرهای dump قرار دهید. اگر
شما یک علامت دلار تنها را در لیست متغیرها قرار می دهید که باید تخلیه شوند، سپس همه متغیرهای سیستم
ریخته خواهد شد.

L' ERRMSG COMMAND

La ERRMSG فرمت دستور زیر است:

ERRMSG بدن

La بدن از فیلتر جایگزین عبور داده می شود (با تاریخ آغازگر ضمنی
امروز()) و در جریان خروجی خطا چاپ می شود. مثال:

IF !defined("critical_var")
ERRMSG شما باید یک مقدار برای "critical_var" ارائه کنید
خروج
Endif

L' خروج COMMAND

مثال بالا استفاده از the را نیز نشان می دهد خروج فرمان این باعث بی قید و شرط می شود
خروج از پردازش اسکریپت هر یادآوری زمان‌بندی شده در صف نادیده گرفته می‌شود. اگر شما در
حالت تقویم (توضیح بعدی)، سپس پردازش تقویم متوقف می شود.

اگر شما یک INT-تایپ عبارت بعد از خروج دستور، به فراخوان بازگردانده می شود
برنامه به عنوان وضعیت خروج. در غیر این صورت وضعیت خروج 99 برگردانده می شود.

L' گرگرفتگی COMMAND

این دستور به سادگی از کلمه تشکیل شده است گرگرفتگی روی یک خط به تنهایی دستور فلاش می شود
خروجی استاندارد و جریان های خطای استاندارد استفاده شده توسط یادآوری کنید. این وحشتناک نیست
برای اکثر مردم مفید است، اما اگر بدوید ممکن است مفید باشد یادآوری کنید به عنوان فرآیند فرعی دیگری
برنامه، و می خواهید از لوله ها برای ارتباط استفاده کنید.

تقویم MODE


اگر شما عرضه کنید -c, -s or -p سپس گزینه خط فرمان یادآوری کنید در "حالت تقویم" اجرا می شود.
در این حالت ، یادآوری کنید اسکریپت را به طور مکرر تفسیر می کند و یک بار تکرار را انجام می دهد
کل فایل برای هر روز در تقویم. یادآوری هایی که باعث می شوند در داخلی ذخیره می شوند
بافرها، و سپس در مکان های مناسب در تقویم درج می شود.

اگر شما نیز عرضه کنید -a پس گزینه یادآوری کنید یادآوری های زماندار را شامل نمی شود
تقویم

La -p گزینه همراه با استفاده می شود Rem2PS برنامه ای برای تولید تقویم در
فرمت پست اسکریپت به عنوان مثال، دستور زیر کد پست اسکریپت را به
خروجی استاندارد:

یادآوری -p .reminders | rem2ps

شما می توانید یک تقویم پست اسکریپت را با لوله کردن آن به صفحه چاپ کنید لیتر فرمان

اگر یک اسکریپت یادآوری به نام ".reminders" دارید و این دستور را اجرا می کنید:

یادآوری -c .reminders ژانویه 1993

سپس یادآوری کنید اسکریپت را 31 بار، یک بار برای هر روز در ژانویه اجرا می کند. هر بار آن را
اسکریپت را اجرا می کند، مقدار آن را افزایش می دهد امروز(). هر یادآوری که تاریخ شروع آن
کبریت امروز() وارد تقویم می شوند.

MSG و CALنوع یادآوری، به طور پیش فرض، تمام بدن خود را در تقویم درج می کند.
RUNیادآورهای نوع معمولاً در تقویم درج نمی شوند. با این حال، اگر شما الف
بخشی از بدن در دنباله %"...%"، فقط آن قسمت درج می شود. مثلا،
موارد زیر را در نظر بگیرید:

REM 6 ژانویه MSG %"تولد دایان%" %b است

در حالت عادی، یادآوری کنید "تولد دایان امروز است" در 6 ژانویه چاپ می شود.
با این حال، در حالت تقویم، فقط متن "تولد دیان" در کادر درج می شود
برای 6 ژانویه

اگر به صراحت از دنباله %"...%" در الف استفاده کنید RUNیادآوری را تایپ کنید، سپس متن بین آن
جداکننده ها در تقویم درج می شوند. اگر از دنباله %"%" در الف استفاده کنید MSG or
CALیادآوری را تایپ کنید، سپس هیچ ورودی تقویمی برای آن یادآوری تولید نمی‌شود.

حفظ کردن متغیرها

زیرا یادآوری کنید از طریق اسکریپت برای هر روز در تقویم تکرار می شود، عملیات کند
ممکن است سرعت تولید یک تقویم را به شدت کاهش دهد.

به عنوان مثال، فرض کنید متغیرهای "me" و "hostname" را به صورت زیر تنظیم کنید:

SET me shell ("whoami")
تنظیم پوسته نام میزبان ("نام میزبان")

به طور معمول، یادآوری کنید تمام متغیرهای بین تکرارها را در حالت تقویم پاک می کند. با این حال، اگر
محاسبه متغیرهای خاص کند هستند و در بین تکرارها تغییر نمی کنند
"حفظ" ارزش های خود را با حفظ فرمان همچنین، از آنجایی که تعاریف تابع هستند
حفظ شده بین تکرارهای تقویم، نیازی به تعریف مجدد آنها در هر یک نیست
تکرار. بنابراین، می توانید از دنباله زیر استفاده کنید:

اگر ! تعریف شده ("ابتدایی")
مجموعه اولیه 1
set me shell ("whoami")
تنظیم پوسته نام میزبان ("نام میزبان")
fset func(x) complex_expr
حفظ مقدار اولیه میزبان من
Endif

عملیات به شرح زیر است: در اولین تکرار از طریق اسکریپت، "initialized" است
تعریف نشده. بنابراین، دستورات بین IF و Endif اعدام می شوند. را حفظ فرمان
تضمین می کند که مقادیر مقداردهی اولیه، me و hostname برای بعدی حفظ می شوند
تکرارها در تکرار بعدی، دستورات حذف می شوند، زیرا مقداردهی اولیه شده است
تعریف شده باقی ماند بنابراین، عملیات وقت گیر که به ارزش بستگی ندارد
امروز() فقط یک بار انجام می شود.

متغیرهای سیستم (آنهایی که نام آنها با '$' شروع می شود) به طور خودکار بین آنها حفظ می شود
تکرارهای تقویم

توجه داشته باشید که برای بهره وری، یادآوری کنید اسکریپت یادآور (و هر عبارتند ازفایل های d) در
حافظه هنگام تولید تقویم

یادآوری های زمان دار مرتب شده و به ترتیب زمانی در تقویم قرار می گیرند. اینها دنبال می شود
توسط یادآوری های غیر به موقع یادآوری کنید به طور خودکار زمان یادآوری های زمان بندی شده را در
تقویم بر اساس -b گزینه خط فرمان یادآوری ها در حالت تقویم مرتب شده اند
گویی که -g گزینه استفاده شده بود؛ می توانید ترتیب مرتب سازی را در حالت تقویم تغییر دهید
به صراحت با استفاده از -g گزینه ای برای تعیین ترتیبی متفاوت از پیش فرض.

تکرار شد اعدام

اگر شما یک تکرار پارامتر در خط فرمان، و از آن استفاده نکنید -c, -p، یا -s
گزینه ها، یادآوری کنید به روشی مشابه حالت تقویم عمل می کند. آن را مکررا اجرا می کند
اسکریپت یادآوری، افزایشی امروز() با هر تکرار همین قوانین در مورد
حفظ متغیرها و تعاریف تابع اعمال می شود. توجه داشته باشید که با استفاده از تکرار در
خط فرمان را نیز فعال می کند -q گزینه و غیرفعال می کند -z گزینه. به عنوان مثال، اگر شما
می خواهم ببینم چگونه یادآوری کنید برای هفته آینده رفتار خواهد کرد، می توانید تایپ کنید:

یادآوری .reminders '*7'

اگر می خواهید تاریخ 1000 روز آینده را چاپ کنید، از:

(پژواک 'بنر %'؛ اکو 'پیام [امروز()]%') | یادآوری - '*1000'

اولیه سازی متغیرها ON L' COMMAND LINE


La -i از گزینه برای مقداردهی اولیه متغیرها بر روی استفاده می شود یادآوری کنید خط فرمان. فرمت است
-iVAR=صادرات، که در آن صادرات هر عبارت معتبری است توجه داشته باشید که ممکن است مجبور شوید از نقل قول یا
فرار می کند تا پوسته از تفسیر کاراکترهای خاص در آن جلوگیری کند صادرات. شما می توانید داشته
به همان تعداد -i گزینه ها همانطور که می خواهید در خط فرمان هستند و آنها به ترتیب پردازش می شوند.
بنابراین، اگر یک متغیر در یک تعریف شده باشد -i گزینه، می توان آن را با بعدی ارجاع داد -i
گزینه.

توجه داشته باشید که اگر تاریخ را در خط فرمان وارد کنید، تا زمانی که همه گزینه‌ها وجود نداشته باشد، تجزیه نمی‌شود
پردازش شده اند. بنابراین، اگر شما استفاده کنید امروز() در هر کدام از -i عبارات، آن را خواهد کرد
همان مقدار را برگردانید realtoday() و نه تاریخ ارائه شده در خط فرمان.

هر متغیری که در خط فرمان تعریف شده است حفظ شده است مانند با حفظ فرمان

شما نباید هیچ فاصله ای بین آنها داشته باشید -i گزینه و علامت مساوی؛ در غیر این صورت،
نام متغیرهای عجیب و غریب ایجاد می شود که فقط با استفاده از آن قابل دسترسی است ارزش() or تعریف شده است()
توابع.

همچنین می توانید با استفاده از زیر یک تابع را در خط فرمان تعریف کنید:

-iعملکرد(قوس)=تعریف

حتما از کاراکترهای خاص در برابر تفسیر پوسته محافظت کنید.

MORE درباره ما پست اسکریپت


La PS و PSFILE یادآورها کد پست اسکریپت را مستقیماً به چاپگر ارسال می کنند. آنها با هم تفاوت دارند
که PSیادآوری -type بدنه خود را مستقیماً به خروجی PostScript ارسال می کند (بعد از
پردازش توسط فیلتر جایگزین) در حالی که PSFILEبدن نوع باید به سادگی تشکیل شده باشد
از یک نام فایل در Rem2PS برنامه فایلی را که در آن نامگذاری شده است را باز می کند PSFILE-یادآوری نوع،
و محتوای آن را در خروجی PostScript قرار دهید.

یادآورهای نوع PostScript برای یک روز خاص در خروجی PostScript گنجانده شده است
به ترتیب اولویت مرتب شده است توجه داشته باشید که ترتیب دستورات PostScript دارای یک است عمده
تاثیر بر ظاهر تقویم ها به عنوان مثال، کد پست اسکریپت برای سایه زدن a
در صورت قرار دادن کد نماد ماه، جعبه تقویم کد را برای رسم نماد ماه پاک می کند
ابتدا در تقویم به همین دلیل، شما نباید ارائه دهید PS or PSFILEنوع
یادآوری با اولویت ها؛ در عوض، باید مطمئن شوید که آنها در یادآور ظاهر می شوند
اسکریپت به ترتیب صحیح کد پست اسکریپت باید اشیایی را که از روی کار می کنند ترسیم کند
پس زمینه به پیش زمینه، به طوری که اشیاء پیش زمینه به درستی اشیاء پس زمینه را پوشش دهند.
اگر این یادآورها را در اولویت قرار دهید و اسکریپت را با استفاده از ترتیب مرتب سازی نزولی برای اجرا کنید
اولویت ها، خروجی PostScript کار نخواهد کرد.

تمام کد پست اسکریپت برای یک تاریخ خاص در یک محصور شده است صرفه جویی-بازیابی جفت.
با این حال، اگر چندین یادآوری از نوع PostScript برای یک روز فعال شوند، هر بخش
پست اسکریپت در a محصور نشده است صرفه جویی-بازیابی جفت - در عوض، کل بدن
پست اسکریپت گنجانده شده است.

یادآوری های نوع پست اسکریپت قبل از هر معمولی توسط چاپگر پست اسکریپت اجرا می شود
ورودی های تقویم بنابراین، ورودی‌های تقویم معمولی، نوع PostScript را پوشش می‌دهند
یادآورها، به شما امکان می دهد پس زمینه های سایه دار یا گرافیکی را برای روزهای خاص ایجاد کنید.

قبل از اجرای کد پست اسکریپت، مبدأ سیستم مختصات پست اسکریپت است
در گوشه سمت چپ پایین "جعبه" در تقویم نشان دهنده قرار دارد
امروز(). این مکان دقیقا در وسط تقاطع پایین و
خطوط سیاه سمت چپ که کادر را مشخص می کند - ممکن است مجبور باشید ضخامت آنها را در نظر بگیرید
خطوط هنگام محاسبه موقعیت

چندین متغیر PostScript برای کد پست اسکریپتی که شما ارائه می کنید در دسترس است. همه
متغیرهای فاصله و اندازه در واحدهای پست اسکریپت هستند (1/72 اینچ.) متغیرها عبارتند از:

عرض خط
عرض خطوط مشبک مشکی تقویم را تشکیل می دهند.

Border مرز بین مرکز خطوط شبکه و فضای مورد استفاده برای چاپ
ورودی های تقویم این حاشیه معمولاً فضای خالی است.

عرض جعبه و ارتفاع جعبه
عرض و ارتفاع جعبه تقویم، از مرکز به مرکز سیاه
خطوط شبکه

InBoxHeight
ارتفاع از مرکز خط مشبک سیاه پایین تا بالای خط معمولی
منطقه ورودی تقویم از فضای اینجا تا بالای جعبه فقط استفاده می شود
عدد روز را بکشید

/DayFont، /EntryFont، /SmallFont، /TitleFont و /HeadFont
فونت های مورد استفاده برای رسم اعداد روز، ورودی های تقویم، تقویم های کوچک،
عنوان تقویم (ماه، سال) و سرفصل های روز هفته، به ترتیب.

DaySize، EntrySize، TitleSize و HeadSize
اندازه فونت های بالا. (اندازه فونت تقویم کوچک است نه مشخص
در اینجا.) برای مثال، اگر می‌خواهید تاریخ عبری را در کنار روز عادی چاپ کنید
شماره در تقویم، استفاده از:

REM PS Border BoxHeight Border Sub DaySize sub moveto \
/DayFont findfont DaySize scalefont setfont \
([hebday(امروز())] [hebmon(امروز())]) نشان می دهد

به نحوه استفاده از /DayFont و DaySize توجه کنید.

توجه داشته باشید که در صورت ارائه کد پست اسکریپت، امکان تولید پست اسکریپت نامعتبر وجود دارد
فایل ها. همیشه قبل از ارسال پست اسکریپت خود را با یک نمایشگر پست اسکریپت به طور کامل تست کنید
به چاپگر در پست اسکریپت خود نباید از هیچ گونه نظر ساختاری سند استفاده کنید
کد

اهریمن، دیو MODE


اگر از شما استفاده می کنید -z گزینه خط فرمان، یادآوری کنید در حالت "شیب" اجرا می شود. در این حالت، خیر
یادآوری های "عادی" صادر می شود. در عوض، فقط یادآورهای زمان‌دار جمع‌آوری و در صف قرار می‌گیرند.
و سپس هر زمان که به زمان ماشه خود رسیدند صادر می شوند.

علاوه بر این، یادآوری کنید هر چند دقیقه یکبار از خواب بیدار می شود تا تاریخ اصلاح را بررسی کند
اسکریپت یادآوری (نام فایل ارائه شده در خط فرمان.) اگر یادآوری کنید تشخیص می دهد که
اسکریپت تغییر کرده است، خود را دوباره در حالت دیمون اجرا می کند و تغییر را تفسیر می کند
اسکریپت

در حالت دیمون، یادآوری کنید همچنین اسکریپت یادآوری را زمانی که سیستم را تشخیص دهد، دوباره می خواند
تاریخ تغییر کرده است

در حالت دیمون، یادآوری کنید طوری عمل می کند که انگار -f گزینه استفاده شده بود، بنابراین برای اجرا در دیمون
حالت در پس زمینه، استفاده از:

یادآوری -z .reminders &

در صورت استفاده از sh or بر هم زدن، ممکن است مجبور شوید از دستور "nohup" برای اطمینان از اینکه دیمون استفاده کنید
وقتی از سیستم خارج می شوید کشته نمی شود.

پاکسازی MODE


اگر شما عرضه کنید -j گزینه خط فرمان، یادآوری کنید اجرا می شود در پالایش حالت. در این حالت، آن
سعی می کند یادآوری های منقضی شده را از فایل های یادآوری شما پاک کند.

در حالت پاکسازی، یادآوری کنید فایل یادآوری شما را می خواند و با ضمیمه کردن، یک فایل جدید ایجاد می کند
".purged" به نام فایل اصلی. توجه داشته باشید که یادآوری کنید هرگز فایل اصلی شما را ویرایش می کند. آی تی
همیشه یک فایل .purged جدید ایجاد می کند.

اگر استناد کنید یادآوری کنید در مقابل یک دایرکتوری به جای یک فایل، سپس یک فایل .purged ایجاد می شود
برای هر فایل *.rem در دایرکتوری.

به طور معمول، یادآوری کنید فایل های .purged را برای فایل های شامل شده ایجاد نمی کند. با این حال، اگر شما عرضه کنید
یک آرگومان عددی بعد از -j، و سپس یادآوری کنید فایل های .purged را برای سطح مشخص شده ایجاد می کند
از شامل. مثلاً اگر استناد کنید یادآوری کنید با استدلال -j2و سپس فایل های .purged
برای فایل (یا دایرکتوری) مشخص شده در خط فرمان، هر فایلی ایجاد خواهد شد
توسط آنها و هر فایلی که در آن فایل ها گنجانده شده است. با این حال، فایل های .purged این کار را نمی کنند
برای فایل های INCLUDE سطح سوم یا بالاتر ایجاد شود.

تعیین اینکه کدام یادآورها منقضی شده اند بسیار مشکل است. یادآوری کنید تمام تلاشش را می کند، اما
همیشه باید فایل .purged را با فایل اصلی مقایسه کنید و تغییرات را به صورت دستی ادغام کنید
پشت در

Remind فایل .purged را به صورت زیر حاشیه نویسی می کند:

یک یادآور منقضی شده با پیشوند: #!P: منقضی شده است:

در شرایطی که یادآوری کنید نمی توانید به طور قابل اعتماد تعیین کنید که چیزی منقضی شده است، ممکن است
نظرات زیر درج شده قبل از خط مشکل را ببینید:

#!P: یادآوری‌های نوع SATISFY را نمی‌توان پاک کرد

#!P: IF بعدی نادرست ارزیابی شد...
#!P: عبارات REM در بلوک IF برای پاکسازی بررسی نشده است.

#!P: IF قبلی درست ارزیابی شد.
#!P: عبارات REM در بلوک ELSE برای پاکسازی بررسی نشده است

#!P: IFTRIG بعدی فعال نشد.
#!P: عبارات REM در بلوک IFTRIG برای پاکسازی بررسی نشده است.

#!P: خط بعدی منقضی شده است، اما حاوی عبارت است... لطفاً تأیید کنید

#!P: خط بعدی ممکن است منقضی شده باشد، اما حاوی عبارت غیر ثابت است

#!پ! نمی توان خط بعدی را تجزیه کرد: Some-Error-Message-Here

یادآوری کنید همیشه فایل های .purged را با خطوطی که با "#!P" شروع می شوند حاشیه نویسی می کند. اگر چنین خطوطی هستند
مواجه شده در اصلی فایل، آنها در فایل .purged کپی نمی شوند.

مرتب سازی یادآوری ها


La -g گزینه علل یادآوری کنید برای مرتب کردن یادآورها بر اساس تاریخ، زمان و اولویت قبلی
صدور آنها توجه داشته باشید که یادآوری‌ها همچنان به ترتیبی که در آن مشاهده می‌شود محاسبه می‌شوند
اسکریپت با این حال، به جای اینکه فورا صادر شوند، در یک داخلی ذخیره می شوند
بافر چه زمانی یادآوری کنید پردازش اسکریپت به پایان رسیده است، یادآورهای ذخیره شده را در آن صادر می کند
ترتیب مرتب شده در -g گزینه را می توان با حداکثر چهار کاراکتر دنبال کرد که همه باید "a" باشند.
یا "د". اولین کاراکتر ترتیب مرتب سازی را بر اساس تاریخ آغازگر (صعودی یا
نزولی)، دومی ترتیب مرتب سازی را بر اساس زمان ماشه و سومی مشخص می کند
ترتیب مرتب سازی بر اساس اولویت اگر کاراکتر چهارم "d" باشد، یادآورهای بی زمان هستند
قبل از یادآوری های زمان بندی شده مرتب شده است. پیش فرض این است که همه فیلدها را به ترتیب صعودی مرتب کنیم و
برای مرتب کردن یادآوری های بی زمان پس از یادآوری های زمان دار.

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

شما می توانید یک تابع تعریف شده توسط کاربر به نام SORTBANNER تعریف کنید که یکی را می گیرد تاریخنوع
بحث و جدل. در حالت مرتب سازی، دنباله زیر اتفاق می افتد:

If یادآوری کنید متوجه می شود که یادآوری بعدی که صادر می شود دارای تاریخ راه اندازی متفاوت از تاریخ است
قبلی (یا اگر اولین موردی است که صادر می شود)، سپس SORTBANNER با آن فراخوانی می شود
تاریخ ماشه به عنوان آرگومان آن. نتیجه به یک رشته فشار داده می شود و از طریق آن عبور می کند
فیلتر جایگزین با تاریخ شروع مناسب. سپس نتیجه نمایش داده می شود.

در اینجا یک مثال است - قطعه زیر را در نظر بگیرید:

# بنر معمولی را خاموش کنید
٪ بنر
REM 11 مارس 1993 ++1 MSG چندان مهم نیست
REM 17 مارس 1993 ++7 MSG Way در آینده
REM 10 مارس 1993 MSG یادآوری مهم
REM 11 مارس 1993 ++1 MSG چندان مهم نیست - B
FSET sortbanner(x) iif(x == today()، \
"**** کارهایی که امروز باید انجام داد *****"، \
"----- کارهایی که باید انجام داد %b -----")

اجرای این با -گا گزینه در 10 مارس 1993 خروجی زیر را تولید می کند:

***** کارهایی که امروز باید انجام داد *****

یادآوری مهم

----- کارهایی که فردا باید انجام داد -----

خیلی مهم نیست

خیلی مهم نیست - ب

----- کارهایی که باید در 7 روز انجام دهید -----

راه در آینده

شما می توانید با استفاده از args() تابع داخلی برای تعیین اینکه آیا SORTBANNER بوده است یا خیر
تعریف شده است. (برای مثال می توان از این برای ارائه یک تعریف پیش فرض برای SORTBANNER استفاده کرد
در یک فایل سیستمی که در انتهای فایل کاربر قرار داده شده است.) مثالی در اینجا آمده است:

# اگر قبلاً این کار را نکرده است، یک تابع مرتب‌سازی پیش‌فرض ایجاد کنید
#تعریف شد
if args("sortbanner") != 1
fset sortbanner(x) "--- کارهایی که باید انجام داد %b ---"
انتهایی

MSGPREFIX() و MSGSUFFIX()


شما می توانید در اسکریپت خود دو تابع به نام تعریف کنید msgprefix() و msgssfix(). آنها
باید هر کدام یک آرگومان را بپذیرند، عددی از 0 تا 9999.

در حالت عادی، برای MSG- و MSFیادآوری -type، دنباله زیر زمانی رخ می دهد که یادآوری کنید
یک یادآوری ایجاد می کند:

o اگر msgprefix() تعریف شده است، با اولویت یادآوری به عنوان آن ارزیابی می شود
بحث و جدل. نتیجه چاپ می شود. این است نه از طریق تعویض گذشت
فیلتر کردن

o بدنه یادآور چاپ شده است.

o اگر msgssfix() تعریف شده است، با اولویت یادآوری به عنوان آن ارزیابی می شود
بحث و جدل. نتیجه چاپ می شود. این است نه از طریق تعویض گذشت
فیلتر کردن

در اینجا یک مثال آورده شده است: تعریف زیر باعث می شود که یادآور اولویت-0 قبل از آن باشد
"URGENT" و اولویت - 6000 یادآوری که قبل از آن "(مهم نیست)".

fset msgprefix(x) iif(x==0, "URGENT: ", \
x==6000، "(مهم نیست) "، "")

در حالت تقویم (با -c, -s or -p گزینه ها)، یک جفت مشابه از توابع به نام
calprefix() و پسوند () را می توان تعریف کرد. آنها با تمام یادآورهایی که یک را تولید می کنند کار می کنند
ورود در تقویم (یعنی CAL- و احتمالا RUNنوع یادآوری و همچنین MSGنوع
یادآوری.)

NOTES

به طور معمول، بدنه یک یادآور با یک کالسکه برگشت دنبال می شود. بنابراین، نتایج از
msgssfix() در خط بعدی ظاهر می شود. اگر این را نمی خواهید، بدنه را تمام کنید
یادآوری با علامت درصد، "%". اگر می خواهید بین یادآورهای خود فاصله داشته باشید، به سادگی
شامل بازگشت کالسکه (ارابه(13)) به عنوان بخشی از msgssfix() ارزش بازگشتی

If یادآوری کنید در ارزیابی مشکل دارد msgprefix(), msgssfix() or sortbanner()، شما یک را ببینید
بسیاری از پیام های خطا برای مثال، موارد زیر را تعریف کنید:

fset msgprefix(x) x/0

خارجی زبان پشتیبانی


نسخه شما از یادآوری کنید ممکن است برای پشتیبانی از زبانی غیر از انگلیسی کامپایل شده باشد.
این پشتیبانی ممکن است کامل باشد یا نباشد - برای مثال، همه پیام‌های خطا و استفاده ممکن است
هنوز به زبان انگلیسی باشد با این حال، حداقل، نسخه های خارجی زبان یادآوری کنید اراده
خروجی نام ماه ها و روزهای هفته به زبان خارجی. همچنین، تعویض
مکانیسم ساختارهای مناسب برای زبان خارجی را جایگزین خواهد کرد
انگلیسی

نسخه خارجی زبان یادآوری کنید زبان انگلیسی یا زبان خارجی را می پذیرد
نام روزهای هفته و ماه ها در یک اسکریپت یادآوری. با این حال، برای سازگاری بین
نسخه های یادآوری کنید، شما باید فقط از نام های انگلیسی در اسکریپت های خود استفاده کنید. همچنین، اگر شما
کامپایلر C یا کتابخانه های زمان اجرا "8 بیتی تمیز" نیستند یا ISO-لاتین را نمی فهمند
مجموعه کاراکترها، نام ماه یا روز با حروف تاکیدی ممکن است شناسایی نشوند.

L' HEBREW تقویم


یادآوری کنید دارای پشتیبانی از تقویم عبری، که یک تقویم قمری-شمسی است. این اجازه می دهد
شما برای ایجاد یادآوری برای تعطیلات یهودی، Jahrzeit (سالگرد مرگ) و
smachot (موقعیت های شاد.)

L' HEBREW سال

سال عبری 12 ماه دارد که به طور متناوب 30 و 29 روز طول می کشد. ماهها عبارتند از: تشری،
هشوان، کیسلف، توت، شوات، آدار، نیسان، ایار، سیوان، تموز، آو و ایلول. در کتاب مقدس
بارها، سال از نیسان شروع می شد، اما روش هاشانا (سال نو یهودیان) اکنون در جشن گرفته می شود
اول و دوم تشری.

در یک چرخه 19 ساله، 7 سال کبیسه وجود دارد که شامل سال های 3، 6، 8، 11، 14، 17 و 19 می شود.
چرخه. در یک سال کبیسه، یک ماه اضافی 30 روزه به آدار اضافه می شود. دو آدار
Adar A و Adar B نامیده می شوند.

به دلایل مذهبی خاص، سال نمی تواند از یکشنبه، چهارشنبه یا جمعه شروع شود. به
برای این تنظیم کنید، یک روز از کیسلف برداشته می شود یا به هشوان اضافه می شود. بنابراین، یک سال منظم می تواند
از 353 تا 355 روز و یک سال کبیسه از 383 تا 385 روز دارند.

وقتی کیسلف یا هشوان کوتاه باشد به آن می گویند مشروبی که بدرقه نوشابه ای باشد، یا کمبود دارد. وقتی طولانی است، آن است
نام شلم، یا پر

تاریخ یهودیان در غروب آفتاب تغییر می کند. با این حال، یادآوری کنید تاریخ را در نیمه شب تغییر خواهد داد، نه
غروب آفتاب بنابراین در فاصله بین غروب آفتاب تا نیمه شب، یادآوری یک روز زودتر از آن خواهد بود
تاریخ واقعی یهودی این نباید در عمل خیلی مشکل ساز باشد.

محاسبات برای تقویم یهودی بر اساس برنامه "hdate" نوشته شده توسط آموس بود
شاپیر از دانشگاه عبری اورشلیم، اسرائیل. او همچنین موارد قبلی را عرضه کرد
توضیح تقویم

HEBREW تاریخ توابع

هبتی (d_date)
روز ماه عبری را مطابق با تاریخ پارامتر. برای
به عنوان مثال، 12 آوریل 1993 مطابق با 21 نیسان 5753 است. بنابراین، hebday('1993/04/12')
21 برمی گرداند

هبمون (d_date)
نام ماه عبری مربوط به آن را برمی گرداند تاریخ. مثلا،
hebmon('1993/04/12') "Nisan" را برمی گرداند.

هب سال (d_date)
سال عبری مربوط به تاریخ. به عنوان مثال، hebyear ('1993/04/12')
5753 برمی گرداند

hebdate(i_day, s_hebmon [,id_yrstart [,i_jahr [,i_aflag]]])
La hebdate() تابع پیچیده ترین توابع پشتیبانی عبری است. می تواند
از 2 تا 5 آرگومان بگیرید. الف را برمی گرداند تاریخ مطابق با تاریخ عبری

La روز پارامتر می تواند از 1 تا 30 متغیر باشد و روز عبری را مشخص می کند
ماه هبمون پارامتر رشته ای است که باید یکی از ماه های عبری را نامگذاری کند
در بالا مشخص شده است. توجه داشته باشید که ماه باید به طور کامل نوشته شود و از آن استفاده کنید
نویسه‌گردانی انگلیسی قبلاً نشان داده شده است. همچنین می توانید "Adar A" و "Adar" را مشخص کنید
ب.» نام ماه به حروف بزرگ و کوچک حساس نیست.

La yrstart پارامتر می تواند a باشد تاریخ و یا INT. اگر آن است تاریخ، سپس
hebdate() اسکن اولین تاریخ عبری در آن تاریخ یا بعد از آن. مثلا:

hebdate (15, "Nisan", '1990/01/01')

بازگشت 1990/03/30، زیرا این اولین وقوع 15 نیسان در یا بعد از 1 است.
January 1990.

If yrstart است INT، به سال عبری تعبیر می شود. بدین ترتیب:

hebdate (22، "Kislev"، 5756)

برمی گرداند 1995/12/15، زیرا آن تاریخ مطابق با 22 Kislev, 5756 است. توجه داشته باشید که
هیچ یک از توابع تاریخ عبری با تاریخ های خارج کار نمی کند یادآوری طبیعی
محدوده برای تاریخ

If yrstart ارائه نشده است، به طور پیش فرض به امروز().

La jahr رفتار را تغییر می دهد hebdate() به شرح زیر است:

If jahr 0 (پیش فرض) است، سپس hebdate() اسکن را ادامه می دهد تا زمانی که تاریخ را پیدا کند
که دقیقاً سایر پارامترها را برآورده می کند. مثلا:

hebdate (30، "ادار الف"، 1993/01/01)

برمی گرداند 1995/03/02، مربوط به 30 Adar A, 5755، زیرا آن بعدی است
وقوع 30 Adar A بعد از 1 ژانویه 1993. این رفتار مناسب است
پوریم کاتان که فقط در سال های کبیسه ظاهر می شود.

If jahr 1 است، سپس تاریخ به شرح زیر اصلاح می شود:

o 30 هشوان در سال هایی که هشوان است به 1 کیسلو تبدیل می شود مشروبی که بدرقه نوشابه ای باشد

o 30 Kislev در سال هایی که Kislev است به 1 Tevet تبدیل می شود مشروبی که بدرقه نوشابه ای باشد

o 30 Adar A در سالهای غیر کبیسه به 1 نیسان تبدیل می شود

o سایر تاریخ ها در Adar A به روز مربوطه در Adar در غیر
سالهای کبیسه

این رفتار برای smachot (موقعیت های شاد) و برای برخی از Jahrzeit ها مناسب است
- به "JAHRZEITS" مراجعه کنید.

if jahr 2 است، سپس تاریخ به شرح زیر اصلاح می شود:

o 30 کیسلو و 30 هشوان به 29 کیسلف و 29 هشوان تبدیل می شود.
به ترتیب، اگر ماه است مشروبی که بدرقه نوشابه ای باشد

o 30 Adar A در سالهای غیر کبیسه به 30 شوات تبدیل می شود

o سایر تاریخ ها در Adar A به روز مربوطه در Adar در غیر
سالهای کبیسه

if jahr 0، 1 یا 2 نیست، به عنوان یک سال عبری تفسیر می شود، و این رفتار است
محاسبه شده همانطور که در بخش بعدی، "JAHRZEITS" توضیح داده شده است.

La یک پرچم پارامتر رفتار تابع را برای تاریخ های Adar در طول تغییر می دهد
سالهای کبیسه. در یک پرچم is فقط استفاده می شود اگر yrstart هست یک تاریخ تایپ کنید

La یک پرچم فقط بر محاسبات تاریخ تأثیر می گذارد اگر هبمون به عنوان "آدار" مشخص شده است. در جهش
سال، الگوریتم زیر دنبال می شود:

o اگر یک پرچم 0 است، سپس تاریخ در Adar B فعال می شود. این پیش فرض است.

o اگر یک پرچم 1 است، سپس تاریخ در Adar A فعال می شود. ممکن است این باشد
مناسب برای Jahrzeits در سنت اشکنازی. با یک خاخام مشورت کنید

o اگر یک پرچم 2 است، سپس تاریخ در هر دو Adar A و Adar B از a فعال می شود
سال کبیسه. برخی از اشکنازیم ها هم در آدار الف و هم در آدار ب جهرزیت می کنند.

JAHRZEITS

Jahrzeit مراسم بزرگداشت سالانه مرگ کسی است. معمولاً در
سالگرد مرگ، اما در صورت تأخیر در خاکسپاری ممکن است به تعویق بیفتد - با یک خاخام مشورت کنید
اطلاعات بیشتر.

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

o اگر وفات در 30 هشوان واقع شده باشد و هشوان در سال بعد از وفات باشد
مشروبی که بدرقه نوشابه ای باشدسپس جهرزیت در 29 هشوان در سالهایی که هشوان است مشاهده می شود
مشروبی که بدرقه نوشابه ای باشد. در غیر این صورت، یهرزیت در 1 کیسلف زمانی که هشوان است مشاهده می شود مشروبی که بدرقه نوشابه ای باشد.

o اگر مرگ در 30 کیسلف رخ داده باشد، و کیسلف در سال بعد از مرگ رخ داده است
مشروبی که بدرقه نوشابه ای باشد، سپس jahrzeit در 29 Kislev در سالهایی که Kislev است مشاهده می شود مشروبی که بدرقه نوشابه ای باشد.
در غیر این صورت، yahrzeit در 1 Tevet هنگامی که Kislev است مشاهده می شود مشروبی که بدرقه نوشابه ای باشد.

o اگر مرگ در 1-29 Adar اتفاق افتاده باشد، در 1-29 Adar در سال های غیر کبیسه مشاهده می شود.

o اگر مرگ در 30 آدار اتفاق افتاده باشد در 30 شوات در سال غیر کبیسه مشاهده می شود.

تعیین یک سال عبری برای jahr پارامتر باعث می شود که رفتار صحیح باشد
برای مرگ در آن سال انتخاب شد. همچنین ممکن است مجبور شوید مشخص کنید یک پرچمبسته به شما
سنت

اطلاعات Jahrzeit توسط فرانک یلین ارائه شده است که به نقل از "جامع"
تقویم عبری» توسط آرتور اسپایر و «محاسبات تقویمی» توسط EM Reingold و
ناچوم درشوویتز

خارج از گروه یادآوری ها


La ویژه کلمه کلیدی برای انتقال اطلاعات "خارج از باند" به یادآوری کنید باطن، از جمله
as tkremind or Rem2PS. آنها فقط هنگام لوله گذاری داده ها از a استفاده می شوند یادآوری -p خط (توجه داشته باشید
که COLOR ویژه یک استثنا است. آن را به معادل MSG در کاهش می دهد یادآوری
حالت عادی کار.)

مختلف ویژهشناسایی‌ها برای هر باطن خاص هستند. با این حال، سه وجود دارد
ویژهs که همه Backend ها باید سعی در پشتیبانی از آن داشته باشند. آنها در حال حاضر توسط
Rem2PS, tkremind و rem2html.

La سایه ویژه جایگزین psshade() عملکرد. اینطوری استفاده کن:
REM Sat Sun SPECIAL SHADE 128
REM Mon SPECIAL SHADE 255 0 0
La سایه پس از کلمه کلیدی یک یا سه عدد از 0 تا 255 می آید
عدد ارائه شده است، به عنوان یک مقدار در مقیاس خاکستری از سیاه (0) تا سفید (255) تفسیر می شود.
اگر سه عدد ارائه شود، آنها به عنوان اجزای RGB از حداقل (0) تا تفسیر می شوند
حداکثر (255). مثال بالا رنگ خاکستری نسبتاً تیره را در آخر هفته ایجاد می کند و دوشنبه ها را a
قرمز کاملا اشباع شده (این سایه‌ها در تقویم‌های تولید شده توسط Rem2PS, tkremind و
rem2html.)

La ماه ویژه جایگزین psmoon() عملکرد. اینطوری استفاده کن:
REM [روز ماه(0)] SPECIAL MOON 0
REM [روز ماه(1)] SPECIAL MOON 1
REM [روز ماه(2)] SPECIAL MOON 2
REM [روز ماه(3)] SPECIAL MOON 3
این ها ماه های کوچک را در تقویم های مختلف می کشند. نحو کامل از ماه ویژه
به شرح زیر است:
... SPECIAL MOON فاز moonsize fontsize msg

فاز عددی از 0 تا 3 است، با 0 نشان دهنده ماه نو، 1 ربع اول، 2 a است.
ماه کامل و 3 ربع آخر.

مهتاب شدن قطر در واحدهای پست اسکریپت ماه برای رسم است. در صورت حذف یا ارائه
به عنوان -1، backend اندازه مناسب را انتخاب می کند.

اندازه فونت اندازه فونت در واحدهای پست اسکریپت است MSG

Msg متن اضافی است که در نزدیکی علامت ماه قرار می گیرد.

توجه داشته باشید که فقط Rem2PS پشتیبانی از باطن مهتاب شدن و اندازه فونت; باطن های دیگر استفاده می کنند
اندازه های ثابت

La COLOR ویژه به شما امکان می دهد یادآورهای رنگی را در تقویم قرار دهید. اینطوری استفاده کن:

REM ... SPECIAL COLOR 255 0 0 این یک یادآور قرمز روشن است
REM ... SPECIAL COLOR 0 128 0 این یک یادآور سبز تیره است

می توانید COLOR را به روش آمریکایی ("COLOR") یا انگلیسی ("COLOUR") بنویسید. این
کتابچه راهنمای کاربر از راه آمریکایی استفاده خواهد کرد.

بلافاصله بعد از COLOR باید سه عدد اعشاری از 0 تا 255 باشد
به ترتیب شدت قرمز، سبز و آبی را مشخص می کند. بقیه خط است
متن برای قرار دادن در تقویم

ویژه COLOR "دوبرابر خاص" است، زیرا در حالت عملکرد عادی خود، یادآوری رفتار می کند
یک COLOR خاص درست مانند یک یادآوری از نوع MSG. همچنین اگر استناد کنید یادآوری کنید با -سی سی...
سپس یادآورهای رنگی خاص را در ترمینال شما تقریبی می کند.

La هفته ویژه به شما امکان می دهد حاشیه نویسی هایی مانند شماره هفته را در تقویم قرار دهید. برای
به عنوان مثال، هر دوشنبه با شماره هفته ISO 8601 شماره گذاری می شود. شماره هفته است
به این صورت نشان داده شده است: "(Wn)" در این مثال، اما می توانید هر متنی را که دوست دارید بعد از آن قرار دهید
کلمه کلیدی WEEK.

REM دوشنبه هفته ویژه (W[weekno()])

متفرقه


COMMAND توافقنامه

نشانه های زیر را می توان به اختصار بیان کرد:

o REM را می توان حذف کرد - در صورتی که دستور معتبر دیگری وجود نداشته باشد، به طور ضمنی اشاره می شود.

o CLEAR-OMIT-CONTEXT -> شفاف

o PUSH-OMIT-CONTEXT -> فشار دادن

o POP-OMIT-CONTEXT -> POP

o DUMPVARS -> DUMP

o بنجر -> ممنوع الکار

o عبارتند از -> INC

o SCANFROM -> SCAN

NIFTY مثال ها

این بخش نمونه ای از کارهایی است که می توانید انجام دهید یادآوری کنید.

REM 5 فوریه 1991 ساعت 14:00 +45 *30 \
رایانامه -s "Meeting at %2" $LOGNAME را اجرا کنید

در 5 فوریه 1991، این یادآوری یادآور جلسه ساعت 2:00 ساعت 1:15 برای شما ایمیل خواهد شد.
1:45 و 2:00. موضوع پیام پستی "جلسه ساعت 2:00" و بدنه خواهد بود
پیام خالی خواهد بود

REM در ساعت 17:00 RUN echo "5:00 بعد از ظهر - برو به خانه!" | xless -g +0+0 &

این یادآوری هر روز در ساعت 5 بعد از ظهر یک پنجره xless ظاهر می شود. پنجره xless خواهد شد
حاوی خط "5:00 بعد از ظهر - برو به خانه!"

REM در 23:59 RUN (خواب 120؛ یادآوری -a [نام فایل()]) و

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

یادآوری -c12 /dev/null ژانویه 1993

این فراخوانی از یادآوری کنید باعث می شود تا یک تقویم برای سال 1993 با تمام ورودی ها چاپ کند
خالی گذاشت

REM CAL [trigdate()-date(year(trigdate()), 1, 1)+1]

این مثال یک ورودی در هر کادر تقویم قرار می دهد که تعداد (1-365 یا 366) را نشان می دهد.
روز سال

REM سه‌شنبه 2 نوامبر SATISFY (سال (Trigdate())%4) == 0
IF trigvalid()
REM [trigdate()] ++5 MSG \
انتخابات ریاست جمهوری آمریکا!!
Endif

این مثال 5 روز قبل از هر انتخابات ریاست جمهوری آمریکا به شما هشدار می دهد. اولین REM
دستور اولین سه شنبه بعد از اولین دوشنبه ماه نوامبر را محاسبه می کند. (این هست
معادل اولین سه شنبه در یا بعد از 2 نوامبر.) The راضی باشید بند این را تضمین می کند
تاریخ ماشه فقط در سال های انتخابات صادر می شود که مضرب 4 است. دوم
REM فرمان در واقع یادآوری را صادر می کند.

جزئیات درباره ما ماشه محاسبات

در اینجا یک مفهومی شرح نحوه محاسبه محرک ها توجه داشته باشید که یادآوری کنید
در واقع از یک روش بسیار کارآمدتر استفاده می کند، اما نتایج مشابهی است که اگر آن را انجام دهید
رویه مفهومی دنبال شده بود.

یادآوری کنید از تاریخ جاری شروع می شود (یعنی مقدار امروز()) و اسکن به جلو،
هر روز را یک به یک بررسی می کند تا زمانی که تاریخی را پیدا کند که محرک یا می تواند را برآورده کند
ثابت کنید که چنین تاریخ هایی (در یا بعد از آن) وجود ندارد امروز()) وجود دارد

If یادآوری کنید در حال اجرای a راضی باشیدیادآوری نوع، بیان را با ارزیابی می کند
trigdate() به تاریخ یافت شده در بالا تنظیم کنید. اگر عبارت صفر یا صفر ارزیابی شود
رشته، یادآوری کنید روند اسکن شرح داده شده در بالا را از روز شروع می کند
پس از ماشه یافت شده در بالا.

La SCANFROM بند (دارای نحوی شبیه به تا زمان) می تواند استراتژی جستجو را تغییر دهد
استفاده شده. در این مورد، یادآوری کنید روند اسکن را در ساعت آغاز می کند scan_date، که تاریخ است
مشخص شده در SCANFROM عبارت. مثلا:

REM دوشنبه 1 اسکن از 17 ژانویه 1992 MSG Foo

مثال بالا همیشه تاریخ ماشه دوشنبه 3 فوریه 1992 خواهد داشت. یعنی
زیرا یادآوری کنید اسکن را از 17 ژانویه 1992 شروع می کند و به محض اینکه شروع به اسکن کرد، اسکن را متوقف می کند.
تاریخی که "دوشنبه 1" را برآورده می کند.

استفاده اصلی از SCANFROM در موقعیت هایی است که می خواهید موقعیت های آن را محاسبه کنید
تعطیلات شناور مثال روز کارگر را که خیلی پیشتر نشان داده شده بود در نظر بگیرید. روز کارگر است
اولین دوشنبه ماه سپتامبر می تواند در محدوده 7 روز حرکت کند. موارد زیر را در نظر بگیرید
توالی:

REM دوشنبه 1 سپتامبر SCANFROM [امروز()-7] SATISFY 1
OMIT [trigdate()]

REM Mon AFTER MSG سلام

La SCANFROM بند این را تضمین می کند یادآوری کنید اسکن را از 7 روز قبل از جریان فعلی شروع می کند
تاریخ. این تضمین می کند که روز کارگر برای سال جاری همچنان فعال خواهد بود
تا 7 روز پس از وقوع. این به شما امکان می دهد تا با خیال راحت از کلمه کلیدی AFTER به عنوان استفاده کنید
نشان داده شده.

به طور کلی استفاده کنید SCANFROM همانطور که برای جابجایی ایمن نشان داده شده است حذف می شود. مقداری که باید دوباره اسکن کنید
توسط (7 روز در مثال بالا) به تعداد متوالی ممکن بستگی دارد حذف شده است
روزهایی که ممکن است رخ دهد و در محدوده تعطیلات متحرک. به طور کلی، مقدار 7 است
امن است

La از بند تقریباً مانند نقطه مقابل عمل می کند تا زمان. از یادآوری جلوگیری می کند
از تحریک قبل از از تاریخ. به عنوان مثال، یادآوری زیر:

REM دوشنبه پنج شنبه از 23 ژوئیه 2007 تا 2 اوت 2007 تست MSG

روزهای دوشنبه و پنجشنبه بین 23 ژوئیه 2007 و 2 اوت 2007 شامل می شود.

از در واقع فقط قند نحوی است. شما می توانید یادآوری بالا را به صورت زیر پیاده سازی کنید:

REM دوشنبه پنج‌شنبه SCANFROM [حداکثر(امروز()، '2007-07-23')] \
تا 2 آگوست 2007 تست MSG

اما خواندن آن بسیار سخت تر است. در داخل، یادآوری کنید رفتار می کند از دقیقا همانطور که نشان داده شده است
با استفاده از SCANFROM. به همین دلیل نمی توانید از هر دو استفاده کنید از و SCANFROM.

توجه داشته باشید که اگر از یکی استفاده می کنید REM دستور محاسبه تاریخ ماشه، انجام تاریخ
محاسبات (مثلاً جمع یا تفریق) و سپس از تاریخ اصلاح شده در الف استفاده کنید
متعاقب REM فرمان، نتایج ممکن است نه be چی شما مورد نظر. این به این دلیل است که شما
مکانیسم اسکن معمولی را دور زده اند. باید سعی کنی بنویسی REM دستورات
که تاریخ‌های راه‌اندازی را محاسبه می‌کند که می‌توانند بدون تغییر در مراحل بعدی استفاده شوند REM دستورات در
فایل "defs.rem" که همراه با یادآوری کنید توزیع شامل نمونه هایی است.

جزئیات درباره ما TRIGVALID()

La trigvalid() تابع 1 if را برمی گرداند یادآوری کنید می تواند یک تاریخ آغازگر برای قبلی پیدا کند
REM or IFTRIG فرمان به طور خاص، 1 if را برمی گرداند یادآوری کنید تاریخ پیدا می کند نه قبل از
la راه افتادن تاریخ of la پویش که ماشه را ارضا می کند. علاوه بر این، یکی وجود دارد
مورد خاصی که در آن trigvalid() 1 و trigdate() نتیجه معنی داری را برمی گرداند:

اگر REM or IFTRIG دستور شامل یک تا زمان بند، و شامل همه موارد بود
روز, ماه و سال سپس اجزاء یادآوری کنید تاریخ راه اندازی را به درستی محاسبه می کند، حتی اگر
اتفاقاً قبل از شروع اسکن است. توجه داشته باشید که این رفتار برای آن صادق نیست
نسخه های یادآوری کنید قبل از 03.00.01

از یادآوری آنلاین با استفاده از خدمات onworks.net استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

دستورات لینوکس

Ad




×
تبلیغات
❤️اینجا خرید کنید، رزرو کنید یا بخرید - رایگان است، به رایگان ماندن خدمات کمک می‌کند.