1399/5/26، 10:54 عصر
نقل قول: مثلا تو 20 تا لایوت نوشته شده هویج خوب هستخُب اولاً بهتره مقادیر رو توی یک تکست قرار ندین چون دریافت کردنشون دشوار میشه. میتونین مقادیر موردنظرتون رو در یک دیکشنری یا آرایه یا حتی یک فایل XML ذخیره کنین که هم روش استاندارد کار هست و هم اینکه کار راحت تر انجام میشه.
بعد طرف سرج کرد هویج
اون 20 تا لایوت بیاد بالا
عکس نمیخوام
فقط متن
با تشکر
بزارید واضح تر بگم
من میخوام یک اپ بسازم
مثلا یک فرد بزنع من واسه ناهار : هویج ، کلم و سس دارم
بعد کانستراکت هر چی غذا که با این 3 چیز درست میشه بیاره بالا
با تشکر از دوستان
برای ساخت یک اپ اولاً بهتره از کانستراکت استفاده نکنین چون ذاتاً یک انجین بازیسازیه. چنین چیزی که شما میخواین پیاده کنین نیاز به یکسری لیست های از پیش تعیین شده داره که اطلاعات از توشون دریافت بشه. در حالت پیشرفته ترش هم نیاز دارین از الگوریتم های یادگیری ماشین (ماشین لرنینگ) استفاده کنین.
یا هم میتونین توی یک دیتابیس اطلاعات ترکیبات هر غذا رو در سمت سرور ذخیره کنین و بعد به کمک یک زبان سمت سرور مثل PHP با توجه به ترکیبات اولیه ورودی غذای نهایی (خروجی) رو به دست بیارین.
اگر بخواین از دید حرفه ای تر و فنی تری به مسئله نگاه کنین در اصل شما دارین یک موتور جستجو جمع و جور میسازین. بدون شک الگوریتم هایی مثل الگوریتم نیدلمن - وانچ، فاصله لون اشتاین، Jaro Winkler و سایر الگوریتم هایی از این قبیل میتونن تعداد مناسبی از رکوردهایی که باید بینشون جستجو کنین رو کمتر کنن و یا در اکثر مواقع مستقیم به هدف بزنن.
به هر حال من نمیدونم شما چه میزان دقتی از سیستمتون میخواین. به نظرم چیزی که شما میخواین مشابه این باشه و احتمالاً من خیلی کاری که شما میخواین رو دست بالا فرض کردم. فرض کنین همچین غذاهایی رو در یک دیکشنری به این شکل ذخیره کردیم: (هر غذا در واقع یک کلید دیکشنری هست)
کد:
قورمه سبزی = لوبیا + گوشت + برنج + سبزی
قیمه = لپه + برنج + گوشت
جوجه کباب = گوشت + آبلیمو
خُب اول میایم این سه غذا رو به عنوان سه کلید به دیکشنری به شکل زیر تعریف می کنیم:
![[تصویر: 249d942b4e65e3579c6e9ba67280ec19.png?trs...1c0c0b58ef]](https://i.paste.pics/249d942b4e65e3579c6e9ba67280ec19.png?trs=bc9708771d20ce5b345905dbbaa915bf044ac8ab421b377fcd19e41c0c0b58ef)
حالا یک تکست باکس و یک تکست و دکمه در لایوت قرار میدیم و ایونت های زیر رو مینویسیم:
![[تصویر: 8eec9a6471fd228af42635a9de9f6e12.png?trs...1c0c0b58ef]](https://i.paste.pics/8eec9a6471fd228af42635a9de9f6e12.png?trs=bc9708771d20ce5b345905dbbaa915bf044ac8ab421b377fcd19e41c0c0b58ef)
در ایونت شماره دو مشخص کردم که مقداری که تکست نمایش میده با هر بار کلیک بر روی دکمه تُهی (خالی) بشه. بعد در ایونت شماره سه یک حلقه ایجاد کردم که میاد تک تک کلیدهای دیکشنری رو بررسی میکنه. از اکشن Append Text استفاده کردم چون ممکنه یک نتیجه مرتبط نداشته باشیم و چندین نتیجه برای نمایش داشته باشیم. توی این اکشن یه سری شرط تعریف کردم. به شرط های زیر دقت کن:
کد:
RegexMatchCount(Dictionary.CurrentValue,Textbox.Text,"g") = 1 ? Dictionary.CurrentKey & newline : TextBox.Text = Dictionary.CurrentKey ? "You have entered the food name" : ""
کد:
در غیر اینصورت : اتفاقی که با صحیح بودن شرط میفتد ? شرط
حالا برای اینکه بتونم از پیغام های فارسی در خروجی استفاده کنم (اگر مستقیم توی شروط پیغام فارسی درج میکردم توی ساختار شرط مشکل ایجاد میشد) گفتم در صورتی که مقدار تکست تُهی (خالی) موند یعنی اینکه هیچ موردی وجود نداشته پس پیغام بده که مورد موردنظر شما یافت نشد.
علاوه بر اون گفتم وقتی مقدار تکست برابر با "You have entered the food name" شد یک پیغام فارسی چاپ کن که شما نام غذا را وارد کردید.
سورس چیزایی که توضیح دادم رو میتونی از این لینک دانلود کنی.
موفق باشی.