PDA

View Full Version : بر نامه نویسی در vb .net



fahimeh 20
شنبه 12 اردیبهشت 1388, 09:03 صبح
سلام من میخواهم برنامه ای بنویسم راجع به فرمت ساعت (دقیقه:ساعت )که اگر کاربر ساعت را با این فرمت وارد نکرد پیغامی ارسال شود که من این برنامه را تا این حد تونستم بنویسم حالا همین برنامه هم کاری انجام نمیده اگه میشه برنامه را بخونین واشکالش و بگین .

Public Class Form1

Public module common
Public Sub checksaat(ByVal saat As Integer, ByRef min As Integer)
TextBox1.Text = saat
TextBox2.Text = min
If saat Like "[!1-24,:],[!1-60]" Then

Throw New Exception("فرمت ساعت اشتباه است ")
End If

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
checksaat = (TextBox1.Text)
cath as exeption


End Sub

End Module
End Class

morteza_261
شنبه 12 اردیبهشت 1388, 14:13 عصر
سلام
میتونی از این کد استفاده کنی:


If IsDate(TextBox1.Text) = False Then
MessageBox.Show(" لطفاً ساعت را با بصورت صحیح و با فرمت ""دقیقه:ساعت"" وارد نمایید", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Stop, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading)
End If



فقط یه اشکال که داره اینه که اگر با فرمت تاریخ هم بنویسیم خطا نمیده(مسیج باکس نشون داده نمیشه)

araelectronic@ymail.com
شنبه 12 اردیبهشت 1388, 18:10 عصر
با سلام
روشهای مختلفی میتونید استفاده کنید که راحتتریت آن استفاده از دو textbox است که میتوانید text box ها را محدود به عددهای ساعت و دقیقه بکنید که اگر خارج از آن محدوده بود پیغام بدهد.
راه دوم استفاده از یک textbox است و نوشتن تابعی برای کنترل آن که طول textbox و کنترل صحت عددهای وارد شده برای ساعت و دقیقه که باید از تابع mid کمک بگیرید
راه بعدی استفاده از masked textbox است که فکر میکنم راه مناسبتری باشد.

موفق باشید

ACorvinus
یک شنبه 13 اردیبهشت 1388, 11:18 صبح
من جوابت رو داده بودم ولی گویا تایپیکت حذف شد .




Public Class Form1

Private Function Check(ByVal Time As String) As Boolean
Check = True
Dim TimeArr() As String = Split(Time, ":")

If TimeArr.Length <> 3 Then
Return False
Else
If (Byte.Parse(TimeArr(0)) < 0) Or (Byte.Parse(TimeArr(0)) > 23) Then
Return False
ElseIf (Byte.Parse(TimeArr(1)) < 0) Or (Byte.Parse(TimeArr(1)) > 59) Then
Return False
ElseIf (Byte.Parse(TimeArr(2)) < 0) Or (Byte.Parse(TimeArr(2)) > 59) Then
Return False
End If
End If
End Function

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Not String.IsNullOrEmpty(TextBox1.Text) Then
If Check(TextBox1.Text) Then
MessageBox.Show("Valid Time")
Else
MessageBox.Show("Not Valid Time")
End If
End If
End Sub
End Class