Jump to content

Yair

Members
  • Posts

    2,869
  • Joined

  • Last visited

  • Days Won

    44

Posts posted by Yair

  1. You can swap the inputs on most double input functions (comparison, numeric...) by holding ctrl down and hovering over the function. If both inputs are wired, you will see the arrow change to a sort of double loop and a click will swap the inputs. This is useful if you wired something to the wrong input (like in the divide function) or if you want to make your diagram cleaner after writing the code and you want to move the function above or below other wires\functions.

    Shift+mouse scroll causes the scrolling to happen in large jumps. This is useful in case you have large diagrams (not that I have any, of course) and let's you have even less exercise.

    Positioning the cursor over the horizontal scroll bar and scrolling the mouse causes the display to scroll left and right.

    Not exactly hidden, but something that's easy to miss - right clicking a subVI and entering SubVI Node Setup allows you to immediately set some of the window appearance properties.

    For those who have office help installed - If you have an ActiveX property or method, you can right click it and select Help For property name and it will take you straight to the relevant place in the office help files.

    A select function accept an error cluster, just like a case structure does.

  2. I'm not sure I understand.

    You say you don't have the application builder. I assume this means that you run your app as a VI, right?

    In that case, you can either

    a) change its extension, link the new extension to LV (so it opens it automatically) and give it your icon icon or

    b) create a shortcut to your VI, right click the shortcut, select "Properties" and then "Change Icon" and find your icon file.

    You will need to save it as an .ico file first.

  3. Do you want to run your VI from LV or as an executable?

    If it is from LV, I guess you can add the VI path to the LabVIEW.exe command to open the VI and I also guess that if you set the VI to Run When Opened it will start running.

    If you build it as an EXE, it will start running when you call the EXE.

    As for the interface, if you go to the Tools>Options>>VI Server:Configuration screen, you can activate the VI server as an ActiveX server and by using TCP. By using ActiveX, you should be able to load and run the VI in exactly the same way you would use the VI server in LabVIEW. If you don't know how to use it, you should look for some tutorials and examples in the example finder. You can also read the chapter about programmatic control in the user manual (I think it's chapter 17).

    I assume PERL allows you to use ActiveX servers.

  4. Setting the vi to reentrant mode, vi can call itself .computing factorial of n using a recursion.

    Lucky!

    5180[/snapback]

    Luckily, there is no need for that in LV. You could simply use a for loop with a couple of shift registers to perform a factorial (or use the supplied factorial VI - Analyze>Mathematics>Special and numeric functions).

  5. If you want to detect the mouse click without an event, you should use the Input Device VIs in the advanced palette.

    Place a Mouse Init VI to get a connection to the mouse and wire the connection into Acquire Input Data. You will get a cluster telling you which buttons are pressed.

    You will have to do this by polling.

  6. Like what options? The options that are normally accessed via the Execution section of the VI's options?

    Why are moding enums inadequate for this task?  Your suggestion does not seem clear to me.

    4818[/snapback]

    I'm sorry, I thought I was clear.

    I wasn't referring to the VI properties (although that would also be nice), but to things that would have effect inside the code itself, similar to the example I gave, where a popup menu option affects the function.

    There is nothing wrong with enums, but when you use a local, for example, you right click it and select Read or Write and its icon changes. I would like to have similar functionality - I set a right click option, and in my code I determine what to do when this option has been set, so for the LV2 example, You right click and change instead of using an enum.

    I'm sure there are functions which would benefit more from this, but in the end, you're right, it's basically just another interface for what we currently have.

  7. The ability to have options in a subVI's right-click menu which affect the subVI's execution, similar to Add\Remove Inputs in growable functions or to the Compare Aggregates option of an Equal? function or to the list option of a polymorphic subVI (except not as a list, but as an option in the menu).

    For example, the ability to set a LV2 global as being read or write like you would a regular global, without having to wire anything into or implementing additional code inside.

    This should also, potentially, have an option to change the VIs icon.

  8. Often people read text data which includes a date\time.

    Currently, there is no inherent function in LV for converting a time string to a timestamp.

    The suggestion is to have a VI, basically a reverse VI to Format Date\Time String, which will convert a date\time string to a LV timestamp based on a LV format string.

  9. Arrays are similar to strict type-defs in that the only thing that can be different between elements is their value.

    Having a non-strict array available would be a nice option. Such an array would have only some of the properties set and the rest could be individually changed for each element (at the extreme, we could have only the datatype set and everything else open to change).

    This would allow, for example, to create more flexible GUIs by allowing "creation" and manipulation of multiple elements (assuming overlapping doesn't take all the CPU) without having to bother with picture controls.

    Another example would be being able to disable only some of the controls in an array.

    This would obviously be mainly a GUI device, but it could be very helpful in certain situations.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.