فرمولا

زبان فرمولا یک زبان اسکریپت نویسی است که در Lotus Notes استفاده می‌شود و معمولاً با نام Formula@ به آن اشاره می‌شود زیرا بسیاری از عناصر زبان با کاراکتر @ آغاز می‌شوند.

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

    "SELECT @NoteId = "NT0050D26  

فرمولا توسط Ray Ozzie در حین توسعه Lotus Notes به وجود آمد. او کامپایلر را از صفحه گسترده Lotus 1-2-3 گرفت اما بر خلاف زبان صفحه گسترده ، زبان فرمولا در درجهٔ اول برای پردازش رشته و لیست طراحی شد نه برای پردازش‌های عددی. زبان فرمولا اصالتاً یک زبان تابعی بر مبنای لیست‌های text می‌باشد.
فرمولا برای Notes و Domino6 بازنویسی شد و ویژگی‌های متعددی مثل حلقه‌ها و اجرای پویا به آن اضافه شد که عملکرد آن بهبود فوق العاده‌ای یافت.

زبان فرمولا دو بخش دارد :

  • Functions@ : برای محاسبات و منطق ساده.
  • Commands@ : برای اجرای عملیات در رابط کاربری.

Functions@ می‌تواند در قسنت‌های متعددی در Lotus Notes مورد استفاده قرار گیرد.مهمترین موارد استفاده عبارتند از :

  • انتخاب اسناد به منظور نمایش برای کاربر یا پردازش بعدی. در این موارد فرمولا برای هر سند 'true' را به عنوان انتخاب و 'false' را به عنوان عدم انتخاب ارزیابی می‌کند.
  • برای تولید مقادیر پیش‌فرض برای فیلدها ، برای تبدیل داده ها. ورودی توسط کاربر ( مانند از بین بردن فضاهای زائد ) و اعتبار سنجی داده ها.
  • برای گرفتن لیستی از مقادیر از یک پایگاه داده Notes یا حتی پایگاه داده رابطه ای ( با استفاده از ODBC ) که می‌تواند در تهیه لیستی از مقادیر برای فرم‌های انتخابی مورد استفاده قرار گیرد.
  • برای پردازش مجموعه‌ای از اسناد.

Commands@ شبیه منوهای فرمان است که برای اجرای عملیات استفاده می‌شود.مانند :

  • باز کردن یک پایگاه دادهٔ Notes.
  • ساخت یک ایمیل.
  • قرار دادن اشاره گر در ورودی داده یک فیلد.
  • بستن یک پنجره.
  • آغاز یک agent.


Commands@ در درجه اول با راه اندازی از طریق فعالیت کاربر مورد استفاده قرار می‌گیرد. این امکان را دارد تا با Functions@ ترکیب شود برای مثال اجرای یک Commands@ شرطی بر روی مقادیر یک فیلد.
[1]

منابع

v:http://en.wikipedia.org/wiki/Formula_language

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.