# Native Code > برنامه نویسی در 6 VB > کامپوننت ها و ابزارهای کاربردی در VB6 >  یه کامپوننت تکست باکس با کلی امکانات(دانلود نکنی از جیبت رفته)

## ali_habibi1384

اینم اون کامپوننتی که چند هفته پیش قولش رو داده بودم. فعلا این ورژن 1 اون هست. کاملترش کردم خدمت آقایون می زارم.
قابلیتها:
EnterToTab = کلید اینتر مانند کلید تب عمل کند
EscToClose = کلید ESC  برای بست فرم اعمال شود
GotBackColor = رنگ زمینه تکست باکس در هنگام ورود به تکست تغییر می کند
SelectText = هنگام ورود فوکوس به تکست باکس متن را انتخاب کند
OtherChar = تعریف تعدادی کاراکتر ویژه که تکست فقط آنها را قبول کند و غیر از آن را قبول نکند
TypeAll = قبول همه نوع کاراکترها
TypeDate = قبول فقط تاریخ شمسی
TypeFa = قبول فقط حروف فارسی
.
.
.
البته شما می توانید با انتخاب چند نوع تعیین شده آنها را با هم بیاورید . مثلا شما برای آدرس به عدد حروف و آندرلاین احتیاج دارید و میتوانید در  OtherChar  "_"   را قرار دهید و نوع TypeFa , TypeNumeric  را نیز  True  کنید.
منتظر نظرات و پیشنهادات برای کامل کردن OCX  هستم.

----------


## Pr0grammer

قبل از هرچیز باید بگم عالی بود!

اصلاً قصد انتقاد بی خود و ... ندارم! خیلی خوب بود! اما فقط چند پیشنهاد دارم! می تونستی یه Property مثلاً Type تعریف کنید که توی همون Properties یه کومبو باشه و اون آیتم های ( TypeFa ، TypeDate و ...) توش قرار میدادی! و در ضمن میشد پروپرتیه فونت رو یه Font بزاری فقط به حای Font ،  FontSize  و ....!

البته بازم میگم؛ اینا فقط یه پیشنهاده و همینطورش هم کارتون عالی بود! 
موفق باشی

----------


## parselearn

ازتون ممنونم 
ولی بهتره در قسمت کامپوننتها قرار دهید
https://barnamenevis.org/showth...=78376&page=30

----------


## ali_habibi1384

> چند پیشنهاد دارم! می تونستی یه Property مثلاً Type تعریف کنید که توی همون Properties یه کومبو باشه و اون آیتم های ( TypeFa ، TypeDate و ...) توش قرار میدادی! و در ضمن میشد پروپرتیه فونت رو یه Font بزاری فقط به حای Font ، FontSize و ....!


قابلی نداشت؛ منهم در ابتدا همین نظر شما رو داشتم اما بعد پشیمون شدم چون می خواستم تا کاربر بتونه چندتا خصوصیت رو با هم انتخاب کنه مثلا فارسی و انگلیسی اما اگه بصورت تک انتخاب بود دیگه این قابلیت اجرا نمیشد. :چشمک: 
در رابطه با فونت و بقیه حالتها هم این کارو خواهم کرد. به محض تکمیل سر فرصت در اختیار دوستان قرار میدم.

----------


## ali_habibi1384

> ازتون ممنونم 
> ولی بهتره در قسمت کامپوننتها قرار دهید
> https://barnamenevis.org/showth...=78376&page=30


 اتفاقا قصد چنین کاری رو داشتم اما ترسیدم مثل تاپیک برنامه های  vb  که آقای کشاورز زحمت کشیده و همه رو پاک کرده خراب بشه و تاپیک منم بپره. آخرین ورژنش رو که درست کنم به پیشنهادتون عمل می کنم . فعلا برای تکمیلش به نظراتتون احتیاج دارم.

----------


## parselearn

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

----------


## sh2007

رويداد Keydown و Keycode نداره

----------


## ali_habibi1384

> هنگام تغییر تاریخ برنامه خوب عمل نمی کنه
> اعداد رو تغیییر نمیده


منظورتون رو متوجه نمیشم؟ اعداد چی رو تغییر نمیده؟
شاید منظورتون تغییر ماههایی هست که از 2 رقمی یا 30 روزه هستند؟
اگه میشه یه مثال بزنید تا کاملا متوجه بشم.
ممنون از نظراتتون

----------


## ali_habibi1384

> رويداد Keydown و Keycode نداره


در اصل هیچ رویدادی نداره. آخه هنوز هیچ رویدادی رو واسش طراحی نکردم. اینم کامل میکنم. :چشمک:

----------


## ali_habibi1384

اینم ورژن بعدی تکست باکس به تمام ایونتهاش.
یه قابلیت جدید به نام WarningEmpty  هم داره که اگه درونش پر باشه چنانچه کاربر بخواد بدون وارد کردن مقداری رو رد کنه پیام داخل اونو بصورت هشدار اعلام کرده و از تکست خارج نمیشه.
برای حالت عددی صفر و تهی و غیر عددی تهی رو ایراد میگیره.

----------


## ali_habibi1384

چه قابلیتهای دیگه ای رو به نظر شما می تونم به این تکست باکس اضافه کنم؟

----------


## ali_habibi1384

واسم جای سوال پیش اومده که چرا ورژن بعدی که کاملتر هستش از ورژن قبلی کمتر استقبال شده؟!

----------


## Dr.Bronx

به نظرم بيا براش يه Check Date بزار
يعني اگر كاربر اينجوري تاريخ رو تايپ كرد
1387/1/1
چون قانون زمان اينجوريه 1387/01/01
و يا
1387/*15*/10
چون ماهي به شماره 15 نداريم
اگر امكانش هست اين رو هم اضافه كنيد - بقيش حرف نداره

----------


## Dr.Bronx

يه چيز ديگه هم كه به ذهنم رسيد اينه كه بيا براي مثله ابزار هاي Light Soft
Apperance بزار يعني يه جور همون اسكين كه مثلا شكل Vista باشه يا Xp يا ....
اينجوري كاربرد اون بالا ميره به نظرم

----------


## sinashahab

می تونی برای ویستا هم بسازی ؟

----------


## emperor_vb6

خیلی باحال بود مخصوصا این کامپوننت دومی که خودش پیام خطا می داد . به عنوان پیشنهاد اگه یه امکان بزارید که وقتی فیلد عددی باشه بشه مثلا اونو هر سه کاراکتر تیک بزنه مثل 300.000.000 خیلی با حال تر میشه.
ممنون از این همه کامپوننتهای با حالتون . واقعا عالی بود.

----------


## emperor_vb6

> به نظرم بيا براش يه Check Date بزار
> يعني اگر كاربر اينجوري تاريخ رو تايپ كرد
> 1387/1/1
> چون قانون زمان اينجوريه 1387/01/01
> و يا
> 1387/*15*/10
> چون ماهي به شماره 15 نداريم
> اگر امكانش هست اين رو هم اضافه كنيد - بقيش حرف نداره


 این قابلیت رو که گفتید خود کامپوننت حاضر داره . شما وقتی نوع رو از نوع تاریخ می زارید بجز یه تاریخ معتبر چیز دیگه ای نمی تونی وارد کنی! و اون قالبی رو که میگی رعایت کرده.

----------


## Dr.Bronx

> این قابلیت رو که گفتید خود کامپوننت حاضر داره . شما وقتی نوع رو از نوع تاریخ می زارید بجز یه تاریخ معتبر چیز دیگه ای نمی تونی وارد کنی! و اون قالبی رو که میگی رعایت کرده.


حالت دوم رو هم چك مي كنه ؟
يعني تعداد ماه رو تشخيص ميده ؟؟



> خیلی باحال بود مخصوصا این کامپوننت دومی که خودش پیام خطا می داد . به عنوان پیشنهاد اگه یه امکان بزارید که وقتی فیلد عددی باشه بشه مثلا اونو هر سه کاراکتر تیک بزنه مثل 300.000.000 خیلی با حال تر میشه.
> ممنون از این همه کامپوننتهای با حالتون . واقعا عالی بود.


به اين ميگن Separator

----------


## ali_habibi1384

> حالت دوم رو هم چك مي كنه ؟
> يعني تعداد ماه رو تشخيص ميده ؟؟
> 
> به اين ميگن Separator


مثل اینکه شما اصلا با این کامپوننت کار نکردی! یه بار باهاش کار کن و بعد مشکلاتش رو بگو . متشکرم

----------


## sinashahab

مال ویستا چی ؟
می تونی بسازی ؟

----------


## ali_habibi1384

> مال ویستا چی ؟
> می تونی بسازی ؟


دوست عزیز من ویندوز ویستا ندارم و با ویستا هم کار نمی کنم. 
برنامه نویسی وی بی 6 مگه در ویندوز ویستا تغییر کرده ؟!
این ابزار در ویستا چه مشکلی داره؟

----------


## ali_habibi1384

دوستان جهت تکمیل این کامپوننت نظر دهید ، از انتقادات و پیشنهادات سازنده شما متشکرم.

----------


## Javad-2010

یه سؤال:
کار TypeIE چیه؟

----------


## kuh_nur

سلام کارتون واقعا زیبا و جالبه
منم ی پیشنهاد دارم یک قسمت داخلش بزار ک کار marquee رو انجام بده

----------


## kooroush

کار taypeie جیه ؟

----------


## perang

آقای ali_habibi1384 متشکرم بسیار خوب بود 
فقط در هنگام ورود تاریخ اگر بخواهیم 13 را عوض کنیم و Home بزنیم Error  میده یک سری چیزها به نظرم آمد  بزاری خیلی عالی میشه:
1) تاریخ میلادی 
2) وقتی تایپ فارسی  و یا Right To Left را انتخاب میکنی اتوماتیک صفحه کلید فارسی بشه (البته Property داشته باشه بهتره)
3) بعضی کاربرهای برنامه ها عادت دارند تاریخ را از روز-ماه-سال  شروع کنند اگر بتونی یک Property هم برای اون بزاری عالیه 
4) تایپ Multi Line
5) با OtherChar و MaxLenghtمیشه عدد اعشاری وارد کرد اگر بتونی تعداد اعشار Property    داشته باشه خوبه
6) در انتخاب تاریخ  یک Property  تاریخ روز داشته باشه
7) در انتخاب حالت اعداد امکان جداکننده اتوماتیک 3 رقمی مانند  : 1،000،000

چون گفته بودید نظر بدیم اینها را گفتم با تشکر

----------


## Javad-2010

> یه سؤال:
> کار TypeIE چیه؟


دوست عزیز، ali_habibi1384 ؛
لطف می‌کنید سؤال من را جواب بدهید.

----------


## kooroush

دوست عزیز ali_habibi1384 چند تا پیشنهاد برای ورژن بعدی تکست باکست !!!البته در همین حالت هم من تو برنامه ام ازش استفاده کردم اما اگه اینها رو اضافه کنی فوق اللعاده میشه !!
1- تو تسکت باکس خود وی بی پیشفرض مشخصه تکست باکس روی text هست مثلا text1.text و اگه .text رو هم ننویسی خودش تشخیص میده که .tex  هستش اما تو تکست باکس شما پیشفرضی وجود نداره یا اگه هست رو .text نیست !!!!


2- تنظیمی داشته باشه وقتی فوکوس رفت روی تکست باکس زبانش فارسی بشه و وقتی از روی تکسیت باکس برداشته شد فوکوس زبان انگلیسی بشه ! 

3- vرویداد change درست عمل نمیکنه کدهایی داخلش رو با تاخیر اجرا میکنه !!



همین ...
ممنون می شم اگه ورژن بالاتر رو تولید کردید با پی ام خبرم کنید !

----------


## mostafag

> دوستان جهت تکمیل این کامپوننت نظر دهید ، از انتقادات و پیشنهادات سازنده شما متشکرم.


سلام دوست عزیز
واقعا کامپوننت جالبی هست
انتقاد که نمیشه کرد چون کامله اما چون گفتید پیشنهاد من دو تا پیشنهاد داشتم:

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

و پیشنهاد دیگم اینه که برای مقادیر تاریخ اگه همه جاهای خالی رو پر نکنیم خود برنامه msgbox میده که میخواستم اگه میشه اینو اختیاریش کنید که هر کس خواست استفاده کنه هر کس نخواست استفاده نکنه (خب شاید توی یه برنامه تاریخ زیاد لازم نباشه!!  :متفکر:  )

ممنون میشم اگه این دو تا قابلیت رو هم اضافه کنید به خصوص قابلیت اول  :متفکر:  :چشمک: 

موفق باشید  :لبخند:

----------


## Hamid Reza Rahimi

آقا دستت درد نكنه از اينكه وقت گذاشتي واقعا كار خيلي قشنگي را انجام دادي ممنون ميشم اگر تكميلترش كني 
فقط يك نكته زماني كه تاريخ خالي وارد ميشه و اينتر ميزنيم gotbackcolor به حالت فوكوس ميره و رنگش تغيير نميكنه

----------


## Armin62

ممنون از زحمتی که کشیدی
2 تا مشکل کوچولو
1- در ثبت تاریخش باید بشه با backspace یا delete تاریخ رو حذف کرد
2- اینتر کار تب رو انجام میده ولی در هنگام زدن اینتر صدای دینگ به گوش میرسه

----------


## a_saeedsg

تاريخ براي ده 13 است براي 1401 چكار بايد كرد

----------


## ali_habibi1384

> دوست عزیز، ali_habibi1384 ؛
> لطف می‌کنید سؤال من را جواب بدهید.


براي تايپ لينكها يا آدرس ايميلهاست. كاراكترهايي مثل @./ رو قبول ميكنه.درضمن دوستان اين كامپونتت رو به زودي همرا با سورس و كلي امكانات جديد و جالبتر در قسمت .net اپلود خواهم كرد . دوستاني كه دات نت كار ميكنن ميتونن از اين ابزار استفاده كنند.

----------


## ali190

سلام
ممنون از کامپوننتی که طراحی کردی
اگر دو خاصیت Appearance ، BorderStyle که در همون تکست باکس vb6 هم وجود داره بذاری عالی میشه
ممنون 
یاعلی

----------


## emperor_vb6

از تكست باكس اگر ارث بري كنيد خودش اين امكانات رو اضافه ميكنه

----------


## ali_habibi1384

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

----------


## mahdi.fa

این را باید داخل  vb  اجا کنیم ؟ چه جوری؟

----------


## ali_habibi1384

> این را باید داخل  vb  اجا کنیم ؟ چه جوری؟


 ابزار رو بايد از قسمت كامپوننتها تيك بزنيد تا در جعبه ابزار شما نشان داده بشه!

----------


## aryasoft2872

خوب بود ولی اگر نسخه های جدید رو بزارید توی پست اول دسترسیش راحت تر میشه.

----------


## ali586

سلام به تو دوست عزیز
دستت درد نکنه ولی برای اینکه ocx بهتری بشه پیشنهاد میکنم کهdatasource و datafield  رو هم بهش اضافه کنی که بشه با دیتابیس ارتباطش داد.

----------


## gonbady

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

----------

