User Name Password Register
DaniWeb IT Discussion Community
All
What is DaniWeb IT Discussion Community?
You're currently browsing the VB.NET section within the Software Development category of DaniWeb, a massive community of 374,029 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 2,883 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our VB.NET advertiser:
Views: 2852 | Replies: 3
Reply
Join Date: Apr 2007
Posts: 5
Reputation: Albert88 is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
Albert88 Albert88 is offline Offline
Newbie Poster

LEFT syntax

  #1  
Apr 28th, 2007
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
AddThis Social Bookmark Button
Reply With Quote  
Join Date: Dec 2002
Location: West Virginia
Posts: 350
Reputation: waynespangler is on a distinguished road 
Rep Power: 6
Solved Threads: 32
waynespangler waynespangler is offline Offline
Posting Whiz

Re: LEFT syntax

  #2  
Apr 28th, 2007
Left is no longer used in vb net. Instead of
If Left(strOrderNo, 2) <> "SO" Then
use
If strOrderNo.Substring(0, 2) <> "SO" Then
The 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.
Last edited by waynespangler : Apr 28th, 2007 at 9:24 am.
Reply With Quote  
Join Date: Apr 2007
Posts: 5
Reputation: Albert88 is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
Albert88 Albert88 is offline Offline
Newbie Poster

Help Re: LEFT syntax

  #3  
Apr 28th, 2007
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
Reply With Quote  
Join Date: Dec 2002
Location: West Virginia
Posts: 350
Reputation: waynespangler is on a distinguished road 
Rep Power: 6
Solved Threads: 32
waynespangler waynespangler is offline Offline
Posting Whiz

Re: LEFT syntax

  #4  
Apr 28th, 2007
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 _
        'IsNumeric(strOrderNo.Substring(2, 7))) Then
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) Then
if 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 Then
Hope this helps.
Reply With Quote  
Reply

Only community members can participate in forum threads. You must register or log in to contribute.

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)

 

DaniWeb VB.NET Marketplace
Thread Tools Display Modes

Similar Threads
Other Threads in the VB.NET Forum

All times are GMT -4. The time now is 11:35 pm.
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC