From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Programmatically find

Can we prorammatically use the same functionality that Ctrl + F dialog box provides for searching for block diagram structures, functions etc as well as searching for text? If yes how? For example, lets suppose I want to find VIs that have Diagram Disable Structure on their block diagram. But I want to be able to use all the functionality that the Find dialog box provides (programmatically).
0 Kudos
Message 1 of 5
(3,227 Views)

C .DOT,

 

          Not at the moment unfortunately. The Find Dialog Box uses VI Scripting to programmatically find all objects in your VI and then parses through that information looking for a match. Once a match is found then it uses the Find Terminal method to show where the object physically is. At the moment, there isn't a way to have access to this unless you use VI Scripting yourself. VI Scripting (http://decibel.ni.com/content/community/zone/blog/2009/09/08/labview-scripting) is just released as a Beta toolkit at the moment and is supported only by the online Beta community I just linked. VI Scripting has been a tool that R&D has used for quite some time to create tools like this Find Dialog Box and we are currently evaluating whether to make this an included feature in basic LabVIEW. Check out the Beta site and see if it is something you would like to to try out but at the moment this is your only option to try to get this functionality. If you would like to have this functionality natively, do me a favor and file a product suggestion (http://digital.ni.com/applications/psc.nsf/default?OpenForm) on including VI Scripting with LabVIEW. You can do some pretty cool and fun stuff with it (http://decibel.ni.com/content/groups/labview-apis/blog/2009/11/19/labview-speak--programming-lv-thro...). 

Message 2 of 5
(3,183 Views)

I just ran into a situation where I wanted this exact functionality.

 

@Grant, how can I access the Find Terminal method? I don't see it anywhere in the class browser. And if I do find it, won't it just return a list of references for the results of the search?

 

What I really want to do is to populate the Search Results dialog that is normally opened via the Find and Repalce dialog, but with the results pre-populated. I am working on a scripting VI for the JKI RCF that I want to use to programmatically search a re-entrant VI for any non-reentrant subvis. I have managed the search part okay, but it would be nice to automatically open the search results dialog and be able to jump directly to the subvis that are found (just like you would if you manually searched for a specific subvi or text field).

 

Is such a thing possible via scripting? Where might one find that method/VI?

0 Kudos
Message 3 of 5
(3,136 Views)

TurboPhil,

 

           The Find Terminal method is called Object Highlight. Once you have a reference to your object then you can pass that into the method. I don't know about programmatically changing the Search Results with scripting. You might have better luck if you posted the question to the Scripting forum (http://decibel.ni.com/content/groups/labview-apis) because the developers of the beta troll that forum. I have posted a picture showing how to do Find Terminal of another VI using scripting. 

Message 4 of 5
(3,114 Views)

Got some help from the Scripting community on this problem. Implemented a solution using the JKI RCF. Solution can be found here: http://decibel.ni.com/content/message/16047

 

Thanks for the help!

Message 5 of 5
(3,106 Views)