raminkian 0 ارسال شده در 10 آذر، ۱۳۹۶ اشتراک گذاری ارسال شده در 10 آذر، ۱۳۹۶ سلام دوستان من یه ادیت تکست دارم که از کاربر مبلغ میگیره میخوام وقتی وارد کرد سه رقم سه رقم جدا کنه تاپیک های مشابه هم تو سایت دیدم اما هیچکدوم کمکم نکرد ممنون میشم کمکم کنید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
نورنما 613 ارسال شده در 11 آذر، ۱۳۹۶ اشتراک گذاری ارسال شده در 11 آذر، ۱۳۹۶ سلام این تایپیکهای زیر که حتی سورس آماده درونشون ارائه شده چه مشکلی دارند؟ که مشکل شما رو حل نکرده اند؟! سوای مطالب خوب این تایپیکها ، فقط یک نکته رو حتما توجه کنید که: در قسمت Sub edittext1_TextChanged حتما یک متغییر دوم ،جدا تعریف کنید که عدد ورقم اصلی وارد شده را بدون کاراکترهای متنی اعم از (. ، / ....) در خود ذخیره کند وبااینکه این متغییر متنی حاوی عدد نمایش داده نمی شود ولی از این متغییر مخفی در محاسباتتان استفاده کنید که برنامه ارور ندهد و بتوانید به راحتی از متغییر متنی شامل اعداد در محاسبات عددیتان استفاده نمایید والا چون عدد نمایش داده در جعبه تکست باکس شامل کاراکترهای متنی می شود، نمی شوداز آن در کارهای محاسباتی عددی استفاده کردومتغییر قابل تغییر به نوع Int نمی باشد . البته یادمه اون قدیم قدیما در QBasic از دستور PRINT USING a$;adad که $a مساوی قالبهای اینچنینی بود "###.###.###,###" یا ",######" استفاده میشد ، که خودکار برنامه اعداد رو سه رقم جداشده با کاراکتر دلخواه نمایش میداد ،البته ظاهرا توی بیسیک فور هم هست اسم کتابخانه اش هست (Masked EditText) توی این لینک زیر براتون پیدا کردم ببینید به دردتان میخوره یانه ! B4A Library - Mask V1.0.0 | B4X Community - Android, iOS, desktop, server and IoT programming tools B4A Library - [Lib] Masked EditText | B4X Community - Android, iOS, desktop, server and IoT programming tools البته الان بعدقرار دادن لینک بالا ، دیدم که جناب phd.khosraviتوی تایپیک سوم هم در آخر بهش اشاره کرده!. ____________________________ در لینک زیر کتابخانه و سورس آماده آن قرار داده شدکه واسه جدا کردن (دوتا دوتا وجداکردن اعداد تاریخ و ساعت و ایمیل وتشخیص صحیح واشتباه بودن آنها و یا برای مولتی لاین و متن hint متحرک و متن فقط خواندنی در ادیت تکست edit text read only ) درش مثال آورده شده: کتابخانه و سورس Masked EditText 1.52 لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mojtaba117 4 ارسال شده در 11 دی، ۱۳۹۶ اشتراک گذاری ارسال شده در 11 دی، ۱۳۹۶ در در 1396/09/11, 04:37:16، نورنما گفته است : سلام این تایپیکهای زیر که حتی سورس آماده درونشون ارائه شده چه مشکلی دارند؟ که مشکل شما رو حل نکرده اند؟! سوای مطالب خوب این تایپیکها ، فقط یک نکته رو حتما توجه کنید که: در قسمت Sub edittext1_TextChanged حتما یک متغییر دوم ،جدا تعریف کنید که عدد ورقم اصلی وارد شده را بدون کاراکترهای متنی اعم از (. ، / ....) در خود ذخیره کند وبااینکه این متغییر متنی حاوی عدد نمایش داده نمی شود ولی از این متغییر مخفی در محاسباتتان استفاده کنید که برنامه ارور ندهد و بتوانید به راحتی از متغییر متنی شامل اعداد در محاسبات عددیتان استفاده نمایید والا چون عدد نمایش داده در جعبه تکست باکس شامل کاراکترهای متنی می شود، نمی شوداز آن در کارهای محاسباتی عددی استفاده کردومتغییر قابل تغییر به نوع Int نمی باشد . البته یادمه اون قدیم قدیما در QBasic از دستور PRINT USING a$;adad که $a مساوی قالبهای اینچنینی بود "###.###.###,###" یا ",######" استفاده میشد ، که خودکار برنامه اعداد رو سه رقم جداشده با کاراکتر دلخواه نمایش میداد ،البته ظاهرا توی بیسیک فور هم هست اسم کتابخانه اش هست (Masked EditText) توی این لینک زیر براتون پیدا کردم ببینید به دردتان میخوره یانه ! B4A Library - Mask V1.0.0 | B4X Community - Android, iOS, desktop, server and IoT programming tools B4A Library - [Lib] Masked EditText | B4X Community - Android, iOS, desktop, server and IoT programming tools البته الان بعدقرار دادن لینک بالا ، دیدم که جناب phd.khosraviتوی تایپیک سوم هم در آخر بهش اشاره کرده!. ____________________________ در لینک زیر کتابخانه و سورس آماده آن قرار داده شدکه واسه جدا کردن (دوتا دوتا وجداکردن اعداد تاریخ و ساعت و ایمیل وتشخیص صحیح واشتباه بودن آنها و یا برای مولتی لاین و متن hint متحرک و متن فقط خواندنی در ادیت تکست edit text read only ) درش مثال آورده شده: کتابخانه و سورس Masked EditText 1.52 سلام راجع به این توضیحات بالاتون ( فقط یک نکته رو حتما توجه کنید که: در قسمت Sub edittext1_TextChanged حتما یک متغییر دوم ،جدا تعریف کنید که عدد ورقم اصلی وارد شده را بدون کاراکترهای متنی اعم از (. ، / ....) در خود ذخیره کند وبااینکه این متغییر متنی حاوی عدد نمایش داده نمی شود) می تونید یه مثال عملی (قطعه کد) بگید. من دقیقا همین مشکلو دارم... محاسبات اعداد سه رقم سه رقم شده در ادیت تکست. سپاس از شما لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
نورنما 613 ارسال شده در 11 دی، ۱۳۹۶ اشتراک گذاری ارسال شده در 11 دی، ۱۳۹۶ سلام راجع به مشکلتون خب به تایپیکهای بالاکه ارسال کرده بودم یک نگاه گذرا می فرمودید، قطعه کد هم اونجا پیدا می فرمودید! بااین حال بفرمایید،این تایپیک زیر که قطعه کدهم داره خدمتتان تقدیم میشه. (روی گزینه «پاسخ به موضوع» کلیک کنید تایپیک مربوطه روبازمیکنه) لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
نورنما 613 ارسال شده در 11 دی، ۱۳۹۶ اشتراک گذاری ارسال شده در 11 دی، ۱۳۹۶ سلام راجع به مشکلتون خب به تایپیکهای بالاکه ارسال کرده بودم یک نگاه گذرا می فرمودید، قطعه کد هم اونجا پیدا می فرمودید! بااین حال بفرمایید،این تایپیک زیر که قطعه کدهم داره خدمتتان تقدیم میشه. (روی گزینه «پاسخ به موضوع» کلیک کنید تایپیک مربوطه روبازمیکنه) لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mojtaba117 4 ارسال شده در 11 دی، ۱۳۹۶ اشتراک گذاری ارسال شده در 11 دی، ۱۳۹۶ در 32 دقیقه قبل، نورنما گفته است : سلام راجع به مشکلتون خب به تایپیکهای بالاکه ارسال کرده بودم یک نگاه گذرا می فرمودید، قطعه کد هم اونجا پیدا می فرمودید! بااین حال بفرمایید،این تایپیک زیر که قطعه کدهم داره خدمتتان تقدیم میشه. (روی گزینه «پاسخ به موضوع» کلیک کنید تایپیک مربوطه روبازمیکنه) تمام اون مطالب رو دیدم ولی چیزی که می خواستم نبود... و از کتابخونه maskedittext استفاده نمیکنم... منظور بنده از ریپلای پیام شما این هست که حضرتعالی به مساله ای اشاره فرمودید که در تاپیک های مربوطه بحث نشده و اشاره کردید: (سوای مطالب خوب این تایپیک ها) در تکست چنج ادیت تکست حتما یک متغیر تعریف کنید و.... مشکل بنده هم همین است. در ادیت تکست چنج اعداد رو به سه رقم تبدیل کردم اما همونطور که مستحضر هستید کارکترهای تفکیک سه رقمی، استرینگ ایجاد میکنه و در محاسبه و جمع و تفریق اعداد به مشکل بر میخوره لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
نورنما 613 ارسال شده در 11 دی، ۱۳۹۶ اشتراک گذاری ارسال شده در 11 دی، ۱۳۹۶ روشش رو که عرض کردم ولی بااین وجوداشکالی نیست ، لطفا کدهاتونو ارسال کنید سرفرصت بررسی وراهنمایی انجام بشه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
نورنما 613 ارسال شده در 11 دی، ۱۳۹۶ اشتراک گذاری ارسال شده در 11 دی، ۱۳۹۶ روشش رو که عرض کردم ولی بااین وجوداشکالی نیست ، لطفا کدهاتونو ارسال کنید سرفرصت بررسی وراهنمایی انجام بشه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mojtaba117 4 ارسال شده در 11 دی، ۱۳۹۶ اشتراک گذاری ارسال شده در 11 دی، ۱۳۹۶ در 52 دقیقه قبل، نورنما گفته است : روشش رو که عرض کردم ولی بااین وجوداشکالی نیست ، لطفا کدهاتونو ارسال کنید سرفرصت بررسی وراهنمایی انجام بشه Sub EditText1_TextChanged (Old As String, New As String) Dim D As Double Dim S,N,O As String n=New.Replace(",","") O=Old.Replace(",","") If O<>N Then EditText1.Text=EditText1.Text.Replace(",","") S=EditText1.Text If IsNumber(s) =True And S<>"0" Then D=s EditText1.Text=NumberFormat(D,0,0) End If End If EditText1.SelectionStart=EditText1.Text.Length End Sub خدمت شما... من میخام در در رویداد کلیک محاسبه ورودی ادیت تکست بدون ویرگول (جداسازی سه رقمی) در نظر گرفته بشه که مشکلی در محاسبه پیش نیاد. سپاس لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
amir54 138 ارسال شده در 11 دی، ۱۳۹۶ اشتراک گذاری ارسال شده در 11 دی، ۱۳۹۶ در 4 دقیقه قبل، mojtaba117 گفته است : Sub EditText1_TextChanged (Old As String, New As String) Dim D As Double Dim S,N,O As String n=New.Replace(",","") O=Old.Replace(",","") If O<>N Then EditText1.Text=EditText1.Text.Replace(",","") S=EditText1.Text If IsNumber(s) =True And S<>"0" Then D=s EditText1.Text=NumberFormat(D,0,0) End If End If EditText1.SelectionStart=EditText1.Text.Length End Sub خدمت شما... من میخام در در رویداد کلیک محاسبه ورودی ادیت تکست بدون ویرگول (جداسازی سه رقمی) در نظر گرفته بشه که مشکلی در محاسبه پیش نیاد. سپاس سلام من قبلا نوشته بودم فقط یکم تغییر می خواست Sub Activity_Create(FirstTime As Boolean) 'Do not forget to load the layout file created with the visual designer. For example: 'Activity.LoadLayout("Layout1") Dim l As List = change("123456789","***-***") For i = 0 To l.Size-1 LogColor(l.Get(i),Colors.Yellow) Next LogColor(l.Get(1)+l.Get(2),Colors.Green) End Sub Sub change(number As String,format As String) As List Private spc(0),tx As String Private lis As List Private x As Int spc =Regex.Split("-",format) lis.Initialize For i = 0 To number.Length-1 If (number.Length-1) < i+spc(x).Length Then tx = number.SubString2(i,number.Length) If(IsNumber(tx)) Then lis.Add(tx) Exit End If tx= number.SubString2(i,i+spc(x).Length) i = (i+spc(x).Length)-1 x = x +1 If spc.Length = x Then x = 0 If(IsNumber(tx)) Then lis.Add(tx) Next Return lis End Sub تا جایی که من منظور شما رو گرفتم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mojtaba117 4 ارسال شده در 11 دی، ۱۳۹۶ اشتراک گذاری ارسال شده در 11 دی، ۱۳۹۶ در 1 دقیقه قبل، amir54 گفته است : سلام من قبلا نوشته بودم فقط یکم تغییر می خواست Sub Activity_Create(FirstTime As Boolean) 'Do not forget to load the layout file created with the visual designer. For example: 'Activity.LoadLayout("Layout1") Dim l As List = change("123456789","***-***") For i = 0 To l.Size-1 LogColor(l.Get(i),Colors.Yellow) Next LogColor(l.Get(1)+l.Get(2),Colors.Green) End Sub Sub Activity_Resume End Sub Sub Activity_Pause (UserClosed As Boolean) End Sub Sub change(number As String,format As String) As List Private spc(0),tx As String Private lis As List Private x As Int spc =Regex.Split("-",format) lis.Initialize For i = 0 To number.Length-1 If (number.Length-1) < i+spc(x).Length Then tx = number.SubString2(i,number.Length) If(IsNumber(tx)) Then lis.Add(tx) Exit End If tx= number.SubString2(i,i+spc(x).Length) i = (i+spc(x).Length)-1 x = x +1 If spc.Length = x Then x = 0 If(IsNumber(tx)) Then lis.Add(tx) Next Return lis End Sub تا جایی که من منظور شما رو گرفتم سپاس از پاسخ شما ببینید بنده مشکلی در تبدیل ندارم 4 تا ادیت تکست دارم که عملیات جمع و تفریق در رویداد باتن محاسبه انجام میشه... ورودی ای که به ادیت تکست میدیم و اعداد با ویرگول جداسازی میشن در باتن کلیک به خطا برمیخوره (دلیلشم اینه که به عنوان عدد شناسایی نمیشن چون ویرگول دارن) حالا میخام بدون ویرگول و جداسازی در باتن محاسبه شناسایی بشن... بر فرض مثال در رویداد باتن شرط گذاشتم که اگر متن ادیت تکست از عدد 1000 کمتر باشه فلان کارو بکنه منتها در اینجا به خطا برمیخوره به خاطر وجود 1,000 لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
amir54 138 ارسال شده در 11 دی، ۱۳۹۶ اشتراک گذاری ارسال شده در 11 دی، ۱۳۹۶ در 2 دقیقه قبل، mojtaba117 گفته است : سپاس از پاسخ شما ببینید بنده مشکلی در تبدیل ندارم 4 تا ادیت تکست دارم که عملیات جمع و تفریق در رویداد باتن محاسبه انجام میشه... ورودی ای که به ادیت تکست میدیم و اعداد با ویرگول جداسازی میشن در باتن کلیک به خطا برمیخوره (دلیلشم اینه که به عنوان عدد شناسایی نمیشن چون ویرگول دارن) حالا میخام بدون ویرگول و جداسازی در باتن محاسبه شناسایی بشن... بر فرض مثال در رویداد باتن شرط گذاشتم که اگر متن ادیت تکست از عدد 1000 کمتر باشه فلان کارو بکنه منتها در اینجا به خطا برمیخوره به خاطر وجود 1,000 اینطوری میشه ویلگول ها رو برداشت و چک کرد و بعدش گذاشت Dim number As Int Dim tx As String = "1,000" tx = tx.Replace(",","") If IsNumber(tx)Then number = tx لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mojtaba117 4 ارسال شده در 11 دی، ۱۳۹۶ اشتراک گذاری ارسال شده در 11 دی، ۱۳۹۶ در 18 دقیقه قبل، amir54 گفته است : اینطوری میشه ویلگول ها رو برداشت و چک کرد و بعدش گذاشت Dim number As Int Dim tx As String = "1,000" tx = tx.Replace(",","") If IsNumber(tx)Then number = tx عالی بود... سپاس از هر دو بزرگوار لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
نورنما 613 ارسال شده در 11 دی، ۱۳۹۶ اشتراک گذاری ارسال شده در 11 دی، ۱۳۹۶ منم ممنونم برای وضوح بیشتر مطلب برای دوستانی که ممکنه در آینده همین مشکلو داشته باشند عرض می شود: طبق کدی که دوستمان آقا امیر لطف کردند و ارائه کردند ، اگه یک edittext ویک label داشته باشید ،کدهاتون اینجوری میشه که شما درمحاسباتتان باید از متغییر tx ویاهمان محتویات label1 استفاده کنید . Sub Globals Dim tx As String Private EditText1 As EditText Private Label1 As Label End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("Layout1") End Sub Sub EditText1_TextChanged (Old As String, New As String) Dim D As Double Dim S,N,O As String n=New.Replace(",","") O=Old.Replace(",","") If O<>N Then EditText1.Text=EditText1.Text.Replace(",","") S=EditText1.Text If IsNumber(s) =True And S<>"0" Then D=s EditText1.Text=NumberFormat(D,0,0) End If End If EditText1.SelectionStart=EditText1.Text.Length Dim number As Int tx=EditText1.Text tx = tx.Replace(",","") If IsNumber(tx)Then number = tx Label1.Text=tx End Sub لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سوال
raminkian 0
سلام دوستان
من یه ادیت تکست دارم که از کاربر مبلغ میگیره میخوام وقتی وارد کرد سه رقم سه رقم جدا کنه
تاپیک های مشابه هم تو سایت دیدم اما هیچکدوم کمکم نکرد
ممنون میشم کمکم کنید
لینک ارسال
به اشتراک گذاری در سایت های دیگر
12 پاسخ به این سوال تاکنون داده شده است
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.