![]() |
| ||
| LEFT syntax I have a problem with "left"syntax when i operate it in console application, it works but when i operate it in windows application, the left syntax is error... this is my code, can someone check my code please ' get and validate order no Dim strOrderNo As String = _ ValidateOrderNumber(txtOrderNumber.Text) If strOrderNo = "" Then MessageBox.Show("Error: Invalid Order Number") With txtOrderNumber .SelectAll() .Focus() End With Return End If Private Function ValidateOrderNumber(ByRef strOrderNo As String) _ As String strOrderNo = strOrderNo.ToUpper If Left(strOrderNo, 2) <> "SO" Then ' returns an empty string to denote error Return "" End If ' return valid order no Return strOrderNo End Function the description say that 'Public Property Left() As Integer' has no parameters and its return type cannot be indexed. can someone help me please.............. thanks |
| ||
| Re: LEFT syntax Left is no longer used in vb net. Instead of If Left(strOrderNo, 2) <> "SO" Thenuse If strOrderNo.Substring(0, 2) <> "SO" ThenThe first number is the starting position and the second is the number of characters to get. This also replaces the mid and right string operations. If the second number is omitted then all the characters from the starting place are returned. |
| ||
| Re: LEFT syntax i still got the error on my program. the error is in red color font, it say that "Index and length must refer to a location within the string." what it does mean? and can you check my coding. i want to validate the order number. the order number must be started with "SO" and then followed with 3 or 5 number. is the coding correct? Thanks Dim strOrderNo As String = ValidateOrderNumber(txtOrderNumber.Text) If strOrderNo = "invalid" Then MessageBox.Show("Error: Invalid Order Number") With txtOrderNumber .SelectAll() .Focus() End With Return End If Private Function ValidateOrderNumber(ByRef strOrderNo As String) As String strOrderNo = strOrderNo.ToUpper If Not (Len(strOrderNo) >= 5 And Len(strOrderNo) <= 7) Then Return "invalid" End If If Not (strOrderNo.Substring(0, 2)) = "SO" Then Return "invalid" End If If Not (IsNumeric(strOrderNo.Substring(2, 5)) Or _ IsNumeric(strOrderNo.Substring(2, 7))) Then Return "invalid" End If Return strOrderNo End Function |
| ||
| Re: LEFT syntax Your problerm is if you have a string length of 5 and you are starting at the third position(2) and then going 5 more positions then you are past the end of your line. Same thing with length of 7. 'If Not (IsNumeric(strOrderNo.Substring(2, 5)) Or _Like vb6 if you did not give mid$ a second number it would take all the numbers from that starting position, substring does the same thing. So you do not need to check if it is 5 or 7 characters long. If Not IsNumeric(strOrderNo.Substring(2)) Then One other thing in this code: If Not (Len(strOrderNo) >= 5 And Len(strOrderNo) <= 7) Thenif 4 numbers are entered it will accept them. I don't know if it is a typeing error or not but you said "followed with 3 or 5 number." If so then change it to the following" If Len(strOrderNo) <> 5 Or Len(strOrderNo) <> 7 ThenHope this helps. |
| All times are GMT -4. The time now is 9:24 am. |
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC