PDA

View Full Version : مجبور کردن کاربر به وارد نمودن تاریخ به شکل 1386/07/21



soheilbehro
شنبه 04 مهر 1388, 14:59 عصر
من می خوام کاربر رو محدود کنم که فقط بتونه تاریخ رو به اون شکلی که من می خواهم وارد کنه در غیر اینصورت به پیغام بده
شکل درست تاریخ مثلا 1368/07/19

vb.c++
شنبه 04 مهر 1388, 15:29 عصر
میتونی براش شرط بزاری
Private Sub Command1_Click()
If Mid(Text1.Text, 6, 1) > 1 Then
MsgBox "ss"
Exit Sub
End If

End Sub

BookWorm
شنبه 04 مهر 1388, 15:32 عصر
سلام دوست عزیز ، بخدا تو سایت هست .

هر دو فایل رو در پوشه system32 ویندوز کپی کن و بعد Install.bat رو اجرا کن و در vb در لیست toolbox ها جای خالی Commponents فایل fardate.ocx را از browse انتخاب کن و به لیست ابزارهات اضافه کن و استفاده ببر .

alih110
شنبه 04 مهر 1388, 15:34 عصر
سلام از کنترل Mask Edit Box استفاده کنید . اینم کنترلش البته خود VB6 داره ولی اگر نداشت .

vbhamed
شنبه 04 مهر 1388, 15:36 عصر
سلام

از MaskEdit استفاده كن
تو ليست كامپوننتها گزينه Microsoft Masked Edit Control 6.0 رو تيك بزن بعد تو خاصيت Mask و Format اون عبارت ####/##/## رو بنويس

alih110
شنبه 04 مهر 1388, 15:37 عصر
آموزش :

در قسمت Mask در Peropertis کامپوننت این رو تایپ کن .

##/##/####


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

Dr.Bronx
شنبه 04 مهر 1388, 15:56 عصر
بعد هم اگر خواستی که چک کنی تاریخی که کاربر وارد کرده معتبر هست یا نه
می تونی از shamsi.dll استفاده کنی
if not isshamsi(text1.text) then
msgbox "tarikh motabar nist"
else
text2.setfocus
end if

soheilbehro
شنبه 04 مهر 1388, 18:45 عصر
دوستان ولی این کنترل یه مشکل داره واونم اینه که نمی تونه به خوبی با کنترل دیتا ارتباط برقرار کنه

soheilbehro
شنبه 04 مهر 1388, 19:18 عصر
دوستان مشکل این کامپوننت اینه که وقتی در دیتا گرید روی انواع مختلف داده کلیک می کنی یا وقتی می ری رکورد بعدی ، محتویات داخل این متن تغییر نمی کنه

soheilbehro
دوشنبه 06 مهر 1388, 23:46 عصر
دوستان لطف کنند یه راه حل دیگه پیشنهاد بدندد چون این به درد من نمی خوره