سلام بچه ها
من می خواستم textbox هام رو طوری طراحی کنم که فقط حروف فارسی رو قبول کنن
و بعضی هاشون فقط عدد قبول کنن
اگه ممکنه تو هر دو مورد کمکم کنید
Printable View
سلام بچه ها
من می خواستم textbox هام رو طوری طراحی کنم که فقط حروف فارسی رو قبول کنن
و بعضی هاشون فقط عدد قبول کنن
اگه ممکنه تو هر دو مورد کمکم کنید
تو سی شارپ:
تو سی پی پی :کد:for (char i = 'A'; i <= 'Z'; i++)
{
if (textBox1.Text.Contains(i.ToString()) || textBox1.Text.Contains(i.ToString().ToLower()))
{
textBox1.Text = "";
}
}
تو رویداد text_changed بذار برا عدد هم i رو از نوع int از 0 تا 9 بذار قسمت بعد از || رو نمیخوادکد:for (wchar_t i = 'A'; i <= 'Z'; i++)
{
if (textBox1->Text->Contains(i.ToString()) || textBox1->Text->Contains(i.ToString()->ToLower()))
{
textBox1->Text = "";
}
}
خب کد شما خوبه ولی یه اشکال داره اونم اینه که وقتی اشتباه وارد کنه کل ورودی قبلیم پاک می شه که این اصلا خوب نیست،نقل قول:
من می خوام زبان کی برد فارسی و غیر قابل تغییر شه
کد شما با کمی تغییر واسه 0 تا 9 خوبه:20:
یه تغییر کوچولو بدی حله :
کد:textBox1->Text = textBox1->Text->Remove(textBox1->Text->Length-1,1);
سلامنقل قول:
برای اینکه کاربر فقط توی textbox عدد وارد کنه می تونی از دستور زیر توی رویداد keypress مربوط به textbox استفاده کنی .
خوبی این دستور اینه که کاربر حتی قادر نیست با استفاده از کلیدهای ترکیبی هم چیزی غیر از عدد وارد کنه .
از کد زیر برای اینکه توی textbox فقط کاراکتر (حروف)وارد کنی و عدد قبول نمی کنه .کد:private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
}
موفق باشیکد:private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(!((e.KeyChar >= '0') && (e.KeyChar <= '9')) || (e.KeyChar == 8)))
{
e.Handled = true;
}
}
برای فارسی کردن کیبرد همنقل قول:
(این کد رو توی keydown بنویس)
کد:InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(New System.Globalization.CultureInfo("Fa"))
دوستان از همه ممنون خیلی عالی بود
فقط یه قسمت سوالم موند اونم این که چه کار کنیم کاربر نتونه زبان کی برد رو تغییر بده
خیلی ساده! در هر بار رویداد KeyDown یا KeyPress ، زبان را به فارسی تغییر بده.نقل قول:
در مورد سوال اصلی شما، باید عرض کنم که در هنگام نوشتن برنامه کتیبه ( که در انجمن نرم افزارهای فارسی موجود می باشد) ، من هم همچین مشکلی داشتم. که برای این کار یک کلاس نوشتم که از textbox ارث بری داشت. این تکست باکس، فقط و فقط حروف فارسی را قبول می کند و لاغیر.
اگه خواستی، عدم عوض کردن زبان ویندوز رو هم به اون اضافه کنم و تقدیم کنم. :20:
یه Timer بذار و کد رو توش قراربده اینترولش رو هم بذار 100 بعد کاربر جان جانش هم در بیاد هم نمیتواند زبان را تغییر دهد:31:
کد:InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(New System.Globalization.CultureInfo("Fa"))
اگر این کارو کنید ممنون می شم:11:نقل قول:
اینم از DLL مربوطه!
داون کن تا قدرتش رو ببینی.
چهار نوع ورودی رو ساپورت میکنه:
- فقط حروف فارسی: زبان کیبورد رو فارسی میکنه و به هیچ وجه هم نمیشه تغییرش داد :46:
- فقط حروف انگلیسی: زبان کیبورد رو انگلیسی میکنه و به هیچ وجه هم نمیشه تغییرش داد :46:
- فقط عدد: اگه تونستی ، غیر از عدد وارد کن. :5:
- نرمال: مثل یه تکست باکس معمولی عمل میکنه. :20:
سورس کد هم همراشه.کد:http://rapidshare.com/files/236341617/textbox_farsi.rar.html
سلامنقل قول:
میشه یه خودره در مورد این فایل DLL توضیح بدید .
این فایل فقط کاراکتر فارسی را قبول می کنه
درسته ؟
اما یه مشکل داره و اونم اینه که اگه کاربر قرار باشه یک کلمه را تایپ کنه و در مابین حروف ، زبان کیبورد را تغییر بده در این صورت یک حرف تایپ نمی شه و زبان کیبورد دوباره به حالت فارسی در میاد . و کلمه ناقص تایپ می شه .
به نظر میاد به زبان VB باشه . اگه میشه سورس C# اونا قرار بدید .
ممنون
:18::18: فکر نکنم این کار درستی باشه .نقل قول:
فعلا که یکی از دوستان یه dll گزاشتن ، فکر کنم از همون استفاده کنند بهتر باشه ،
منم یه همچین DLL چند وقت پیش ساخته بودم :31: یادم رفته بود معرفی کنم .
سلام دوستان
من اون روز که کدا رو گرفتم اصلا دقت نکردم
ولی امروز که خواستم ازشون استفاده کنم
متوجه شدم که من توی سوالم نگفتم که کدا رو واسه طراحی سایت می خوام
اینه که دوستان کدایی که دادن واسه قسمت proje دادن
و در حال حاضر این کدا واسه طراحی سایت نمی تونه به من کمکی کنه
اگر واسه وبم یه کمکی کنید ممنون میشم
سلام...خسته نباشید.من نفهمیدم!میشه بگید با چه زبانی تحت وب؟ممنون.نقل قول:
اگه Asp.Net میخواین همون کدای سی شارپ رو میتونین کپی کنین.اگه PHP یا HTML یا... میخواین لطفاً بگید.Merc
اینجا تالار دات نت هستش ، فک کنم واسه asp.net بخوان :D
سلام دوستان واسه دات نت می خوام
ولی خب تو وب یکمی فرق می کنه
مثلا رویدادی به نام keypress نداریم واسه textbox ها.
و بعضی از رویداد ها رو نمی شناسه
سلام. خسته نباشید.کد زیر رو تو خاصیت TextChanged تایپ کن البته من SelectionStart رو بلد نبودم تبدیل کنم.
کد:for (char i = 'A'; i <= 'Z'; i++)
{
if (textBox1.Text.Contains(i.ToString()) || textBox1.Text.Contains(i.ToString().ToLower()))
{
textBox1.Text = textBox1.Text.Remove(textBox1.TextLength-1,1);
textBox1.SelectionStart = textBox1.TextLength;
break;
}
}
دوستان واسه بقیشم یه کمکی کنید لطفا : دی
سلام.نقل قول:
الان اون کدی که دادم خوب کار کرد؟مشکل دیگه منظورت اینه که زبان فارسیش تغییر نکنه؟
سلام دوبارهنقل قول:
جواب نمی ده
ببین چه خطاهایی می گیره:کد:
protectedvoid TextBox1_TextChanged(object sender, EventArgs e)
{ for(char i='A';i<='Z';i++)
{ if(TextBox1.Text.Contains(i.ToString))|| (TextBox1.Text.Contains(i.ToString().ToLower())))
{ TextBox1.Text=TextBox1.Text.Remove(TextBox1.TextLength-1,1);
TextBox1.selectionstart=TextBox1.textLenght;
break;
}
}
}
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
من این کد رو نوشتم
خطا نمی ده ولی کاریم نمی کنه!
اشکال از کجاس؟
کد:
protectedvoid TextBox1_TextChanged(object sender, EventArgs e)
{
string b;
b = TextBox1.Text;
for (char i = 'a'; i < 'z'; i++)
{
if (b[b.Length ] == i)
{
b.Remove(b.Length);
}
}
}
برای برنامه های وب باید با اسکریپت های سمت کاربر بنویسین نه سمت سرور ;)
ببینم شاید داشتم کدش رو ( javascript )
سلامنقل قول:
حقیقتش من اصلاً Asp کار نکردم وقتی با ویژوال استادیو یه پروژه جدید ساختم خواستم برنامه رو اجرا کنم نمیدونم چرا اجرا نمیشه و خطا میده. چون ویژوال استادیو قبل از اجرای برنامه خطاهارو میگره من متوجه خطایی نشدم.اگه میشه بگید من چطوری اینرو اجرا کنم آخه تا اجرا نکنم نمیتونم تغییرات رو مشاهده کنم.این Asp تو VS وقتی اجرا میشه با چی اجرا میشه و چطوری؟ممنون.
من خودم ASP کار نکردم اما این کار باید توسط java script انجام بشه
اینم کد جاواش . textbox ی که فقط عدد قبول میکنه .
موفق باشیکد:function num()
{
var k;
k = window.event.keyCode;
if (((k>=48)&&(k<=57))||(k==45))
return true;
else
{
return false;}
}
سلامنقل قول:
کدتون رو اجرا کردم خطایی نداشت:20:
ولی برگردوندنtrue و false چه مفهومی می ده
چه جوری کاری کنیم که آخرین کاراکتر پاک شه؟
من این کد رو داخل onchange نوشتم باید همون جا باشه یا مثلا داخل Keypress بنویسم؟ [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
من این جوری نوشتم
کد:
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>Untitled Page</title>
<scripttype="text/jscript">
function num()
{
var k;
k = window.event.keyCode;
if (((k>=48)&&(k<=57))||(k==45))
returntrue;
else
{
returnfalse;}
}
</script>
</head>
<body>
<formid="form1"runat="server">
<div>
<inputtype="text"id="t1"onkeypress='num();'/>
</div>
</form>
</body>
</html>
سلام.
کسی نیست بگه من این Asp.net رو چطوری اجرا کنم؟خواهشاً.
خب چه مشکلی داره چه خطایی ؟! !نقل قول:
یه پروژه جدید بسازین و یه چیز توش تایپ کنین باید با زدن F5 اجرا بشه ! یا اصلا کلیک راست و view in browser !
اگه مشکلی هست ممکنه از VS باشه !
سلام ممنونم.نقل قول:
نمیدونم چرا الان ویندوز عوض کردم و اجرا کردم درست شد.ممنونم دوست عزیز:10:.
سلام مساله جالب شده!!!!!!
[فاطمه] [خانوم] راست میگه خاصیت Change تکسباکس کار نمیکنه.!!! خیلی عجیبه امیدوارم سوتی از ما باشه نه مایکروسافت.:13:
من هرکاری کردم نتونستم کاری بکنم.متاسفام.ولی به نظر شما مشکل از کجاست؟ فکر نمیکنید از مرورگر یا برنامه و کدهاش باشه؟
تا حل نشه خوابم نمیبره چون از ناامید شدن متنفرم.:27:.
توی محیط وب که فکر نکنم این change کار کنه ، فکر کنم باید از java script استفاده بشه .
سلام منم به این نتیجه رسیدم که با جاوا نوشتنش خیلی ساده تره
چون اگر خاصیت change رو هم فعال بشه اصلا خوب نیست
به این خاطر که برای هر تغییر باید صفحه دوباره مرور بشه و ترافیک بالا میره
ببخشيد توي keydown يعني كجا؟
ميشه يه كوچولو توضيح بديد
توی key down ، خب شما منظورتون کدوم کده؟نقل قول:
بعضی از کدها برای جاوا نوشته شدن که جای خاصی نداره باید این جوری بنویسین:
طبق این کد من توی قسمت html صفحه یک کلید تعریف کردم که وقتی روش کلیک می کنید تابع fun رو فراخونی می کنهکد:<input type='button' value='sss' onkeydown='fun()'>
تابع fun رو باید تو قسمت script تعریف کنید
اصلا قرار نیست کار کنه !نقل قول:
چرا ؟
چون اگه قرار بود هر کلیدی رو تو تکست باکس بزنین یه پست بک ارسال بشه به سرور پردازش بشه و کد سمت سرور شما اجرا بشه نتیجه برگرده که کاربر موهاشو میکنه !! هر کد سمت سروری بخاد اجرا بشه احتیاج به یه پست بک داره ( بدون رفرش شدن هم نمیشه مگر با AJAX که از بحث خارجه ! )
باید با کد سمت کاربر انجام بشه یعنی JavaScript
---------- Post added at 12:43 PM ---------- Previous post was at 12:43 PM ----------
سلام من می خوام عدد رو فارسی تایپ کنه باید چی کار کنم
با سلام
دوست عزیز شما میتونید از validation ها در asp.net استفاده کنید.
لطفا سوالتون را در انجمن asp.net بپرسید :
با تشکرکد:http://forum.p30world.com/forumdisplay.php?f=383
سلام من میخوام این سه کار رو در محیط جاوا اسکریپت انجام بدهم
1-تایپ فقط عدد در تکست باکس
2- تایپ فقط حروف در تکست باکس
3-تایپ فقط حروف فارسی در تکست باکس
سلام
من میخواه ورودی های تکس باکس رو محدود کنم ( همه این کارها رو باید در جاوا اسکریپت انجام بدهم) لطفا راهنمایی ام کنید
1- فقط عدد
2- فقط حروف فارسی
3- فقط حروف انگلیسی
4- حروف و عدد باهم
با عرض سلام وخسته نباشید من کد های پست پایین رو خیلی زود نیاز دارم لطف کنید جوابش رو بگذارید:n01: