PDA

View Full Version : سوال: جدا كردن ارقام بصورت 3 تايي



hrj1981
پنج شنبه 30 خرداد 1387, 12:59 عصر
دوستان سلام
من در اينترنت بانك ملت يك تكس باكس جالب ديده ام كه هنگامي كه كاربر ارقام خود را وارد مي نمايد برنامه بصورت اتوماتيك آنها را سه تا سه تا جدا مي كند(در هنگام ورود اطلاعات)
حال سوال؟
براي يك تكس باكس معمولي چگونه مي شود اين كار را كرد؟(در حين ورود اطلاعات و نه هنگام خروج از تكس باكس)

vbhamed
پنج شنبه 30 خرداد 1387, 13:07 عصر
سلام

براي TextBox معمولي بايد كد سه رقم جدا كردن رو توي روال Text_Change بنويسي و جاي مكان نما رو با خاصيت SelStart اصلاح كني

يعني قبل از كاما زدن ببيني مكان نما كجاست و بعد از اون با توجه به اينكه عددي اضافه شده، حذف شده و اينكه كاما هم خورده يا نه، اصلاحش كني

reza_optical
پنج شنبه 30 خرداد 1387, 13:12 عصر
با سلام
دوست عزیز یه جستجو بزن قبلا بحث شده ولی بازم واسط نوشتم..

.

soheil_programmer
پنج شنبه 30 خرداد 1387, 13:31 عصر
سلام

این سورس TextBox این قابلیت را داره که چیزی به غیر از رقم نمی گیرد و اگر کاربر اشتباهاً از حروف استفاده کنید قبول نمی کند!

امیدوارم از سورس من بیشتر خوشت بیاد!:بامزه:

اوبالیت به بو
پنج شنبه 30 خرداد 1387, 14:34 عصر
فكر ميكنم كدش از mbt925 باشه:

Dim LNumber As Long, St As String, A As Integer
LNumber = Len(Text1.Text)
For I = LNumber To 1 Step -1
B = B + 1
St = St + Mid(Text1.Text, I, 1)
If B Mod 3 = 0 Then
St = St + ","
End If
Next I
If Left(StrReverse(St), 1) = "," Then
St = Right(StrReverse(St), Len(St) - 1)
End If
Text1.Text = StrReverse(St)

noorsoft
جمعه 31 خرداد 1387, 13:22 عصر
بهترین و ساده ترین راه استفاده از دستور Format
یک Usercontrol درست کنید و متن اصلی را درون یک متغییر بریزید و بعد آن متغییر را با دستور فورمت درون تکست باکس نشان دهید



Format(text,"###,###,###")

ASKaffash
شنبه 01 تیر 1387, 08:59 صبح
سلام
یک MaskTextBox بزار Mask را مثلا ########### و خاصیت Format را ###,# و خاصیت PromptChar رو یک Space قرار بده خودش همه کار را میکنه!

vbhamed
شنبه 01 تیر 1387, 09:20 صبح
سلام
یک MaskTextBox بزار Mask را مثلا ########### و خاصیت Format را ###,# و خاصیت PromptChar رو یک Space قرار بده خودش همه کار را میکنه!

سلام
منظور همزمان با تايپ بود نه اينكه وقتي از TextBox خارج ميشيم

ASKaffash
شنبه 01 تیر 1387, 10:43 صبح
سلام
منظور همزمان با تايپ بود نه اينكه وقتي از TextBox خارج ميشيم
سلام
اگر همزمان با تایپ باشد که فقط باید Mask تنظیم شود چون من روی نرم افزارهای دیگر دیدم
که پس از رفتن از فیلد سه رقم سه رقم میشود

soheil_programmer
شنبه 01 تیر 1387, 15:58 عصر
سلام
منظور همزمان با تايپ بود نه اينكه وقتي از TextBox خارج ميشيم


شما که هنوز دنبال نمونه ای؟؟؟
بالا برات گذاشتم دیگه همزمان با تایپ هم کار میکنه!!!:عصبانی++:

vbhamed
شنبه 01 تیر 1387, 17:05 عصر
شما که هنوز دنبال نمونه ای؟؟؟
بالا برات گذاشتم دیگه همزمان با تایپ هم کار میکنه!!!:عصبانی++:

سلام
اون رو ديدم
دست شما هم درد نكنه
اما اولا داريم روشهاي مختلف رو تست مي كنيم
در ثاني مشكلي كه اين نمونه ها دارن اينه كه بعد از تايپ يك رقم در وسط عدد، مكان نما مي پره آخر

hrj1981
شنبه 01 تیر 1387, 17:24 عصر
با سلام
دوست عزیز یه جستجو بزن قبلا بحث شده ولی بازم واسط نوشتم..

.

اين ضميمه تا حدود زيادي كار من را حل كرد