• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

Reply to: Basic VB question

Collapse

You are not logged in or you do not have permission to access this page. This could be due to one of several reasons:

  • You are not logged in. If you are already registered, fill in the form below to log in, or follow the "Sign Up" link to register a new account.
  • You may not have sufficient privileges to access this page. Are you trying to edit someone else's post, access administrative features or some other privileged system?
  • If you are trying to post, the administrator may have disabled your account, or it may be awaiting activation.

Previously on "Basic VB question"

Collapse

  • Guest's Avatar
    Guest replied
    Ta joe.

    Leave a comment:


  • Guest's Avatar
    Guest replied
    Answer provided below:

    Private Sub ControlArrayAsParameter()
    thingy Command1
    End Sub

    Private Sub thingy(x As Variant)
    Dim y As CommandButton

    For Each y In x
    y.Caption = "I'm a command button"
    Next
    End Sub

    In VB in most cases almost everything can be passed as a variant or object if you have problems and you can then reassign it to its correct type, or if you're not sure which type it is use 'VarType'.

    Leave a comment:


  • Guest's Avatar
    Guest replied
    Ta chaps, but I need to use an array of controls before getting to the click event - specifically I am creating a program for identifying natural specimens. I want it to be as general purpose as possible to work with several different databases, insects, mammals, grasses etc. without significant reprogramming.

    To that end I am reading the names of the pictures and captions on the buttons from a setup file when the form is loaded. Obviously I can have a loop outside the sub, or various other messy solutions, but can't believe there is not a neater solution to what must be a common problem.

    Leave a comment:


  • Guest's Avatar
    Guest replied
    "so much easier to make the UI pretty than in VC++"

    Try Borland C++ Builder, that's also so much easier than VC++, and it's fast.

    Leave a comment:


  • Guest's Avatar
    Guest replied
    Is this what you want

    A form with 2 buttons in array Command1, each with an event

    Private Sub Command1_Click(Index As Integer)
    thingy Command1(Index)
    End Sub

    and thingy defined as

    Sub thingy(But As CommandButton)
    But.Caption = "Name is " & But.Name & " " & But.Index
    End Sub

    Leave a comment:


  • Guest's Avatar
    Guest started a topic Basic VB question

    Basic VB question

    Doing some educational software in VB6 - so much easier to make the UI pretty than in VC++ (any shade as long as it's grey). Generally peesopiss - but there's one thing I can't figure.

    How do you call a sub or function with an array of controls? Say if I had an array of command buttons Command1 and did something like:

    Thingy Command1
    ...
    sub Thingy(But() as CommandButton)

    don't work - get 'user defined type or array expected'.

Working...
X