using left and right function

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Stevecb
    New Member
    • Jul 2010
    • 13

    #1

    using left and right function

    Hello
    I'm trying to format a string with the left and right fxn but am getting an error "Public read only property () as integer has no parameters and it's return type cannot be indexed"

    This code uses an API call to get the volume serial number

    Code:
    Imports vb = Microsoft.VisualBasic
    Imports Microsoft.VisualBasic
    
    Public Class Form1
        Private Declare Function GetVolumeSerialNumber Lib "kernel32.dll" Alias "GetVolumeInformationA" _
            (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, _
             ByVal lpVolumeSerialNumber As Long, ByVal lpMaximumComponentLength As Long, ByVal lpFileSystemFlags As Long, _
             ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long
    
    Public Function VolumeSerialNumber(ByVal RootPath As String) As String
            Dim VolLabel As String
            Dim VolSize As Long
            Dim Serial As Long
            Dim MaxLen As Long
            Dim Flags As Long
            Dim Name As String
            Dim NameSize As Long
            Dim s As String
    
            If GetVolumeSerialNumber(RootPath, VolLabel, VolSize, Serial, MaxLen, Flags, Name, NameSize) Then
                'Create an 8 character string
                s = Format(Hex(Serial), "00000000")
                'Adds the '-' between the first 4 characters and the last 4 characters
                VolumeSerialNumber = Left(s, 4) + "-" + Right(s, 4)
            Else
                'If the call to API function fails the function returns a zero serial number
                VolumeSerialNumber = "0000-0000"
            End If
     End Function
    the errors are a squiggly right under the left and right commands
    Last edited by Stevecb; Jul 29 '10, 03:25 PM. Reason: more info
  • Joseph Martell
    Recognized Expert New Member
    • Jan 2010
    • 198

    #2
    Is this in VB .Net or vb 4/5/6?
    In either event, you are getting the error because you are in a form and the form has properties called "Left" and "Right".

    If you are using VB .Net, I would suggest using some of the string class's methods for string parsing instead of Left and Right. If you are dead-set on using these functions then you can fully qualify them using
    Code:
    Microsoft.VisualBasic.Left
    If you are NOT using VB .Net, then I'm not sure how to get around this problem, but I bet someone in the VB 4/5/6 forum would know.

    Comment

    • !NoItAll
      Contributor
      • May 2006
      • 297

      #3
      If using vb 4/5/6 then use vba.left and vba.right

      Comment

      • MrMancunian
        Recognized Expert Contributor
        • Jul 2008
        • 569

        #4
        If you need those functions more often, you can also add
        Code:
        Imports Microsoft.VisualBasic
        on top of your page.

        Steven

        Comment

        • Stevecb
          New Member
          • Jul 2010
          • 13

          #5
          The imports statement fixed it.
          Thank you

          Steve

          Comment

          Working...