یکی از مهمترین بخشهای برنامهنویسی با اپ اینونتور (MIT App Inventor)، استفاده از بلوکهای شرطی در اپ اینونتور است. این بلوکها به شما کمک میکنند تا اپلیکیشنهایی طراحی کنید که بتوانند تصمیم بگیرند، شرایط مختلف را بررسی کنند و واکنش مناسب نشان دهند.
در این مقاله، به زبان ساده و همراه با مثالهای کاربردی، نحوه استفاده از این بلوکها را آموزش میدهیم. اگر به دنبال ساخت اپلیکیشنهای هوشمند و تعاملی هستید، شناخت درست این بخش ضروری است.
بلوک شرطی if چیست؟
بلوک if
یکی از پایهایترین بلوکهای شرطی است. این بلوک زمانی استفاده میشود که بخواهید برنامه شما در صورت برقرار بودن یک شرط خاص، کاری را انجام دهد.
مثال ساده:
اگر کاربر روی دکمه “ورود” کلیک کند و نام کاربری صحیح باشد، وارد صفحه اصلی شود.
در اپ اینونتور این بلوک در بخش Control قرار دارد. فقط کافی است شرط موردنظر را داخل قسمت شرط (test) این بلوک قرار دهید.
استفاده از بلوک if…else
بلوک if…else
حالتی را اضافه میکند که اگر شرط برقرار نبود، برنامه چه واکنشی داشته باشد.
مثال:
اگر رمز عبور درست بود، وارد برنامه شود.
وگرنه، پیام “رمز اشتباه است” نمایش داده شود.
این بلوک در ساخت رابطهای کاربری تعاملی بسیار کاربردی است. زیرا کاربر همیشه یک بازخورد دریافت میکند، چه شرط برقرار باشد یا نه.
استفاده از بلوک if…else if
گاهی فقط دو حالت نداریم، بلکه چندین حالت ممکن داریم. در این شرایط از بلوک if…else if…else
استفاده میکنیم.
مثال:
-
اگر کاربر نمره بالای ۱۸ داشت، پیغام “عالی” نشان بده.
-
اگر بین ۱۲ تا ۱۸ بود، بگو “خوب”.
-
در غیر این صورت، بگو “نیاز به تلاش بیشتر داری”.
در اپ اینونتور، میتوانید بلوکهای شرطی را به صورت تو در تو (nested) یا با بلوکهای if else if
ترکیب کنید تا چند حالت را بررسی کنید.
آشنایی با بلوکهای منطقی (Logic)
برای بررسی شرطها، معمولاً از مقادیر منطقی true و false استفاده میکنیم. این مقادیر در بخش Logic اپ اینونتور قرار دارند.
در این بخش بلوکهایی مانند موارد زیر وجود دارد:
-
بلوک true
-
بلوک false
-
بلوک = (برابر بودن)
-
بلوک ≠ (نابرابر بودن)
-
بلوک < و > برای مقایسه اعداد
این بلوکها اغلب داخل قسمت شرط if
قرار میگیرند. مثلاً بررسی میکنیم آیا متغیر سن > ۱۸
است یا نه.
ترکیب شرطها با AND و OR
گاهی لازم است چند شرط را همزمان بررسی کنیم. در این موارد از بلوکهای AND و OR استفاده میکنیم.
-
بلوک AND: زمانی که هر دو شرط باید برقرار باشد.
-
بلوک OR: زمانی که یکی از شرطها برقرار باشد، کافی است.
مثال AND:
اگر کاربر رمز را درست وارد کرد و تیک قوانین را زد، وارد برنامه شود.
مثال OR:
اگر کاربر روی گزینه “فراموشی رمز” کلیک کرد یا رمز اشتباه وارد کرد، پیام راهنما نمایش داده شود.
استفاده از NOT در شرطها
بلوک NOT
برای معکوس کردن یک شرط منطقی کاربرد دارد. یعنی اگر شرطی true باشد، آن را false میکند و برعکس.
مثال:
اگر کاربر هنوز لاگین نکرده (NOT loggedIn)، صفحه ورود نمایش داده شود.
این روش در ساخت اپهایی با وضعیتهای مختلف کاربر (وارد شده یا نشده) بسیار مفید است.
مثال کاربردی: ساخت سیستم ورود
فرض کنید میخواهید یک اپ ساده با قابلیت ورود کاربر بسازید. مراحل زیر را انجام میدهید:
-
یک فیلد برای وارد کردن نام کاربری قرار میدهید.
-
یک فیلد برای رمز عبور ایجاد میکنید.
-
یک دکمه “ورود” اضافه میکنید.
اکنون در بخش Blocks، بلوک زیر را میسازید:
if (Username.Text = "admin") AND (Password.Text = "1234") then
navigate to screen "Home"
else
show message "نام کاربری یا رمز اشتباه است"
در این مثال، از بلوک AND برای ترکیب دو شرط استفاده شده است. تنها زمانی ورود مجاز است که هر دو شرط برقرار باشند.
بررسی خالی نبودن فیلدها
قبل از ورود، بهتر است بررسی کنیم که کاربر فیلدها را خالی نگذاشته باشد. برای این کار از بلوک منطقی ≠ استفاده میکنیم.
مثال:
if (Username.Text ≠ "") AND (Password.Text ≠ "") then
بررسی ادامه پیدا کند
else
show message "لطفاً همه فیلدها را پر کنید"
این کار باعث بهبود تجربه کاربری میشود.
بررسی وضعیت دکمههای انتخابی (Checkbox)
در اپ اینونتور میتوانید بررسی کنید که آیا کاربر گزینه خاصی را انتخاب کرده یا نه. این مورد مخصوصاً در فرمها کاربرد دارد.
مثلاً اگر تیک “قوانین را خواندهام” فعال نباشد، اجازه ورود داده نشود:
if (CheckBox1.Checked = true) then
ادامهی عملیات
else
show message "لطفاً قوانین را بپذیرید"
ترکیب شرطهای تو در تو (Nested Conditions)
در شرایط پیچیدهتر، میتوانید بلوکهای شرطی را داخل هم قرار دهید. به این کار تو در تو کردن شرطها میگویند.
مثال:
if (کاربر عضو است) then
if (رمز صحیح است) then
وارد شود
else
پیام خطا نمایش داده شود
else
پیام "ابتدا ثبتنام کن" نمایش داده شود
این ساختار باعث میشود تصمیمگیریهای چند مرحلهای دقیقتر انجام شوند.
در اپ اینونتور، بلوکهای شرطی و منطقی به شما امکان ساخت اپلیکیشنهای هوشمند، دقیق و تعاملی را میدهند. با استفاده از بلوکهایی مانند if
, else
, AND
, OR
, و NOT
میتوانید شرایط مختلف را بررسی و پاسخ مناسب را تعریف کنید.
برای حرفهای شدن در این بخش، توصیه میشود تمرینهای متنوع انجام دهید و اپهای مختلف طراحی کنید. شرطگذاری درست باعث میشود کاربر احساس کند با اپلیکیشنی واقعی و کارآمد روبهرو است.