PDA

View Full Version : سوال: بدست آوردن مکان حرف وارد شده در تکست باکس



h.jaza
پنج شنبه 16 آبان 1387, 14:04 عصر
سلام

همون طور که از عنوان تاپیک معلومه، من مثلا یه تکست باکس. حالا وقتی که کاربر یه چیزی رو وارد کرد داخل تکست باکس، می خوام مکانش (Position) رو بدست بیارم. چون مثلا می خوام چک کنم که اگر یه کاراکتر قبلش یه چیزی بود، یه کاری رو انجام بده.

مدیران محتمر، اگر تاپیک تکراریه، لطفا ارجاع بدن.

با تشکر

Moslemu
پنج شنبه 16 آبان 1387, 16:22 عصر
سلام.
ميشه از خاصيت selectionStart استفاده كرد.

Salar Ashgi
پنج شنبه 16 آبان 1387, 16:34 عصر
سلام ، اگه فقط برای اینکار میخواهید ، میتونید متن تکست باکس رو قرار بدید در یک

String یا char array ، بعد اونو پیمایش کنید !!!

مثال برای این مورد :



textBox1.Text = "C#.NET";
char[] a = new char[textBox1.Text.Length];
a = textBox1.Text.ToCharArray();
for (int i = 0; i < textBox1.Text.Length; i++)
{
if (a[i] == '.')
{
MessageBox.Show(a[i - 2].ToString() + a[i - 1].ToString());//C#
}
}


موفق و پیروز باشید !!!!

h.jaza
پنج شنبه 16 آبان 1387, 17:04 عصر
سالار جان اولا اینی رو که شما نوشتی خیلی ساده تر با خصوصیت خود استرینگ میشه انجام داد و اصلا نیازی نیست که اولا به آرایه ای از کاراکتر تبدیلش کنیم و بعد بیایم توش بگردیم و ....

ثانیا متن تکست باکس من خیلی تکراری داره، با این کار حتی در حالت رشتشم هم نمی شه کار کرد.

ثالثا Moslemu (http://barnamenevis.org/forum/member.php?u=50526) جان، زدی تو خال.
مرسی.
کاملا درسته.
اصلا حواسم به SelectionStart نبود.
خیلی ممنونم.
مشکل بزرگی رو حل کردی.

با تشکر از دوستان که لطف کردن و جواب رو دادن.

Salar Ashgi
پنج شنبه 16 آبان 1387, 19:24 عصر
سالار جان اولا اینی رو که شما نوشتی خیلی ساده تر با خصوصیت خود استرینگ میشه انجام داد و اصلا نیازی نیست که اولا به آرایه ای از کاراکتر تبدیلش کنیم و بعد بیایم توش بگردیم و ....

ثانیا متن تکست باکس من خیلی تکراری داره، با این کار حتی در حالت رشتشم هم نمی شه کار کرد.

اولا اگه این دات نت این همه کلاس آماده نداشت ، برنامه نویسا این همه تنبل به بار

نمی اومدند (منظورم شما نیستید ، در حالت کلی میگم) ، به خاطر همینه که سی پلاس

پلاس طرفداراش از سی شارپ کمتر میشه !!! و هر روز مهاجرت از ++C به #C انجام میگیره !

ثانیا من یک الگوریتم کلی ارائه کردم ، و شما صورت مساله خودتون رو نگفته بودید ، در هر

حال مهم اینه آدم بیاد برای مسائل سخت بشینه 2 - 3 ساعت فکر کنه ، تا اینکه بیاد تو 5

دقیقه از یکسری امکاناتی استفاده کنه که هیچ کاوش ذهنی برای آدم بوجود نمیاره !!!

h.jaza
پنج شنبه 16 آبان 1387, 19:45 عصر
سالار جون، سالاری :لبخند:

حرفات درسته، زمانی که وسه ی آدم یه مسئله پیش میاد، آدم باید بشینه و روش فکر کنه. من هم وسه ی این مسئله، کلی فکر کردم و کلی هم راه رو انجام دادم، ولی هیچ کدوم بهینه نبود و به تبع به درد نمی خورد. این شد که ...

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

البته این بحث خیلی طولانیه و بسیار بحث برنگیزه، وسه ی همین بزار همین جا در نطفه خفش کنیم. :لبخند:

از همه ی اینها گذشته، همون جور که توی پست قبلی هم گفتم، مشکل من حل شد.

با تشکر