محدود کردن ورودی دیالوگ باکس به عدد و حروف
#1
سلام. میخواستم بدونم به چه صورت میتوانیم در دیالوگ باکس فقط از کاربر اعداد و حروف رو قبول کنیم. لطفا راهنمایی کنید. ممنون
بازی استراتژیک لشکر امپراطور
نصب رایگان

[تصویر:  com.parsasoft.myempires0.jpg]
  پاسخ


 سپاس شده توسط:
#2
علیک سلام
با استفاده از Regex یا همون Regular Expression ها می‌تونید به راحتی این کارو انجام بدین، به این صورت:

[تصویر:  regex.png]

معرّفی اکسپرشن RegexReplace:
کار این اکسپرشن پیدا کردن یک الگو و جایگزین کردن اون با یه چیز دیگه‌ست.
کد:
RegexReplace(String, Regex, Flags, Replace)

String: متنی هست که جستجو قراره داخل اون انجام بشه
Regex: الگوی مورد نظر ما برای جستجو (این الگو باید در ساختار Regular Expression نوشته بشه، اگه با این ساختار آشنا نیستید در گوگل جستجو کنید)
Flags: یک سری تنظیمات، مثلاً «g» یعنی در تمام متن دنبال نتایج بگرد و وقتی به اوّلین نتیجه رسیدی متوقّف نشو.
Replace: متنی هست که قراره جایگزین الگوی پیداشده بشه

ما در این‌جا این طوری نوشتیم:
کد:
RegexReplace(TextBox.Text, "[\W_]", "g", "")
یعنی برو متن تایپ شده رو ببین چیه، توی کلّ این متن دنبال الگوی [\w_] بگرد و هرجا پیداش کردی با یک متن خالی جایگزینش کن. برای اینکه بفهمید این الگو داره چی می‌گه می‌تونید این‌جا کلیک کنید.
معجزات طبیعت هایی هستند که با آن‌ها مأنوس نشده‌ایم
و طبیعت معجزه‌ایست که با آن انس گرفته‌ایم
علی صفایی حائری
  پاسخ


 سپاس شده توسط: kamran_cn ، vng ، ghasem ، mah ، نیما ، amin hosseini
#3
ممنون. از این مطلب خیلی استفاده کردم. ولی راهی نیست که اصلا کاراکتر متفرقه رو قبول نکنه؟
بازی استراتژیک لشکر امپراطور
نصب رایگان

[تصویر:  com.parsasoft.myempires0.jpg]
  پاسخ


 سپاس شده توسط:
#4
(1395/2/3، 04:01 عصر)kamran_cn نوشته است: ممنون. از این مطلب خیلی استفاده کردم. ولی راهی نیست که اصلا کاراکتر متفرقه رو قبول نکنه؟

سلام، تو بخش ویژگی ها یک گزینه وجود دارد به نام type اون رو میتونید روی عدد یا نوشته و... تنظیم کنید و بعد در ایونت نویسی بگوئید:
کد:
Every tick----------->>TextBox---->>set text to----->>TextBox.text


این سورس رو که براتون ساختم مشاهده کنید(محدودیت تعداد کاراکتر هم داخلش هست)
--------------\\\\\\\\\\*******\\\\\\\\---------------------------\\\\\\\\\\**********\\\\\\\---------
[تصویر:  vngames_mobarez.png]


*«يَرْفَعِ اللَّهُ الَّذِينَ آمَنُوا مِنْكُمْ وَ الَّذِينَ أُوتُوا الْعِلْمَ دَرَجاتٍ//خداوند کسانی را که ایمان آورده اند و کسانی را که دانش به آنان عطا شده است.درجات عظیمی می بخشد.»(قرآن کریم، المجادلة، 11 ‏)*

*پیامبر اکرم (ص) فرمود:«علم آموزي بر هر مرد و زن مسلمان، واجب است.»(مصباح‏ الشريعة، ج 13)
  پاسخ


 سپاس شده توسط: kamran_cn ، mah
#5
باز هم لطف شما شامل حال من شد. واقعا محبت دارید. فقط راهی نیست که محدودیت روی اعداد + حروف با هم باشه نه روی اعداد یا حروف؟
بازی استراتژیک لشکر امپراطور
نصب رایگان

[تصویر:  com.parsasoft.myempires0.jpg]
  پاسخ


 سپاس شده توسط: vng
#6
(1395/2/3، 04:47 عصر)kamran_cn نوشته است: باز هم لطف شما شامل حال من شد. واقعا محبت دارید. فقط راهی نیست که محدودیت روی اعداد + حروف با هم باشه نه روی اعداد یا حروف؟

خواهش میکنم، بله میشود تنها کافی است در بخش properties تکست باکس، گزینه type را روی حالت text بگذارید.
--------------\\\\\\\\\\*******\\\\\\\\---------------------------\\\\\\\\\\**********\\\\\\\---------
[تصویر:  vngames_mobarez.png]


*«يَرْفَعِ اللَّهُ الَّذِينَ آمَنُوا مِنْكُمْ وَ الَّذِينَ أُوتُوا الْعِلْمَ دَرَجاتٍ//خداوند کسانی را که ایمان آورده اند و کسانی را که دانش به آنان عطا شده است.درجات عظیمی می بخشد.»(قرآن کریم، المجادلة، 11 ‏)*

*پیامبر اکرم (ص) فرمود:«علم آموزي بر هر مرد و زن مسلمان، واجب است.»(مصباح‏ الشريعة، ج 13)
  پاسخ


 سپاس شده توسط: kamran_cn
#7
ببینید من محدودیت عدد یا حروف رو میدونم.
منظور من اینه که جوری محدودیت روی دیالوگ باکس قرار بدیم که فقط عدد و حروف رو قبول کنه و کاراکترهای دیگه رو نگیره
بازی استراتژیک لشکر امپراطور
نصب رایگان

[تصویر:  com.parsasoft.myempires0.jpg]
  پاسخ


 سپاس شده توسط:
#8
(1395/2/3، 05:18 عصر)kamran_cn نوشته است: ببینید من محدودیت عدد یا حروف رو میدونم.
منظور من اینه که جوری محدودیت روی دیالوگ باکس قرار بدیم که فقط عدد و حروف رو قبول کنه و کاراکترهای دیگه رو نگیره

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


 سپاس شده توسط: kamran_cn
#9
من روش شما رو دیدم ولی نا مفهوم  بود. اصلا منظور از w\ چیه؟
ولی به هر حال سعی خودم رو میکنم. ممنون از لطفتون
بازی استراتژیک لشکر امپراطور
نصب رایگان

[تصویر:  com.parsasoft.myempires0.jpg]
  پاسخ


 سپاس شده توسط:
#10
(1395/2/4، 01:47 صبح)kamran_cn نوشته است: من روش شما رو دیدم ولی نا مفهوم  بود. اصلا منظور از w\ چیه؟
ولی به هر حال سعی خودم رو میکنم. ممنون از لطفتون

این یک عبارت باقاعده است (عبارت منظم هم ترجمه شده).
گفتم بهتره جستجویی در گوگل پیرامون عبارات باقاعده (Regex) داشته باشید.
w\ با w کوچک یعنی فقط حروف الفبای a-Z و اعداد 0-9 و همچنین کاراکتر _
W\ با w بزرگ معنیش دقیقاً برعکسه، یعنی هر کاراکتری به غیر از حروف و اعداد و _

از اون‌جایی که _ جزو حروف و اعداد نیست و شما نمی‌خواین کاربر بتونه _ تایپ کنه از براکت استفاده کردیم.

براکت در عبارات باقاعده یعنی اینکه اگه هرکدوم از کاراکترهای توی براکت بود پیداش کن، مثلاً [ab] یعنی چه کاراکتر a وارد شده بود چه کاراکتر b پیدا کن، پس اون براکتی که ما نوشتیم یعنی هم W\ و هم _ رو پیدا کن (در کل ما داریم کاراکترهای غیر مجاز رو پیدا و حذف می‌کنیم).
معجزات طبیعت هایی هستند که با آن‌ها مأنوس نشده‌ایم
و طبیعت معجزه‌ایست که با آن انس گرفته‌ایم
علی صفایی حائری
  پاسخ


 سپاس شده توسط: ghasem ، mah ، vng ، kamran_cn ، shaygaaan ، amin hosseini


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
Information پرداخت درون برنامه مایکت کوردوا ya mahdi 0 230 1404/1/17، 05:43 عصر
آخرین ارسال: ya mahdi
  نحوه خروجی اندروید کوردوا ya mahdi 0 176 1404/1/11، 04:06 عصر
آخرین ارسال: ya mahdi
Wink حل شده مقادير لازم در environment variable ᔕinaᗪehghani 24 11,596 1403/10/23، 12:10 صبح
آخرین ارسال: Tggi
  تپسل .....فروشگاه Hamidreza 3 1,932 1403/10/22، 11:57 عصر
آخرین ارسال: Tggi
  خروجی اندروید با Intel xdk ya mahdi 0 130 1403/8/25، 02:08 عصر
آخرین ارسال: ya mahdi

پرش به انجمن: