Fa ایجاد محدودیت تایپ در Editbox

loo30fer

کاربر متخصص مولتی مدیا بیلدر
سلام میخواستم بدونم آیا میشه کاری کرد که در editbox بیشتر از ده عدد نشه نوشت.
و آیا میشه در Editbox کاری کرد که فقط عدد و a تا z امکان تایپش باشه و نشه داخل فارسی نوشت
ممنون میشم اگه امکانش هست پلاگین یا اسکریپتش برام بذرین
 

Saman

مدیر انجمن مولتی مدیا بیلدر
سلام
لطفا به دستورات خیلی زیاد دقت کنید.
جای سوال دیگه باقی نمی مونه.

برای تا 10 کاراکتر :
کد:
Len=LEN(Str1$)
If (Len>10) Then
  Str1$=StrCopy(Str1$,1,10)
  DisplayValue("Str1","Str1$")
  **  Message("Must less than 10 characters","")
End

برای از A تا Z :
کد:
Len=LEN(Str2$)
LastChar$=StrGet(Str2$,Len)
LastChar=ORD(LastChar$)
OrdA=ORD(A)
OrdZ=ORD(Z)
If (LastChar<OrdA | LastChar>OrdZ) Then
  If (Len=1) Then
    Str2$=''
    DisplayValue("Str2","Str2$")
  Else
    Len=Len-1
    Str2$=StrCopy(Str2$,1,Len)
    DisplayValue("Str2","Str2$")
  End
  **  Message("Must be between A-Z","")
End

موفق باشید.
 

پیوست ها

  • InputMask.zip
    1,018 بایت · بازدیدها: 35

loo30fer

کاربر متخصص مولتی مدیا بیلدر
تایپ صفر تا 9 و a تا z

شرمنده میتونید یه پروژه دیگه رو برام بذارین که امکان تایپ فقط عدد صفر تا 9 و a تا z رو باهم داشته باشه چون این پروژتون فقط امکان تایپ a تا z رو داشت چون اسکریپت نویسی بلد نیستم واقعا ممنون میشم
....
ببخشید یه سوال دیگه هم داشتم آیا میشه تو Editbox کاری کرد که بعد ازتایپ 3 عدد علامت - را به طورخودکار بذاره مثل نمونه زیر
432-132-121
که دیگه نیازی به واردکردن - نباشه
 

BEHESHT

Well-Known Member
سامان عزیز مثال بسیار واضحی گذاشتن

بهتره کمی در مورد اسکریپت نویسی مطالعه کنید تا خودتون قشنگ متوجه قضیه بشید

و اذیت نشین وگرنه ادامه دادن به برنامه نویسی برای شما غیر ممکنه خواهد بود این رو به عنوان برادر کوچک تر از من قبول کنید
 

loo30fer

کاربر متخصص مولتی مدیا بیلدر
تایپ خودکار کارکتر -

پس اگه امکانش هست اسکریپت این برام بذارین که توی editBox پس ازتایپ هر سه عدد خودش کارکتر - رو بذاره .. برای نمونه 321-122-122
چون اگه با مثالاشون کار بکنم باز نمیتونم همچین چیزی درست کنم ممنون میشم
 

Saman

مدیر انجمن مولتی مدیا بیلدر
دوست عزیز من اینکارو تست کردم. ظاهرا عملی نیست.
البته نه از لحاظ کد نویسی، از اون نظر مشکلی نیست.
از این نظر مشکل داره که مثلا وقتی شما 123 رو وارد کردید میشه 123- بعد کرسر نمیوفته بعد از حرفه - و روی 3 میمونه و وقتی شما 4 رو وارد میکنید به اینطورت به شما خروجی میده 1234- و هرچی هم که تایپ کنید قبل از - میره.
 

evil_gates

اين نيز بگذرد ...
با اجازه جناب [SaMaN] فكر ميكنم اين راه حل هم بد نباشه :
اينكه شما اعداد رو پشت سر هم تايپ كنيد و بعد اسكريپتي بنويسيد كه در پايان دهمين كاراكتر از سمت چپ سه رقم سه رقم جدا كنه و بعد از هر سه رقم يك كاراكتر - قرار بده و رشته جديد رو مجددا تو EditBox فراخواني كنه. فكر ميكنم اينطوري منظور شما شبيه سازي ميشه. اگه منظورتون رو تامين ميكنه بگيد تا تو نوشتن دستوراتش كمكتون كنم.
 

loo30fer

کاربر متخصص مولتی مدیا بیلدر
ممنون میشم پس اسکریپتش برام بذارین
 

BEHESHT

Well-Known Member
آقا مهران یه مثال داشت سویچ کردن بین Edit ه:ا به جای این کار می تونی از چند edit مختلف هم استفاده کنی

اینجوری هم راهی هست برا خودش:wink:
 

Saman

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

موفق باشید.
 

BEHESHT

Well-Known Member
اینم ایده جالبی هست evil_gates عزیز

با اجازه شما آقای evil_gates یه راه حل جالب امیدوارم مشکلتون رو حل کنه

به صورت xxxx-xxxx-xxxx-xxxx سریال می سازه و به جز این طرح نوشتاری در edit نمیشه چیز دیگه ای وارد کرد
 

پیوست ها

  • serial.zip
    722 بایت · بازدیدها: 22

evil_gates

اين نيز بگذرد ...
اینم ایده جالبی هست evil_gates عزیز

با اجازه شما آقای evil_gates یه راه حل جالب امیدوارم مشکلتون رو حل کنه

به صورت xxxx-xxxx-xxxx-xxxx سریال می سازه و به جز این طرح نوشتاری در edit نمیشه چیز دیگه ای وارد کرد

راه حل خوبي بود دوست من

يه پيشنهاد: اگه شرط شما رو تو يك حلقه ميزاشتيم و يك متغير كه به ازاي هربار چرخش حلقه 4 واحد بهش اضافه شه و در محل بدست اومده كاراكتر - رو درج كنه اولا خطوط برنامه كاهش پيدا ميكرد ثانيا كاربر هر تعداد كاراكتر كه مدنظرش بود ميتونست بنويسه.

ممنونم كه به مثال من توجه كرديد و راه حل جديد پيشنهاد داديد. من از روش شما ايده جديدي گرفتم
 

BEHESHT

Well-Known Member
بسیار عالی بود یکی از خصوصیات برنامه نویسی این هستش که بهبود کد ها باعث بالا رفتن سرعت و کم حجم شدن برنامه ها میشه>|<

یک نکته جالب دیگه من هر چی نگاه می کنم با این که شما مثال رو دانلود کردین اما کانتر ضمیمه کار نکرده:?:

فکر کنم vBulletin هم این روز ها قاطی کرده چه برسه به من :green:
 

Saman

مدیر انجمن مولتی مدیا بیلدر
سلام
مرسی از دوستان بابت مثال ها.
این مثال تکمیل شده قبلی من هم ببینید، بد نیست.
با استفاده از VB یه برنامه SendKey نوشتم . هم میشه کلید راست رو به برنامه ارسال کرد که کرسر جابجا شه و هم اینکه خود کاراکتر - مستقیم باهاش فرستاد.
دو تا روشش هست تو مثال.

سورس VB هم گذاشتم.

موفق باشید.
 

پیوست ها

  • SendKey.zip
    6.8 کیلوبایت · بازدیدها: 15
  • InputMask.zip
    5.9 کیلوبایت · بازدیدها: 16

جدیدترین ارسال ها

بالا