PDA

View Full Version : سوال: جلوگیری از ورود کاراکترهای انگلیسی به کلیه فرم ها



reza69
سه شنبه 24 بهمن 1391, 20:11 عصر
سلام
کدی برای جلوگیری ورود کاراکتر انگلیسی به کلیه فرم های پروژه میخواستم.
حالا اگه برای یک فرم هم داشتید بذارید.

farzane-ms
سه شنبه 24 بهمن 1391, 20:34 عصر
این کد وارد کن
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(System.Globalization.Cul tureInfo.CreateSpecificCulture("fa-IR"));

FastCode
سه شنبه 24 بهمن 1391, 20:56 عصر
اگر برای SQLInjection میخواهی این کار رو بکنی باید بگم جواب نمیده.حداقل در برابر ۹۰٪ اعضای این سایت

reza69
چهارشنبه 25 بهمن 1391, 22:44 عصر
اگر برای SQLInjection میخواهی این کار رو بکنی باید بگم جواب نمیده.حداقل در برابر ۹۰٪ اعضای این سایت
پس چه کدی جواب میده؟

reza69
چهارشنبه 25 بهمن 1391, 22:45 عصر
این کد وارد کن
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(System.Globalization.Cul tureInfo.CreateSpecificCulture("fa-IR"));
این کد رو کجا وارد کنم؟تو چه رویدادی؟

FastCode
پنج شنبه 26 بهمن 1391, 01:05 صبح
پس چه کدی جواب میده؟
باید وقتی توی کدتون اطلاعات وارد شده کاربر رو میخونید حروف انگلیسی رو ازشون حذف کنید.
البته این روش هم مشکلات خودش رو داره که از سطح هکر های ایرانی خارجه.(این یکی رو جدی گفتم.)

daneshjo90
پنج شنبه 26 بهمن 1391, 01:44 صبح
این کد رو کجا وارد کنم؟تو چه رویدادی؟

با کسب اجازه از استاد بزرگوار FastCode (http://barnamenevis.org/member.php?109710-FastCode)

دوست عزیز اون کد رو میتونی برای آسونی کار در فرم لود بنویسی یا حتی خاصیت اینتر تکست باکسی که میخوای متن رو بگیری

فرقی نمیکنه کجا باشه فقط باید انتخاب بشه چون زبان صفحه کلید رو به فارسی تغییر میده

موفق باشی

reza69
پنج شنبه 26 بهمن 1391, 19:29 عصر
با کسب اجازه از استاد بزرگوار FastCode (http://barnamenevis.org/member.php?109710-FastCode)
دوست عزیز اون کد رو میتونی برای آسونی کار در فرم لود بنویسی یا حتی خاصیت اینتر تکست باکسی که میخوای متن رو بگیری
فرقی نمیکنه کجا باشه فقط باید انتخاب بشه چون زبان صفحه کلید رو به فارسی تغییر میده
موفق باشی
این کد خوبیه ولی موقعی که کاراکتر ها رو کپی کنی داخل تکس باکس تکلیف چیه؟
تازه فرق داره کجا کد رو استفاده کنی. موقعی که تو فرم لود استفاده کنی با تغییر زبان میشه انگلیسی تایپ کرد.

FastCode
پنج شنبه 26 بهمن 1391, 20:52 عصر
این کد خوبیه ولی موقعی که کاراکتر ها رو کپی کنی داخل تکس باکس تکلیف چیه؟
تازه فرق داره کجا کد رو استفاده کنی. موقعی که تو فرم لود استفاده کنی با تغییر زبان میشه انگلیسی تایپ کرد.
تازه جاهای خوبش رو هنوز نگفتم.
مثل استفاده از کاراکتر های یونیکد به جای اسکی برای نوشتن دو تا کاراکتر اینگلیسی

reza69
جمعه 27 بهمن 1391, 08:40 صبح
تازه جاهای خوبش رو هنوز نگفتم.
مثل استفاده از کاراکتر های یونیکد به جای اسکی برای نوشتن دو تا کاراکتر اینگلیسی
این که گفتید یعنی چی؟
من موقعی که این کد رو تو رویداد keypress کپی میکنم فارسی مینویسه ولی موقعی که انگلیسی میکنم اولین کاراکتر رو انگلیسی مینویسه بعد بقیه رو فارسی میکنه.
میشه یه if بهم بدید که موقعی که روی دکمه آپدیت کلیک میکنم هر کاراکتر انگلیسی درون textbox هست رو حذف کنه.

FastCode
جمعه 27 بهمن 1391, 11:06 صبح
این که گفتید یعنی چی؟
من موقعی که این کد رو تو رویداد keypress کپی میکنم فارسی مینویسه ولی موقعی که انگلیسی میکنم اولین کاراکتر رو انگلیسی مینویسه بعد بقیه رو فارسی میکنه.
میشه یه if بهم بدید که موقعی که روی دکمه آپدیت کلیک میکنم هر کاراکتر انگلیسی درون textbox هست رو حذف کنه.
جریان همونه که یه سوال یه خطی میپرسه یه کتاب جواب میخواد.

http://stackoverflow.com/questions/6235230/delete-all-english-letters-in-string
جواب AB Vias از بقیه سریعتره.ولی هنوز هم مزخرفه.اگر سرعتش اذیت کرد یه سوال دیگه بپرس که برات سرعتش رو درست کنم.

ffoxfire
جمعه 27 بهمن 1391, 12:18 عصر
//-------------تغییر زبان کیبورد به فارسی
System.Globalization.CultureInfo inp = new System.Globalization.CultureInfo("fa-ir");
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(inp);
//-------------

reza69
جمعه 27 بهمن 1391, 12:27 عصر
//-------------تغییر زبان کیبورد به فارسی
System.Globalization.CultureInfo inp = new System.Globalization.CultureInfo("fa-ir");
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(inp);
//-------------
باز همون مشکل قبلی رو داره. زبانو که انگلیسی میکنی اولین کاراکتر رو انگلیسی بعد فارسی میشه.
لطفا وقتی کد رو میدید بگید کجا تو کدوم رویداد بنویسم.

FastCode
جمعه 27 بهمن 1391, 14:53 عصر
باز همون مشکل قبلی رو داره. زبانو که انگلیسی میکنی اولین کاراکتر رو انگلیسی بعد فارسی میشه.
لطفا وقتی کد رو میدید بگید کجا تو کدوم رویداد بنویسم.
باید توی لود فرم یا SetFocus ه TextBox بنویسید.ولی فایده نداره.وقتتون رو با این کد هدر ندید.


کدی که من دادم رو باید وقتی میخواهید اطلاعات TextBox رو به SQL بفرستید استفاده کنید.

reza69
جمعه 27 بهمن 1391, 23:19 عصر
باید توی لود فرم یا SetFocus ه TextBox بنویسید.ولی فایده نداره.وقتتون رو با این کد هدر ندید.
کدی که من دادم رو باید وقتی میخواهید اطلاعات TextBox رو به SQL بفرستید استفاده کنید.
ازتون ممنون مشکلم حل شد با این کد:

StringBuilder str = new StringBuilder();
foreach (char c in txtname.Text)
{
if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'))
continue;
str.Append(c);
}