PDA

View Full Version : مشکل در ثبت تاريخ در RichedTextbox



karamoz
پنج شنبه 16 شهریور 1385, 11:43 صبح
سلام
1-چطوری میتونیم در masked box تاریخ فارسی (شمسی) وارد کنیم؟ بطوری که از راست به چپ وارد بشه؟

2- برای اینکه در برنامه چک کنیم که text box خالی است یا خیر با مشکل spase مواجه هستم. چطور میشه spase را هم به عنوان کاراکتر شناخت؟

متشکرم
http://www.barnamenevis.org/forum/images/statusicon/user_online.gif http://www.barnamenevis.org/forum/images/buttons/reputation.gif (http://barnamenevis.org/forum/reputation.php?p=263821)

Amir Oveisi
پنج شنبه 16 شهریور 1385, 12:23 عصر
2- property هست به اسم length (برای یک string) مشکلی نداره با space ! یعنی space رو هم جزو طول حساب میکنه!

hojjat_gh
پنج شنبه 17 مرداد 1387, 14:22 عصر
سلام
1-چطوری میتونیم در masked box تاریخ فارسی (شمسی) وارد کنیم؟ بطوری که از راست به چپ وارد بشه؟

2- برای اینکه در برنامه چک کنیم که text box خالی است یا خیر با مشکل spase مواجه هستم. چطور میشه spase را هم به عنوان کاراکتر شناخت؟

متشکرم
http://www.barnamenevis.org/forum/images/statusicon/user_online.gif http://www.barnamenevis.org/forum/images/buttons/reputation.gif (http://barnamenevis.org/forum/reputation.php?p=263821)
با سلام
اگه کسی میدونه راجع به این وارد کردن تاریخ از راست به چپ و به شکل روز/ماه/سال
(یعنی کاربر اول روز بعد ماه وبعد سال رو وارد کنه)در ماسک تکسباکس توضیح بده!

tthenry14plus
پنج شنبه 17 مرداد 1387, 16:28 عصر
برای دریافت تاریخ از طرف کاربر بجای استفاده از TextBox، از MaskedTextBox استفاده کنید و پراپرتی Mask اون رو برابر با Short date قرار دهید، حال ورود تاریخ باید مطابق با اصول باشد اما برای چک کردن درستی ارقام وارد شده کد زیر را بنویسید :


if (
(int.Parse(maskedTextBox1.Text.Substring(3, 2)) > 6 &&
int.Parse(maskedTextBox1.Text.Substring(0, 2)) > 30) ||
int.Parse(maskedTextBox1.Text.Substring(0, 2)) > 31 ||
int.Parse(maskedTextBox1.Text.Substring(0, 2)) < 1 ||
int.Parse(maskedTextBox1.Text.Substring(3, 2)) > 12 ||
int.Parse(maskedTextBox1.Text.Substring(3, 2)) < 1 ||
int.Parse(maskedTextBox1.Text.Substring(6, 4)) > 2000 ||
int.Parse(maskedTextBox1.Text.Substring(6, 4)) < 1300
)
MessageBox.Show("خطا در ورود تاریخ ...!");
else
MessageBox.Show("تاریخ مورد قبول است.");

hojjat_gh
جمعه 18 مرداد 1387, 09:00 صبح
[quote=tthenry14plus;568675]برای دریافت تاریخ از طرف کاربر بجای استفاده از TextBox، از MaskedTextBox استفاده کنید و پراپرتی Mask اون رو برابر با Short date قرار دهید، حال ورود تاریخ باید مطابق با اصول باشد:
[code]
با سلام
اگه ماسک رو در حالت short date(وبه شکل 00/00/0000 ) قرار بدم باز هم باید ابتدا سال رو بعد ماه رو و بعد روز رو وارد کنم !!!

h.jaza
جمعه 18 مرداد 1387, 10:21 صبح
همونی که گفتن، ولی پراپرتی مسک اون رو برابر Custom قرار بده و هر الگویی رو که خودت می خوای وارد کن. (0000/00/00)
بعدش البته باید با کد محدودی هر کدومو چک کنی همونطور که tthenry14plus (http://barnamenevis.org/forum/member.php?u=43949) گفته.

tthenry14plus
شنبه 19 مرداد 1387, 01:39 صبح
hojjat_gh (http://barnamenevis.org/forum/member.php?u=71745) عزیز هیچ تغییری در الگوی Mask ایجاد نکنید و بذارید مطابق با الگوی (Short date (00/00/0000 باشه، هیچ مشکلی پیش نمیاد و شما حتما باید ابتدا روز بعد ماه و سپس سال رو وارد کنید.
درست مثل همون چیزی که ضمیمه کردم

hojjat_gh
شنبه 19 مرداد 1387, 08:34 صبح
hojjat_gh (http://barnamenevis.org/forum/member.php?u=71745) عزیز هیچ تغییری در الگوی Mask ایجاد نکنید و بذارید مطابق با الگوی (Short date (00/00/0000 باشه، هیچ مشکلی پیش نمیاد و شما حتما باید ابتدا روز بعد ماه و سپس سال رو وارد کنید.
درست مثل همون چیزی که ضمیمه کردم
با سلام
دوست عزیز میشه راجع به بقیه تنظیمات هم بگی(right to left ,text align )
چون در حالت عادی (بدون دستکاری)جای ماه وروز رو عوض میکنه!!

mojtaba1363
چهارشنبه 17 مهر 1387, 02:20 صبح
دوست عزيز
اگر در قسمت msk در قسمت name
##/##/##13
تايپ كني وright to left رو هم Yes كني هر وقت برنامه هجرا ميشه به صورت پيش فرض 13 به عنوان دو رقم آخر سال در نظر
گرفته مي شود

anahita6
چهارشنبه 17 مهر 1387, 08:26 صبح
در مورد space دو حالت وجود داره یا space وسط جمله است که اون مشکلی نداره و کافیه خاصیت text از textbox رو چک کنی اما اگه اول جمله بود فقط کافیه با یک ifکد اسکی اولین حرف وارد شده را چک کنید اگه کد اسکی اون برابر 32 نبود کلید فشار داده شده space نیست