Jump to content

hooovahh

Moderators
  • Posts

    3,432
  • Joined

  • Last visited

  • Days Won

    289

Everything posted by hooovahh

  1. Crosspost Does the NI Uninstaller exist on disk? Normally this is in the following directory C:\Program Files (x86)\National Instruments\Shared\NIUninstaller
  2. Very good point, that isn't hard to add, just look evaluate the negative symbol only on the first iteration of the for loop.
  3. Sniff the serial traffic. Either with another PC on the serial bus as a listener, or there is software that will listen to the traffic on a physical serial port and log. Then you can review the data later. Actually if you have this in HyperTerminal can't you just log the traffic there? Maybe copy and paste the communications after a download is complete? EDIT: Man-In-The-Middle, but maybe I should have said to Eavesdrop.
  4. I'd start by maybe putting a man in the middle, and do your process as you normally have using HyperTerminal, but look at the trace of data going in and out. Then you can probably start there then read up on the particular protocol to help understand it more.
  5. Oh neat thanks this is very helpful.
  6. Lucki you win on simplicity for sure. But just to save a little bit of face I did a speed test and my method appears to be about 10 times faster on my I7 machine in LabVIEW 2013 SP1. Of course our two methods don't always return the same result. Yours considers NaN a number and depending on the application I could see wanting this feature or not, so I added it to mine. Also your method accepts scientific notation like "4e6" where mine doesn't, and yours accepts imaginary numbers like "1 + 2i" where mine doesn't. I never mentioned my application for this but I using this where a user can enter into a table some number. The table is of course a string but it needs to be evaluated for being a number otherwise indicate it is formatted incorrectly. In this case the user shouldn't ever think of entering NaN but if they do I'd consider that an invalid entry. Same with "4e6", generally users will think in floating point and would type the extra zeros. And users shouldn't enter imaginary numbers. Of course all these things are up to the developer to decide what types of input should be considered valid.
  7. I hate being the one to ask...but could someone post this in 2013 or older? I'm in a PC transition and that's the only version I have installed at the moment.
  8. Topics merged, please do not make multiple threads for the same discussion.
  9. That is a really neat document and I'm going to need to keep that in mind. These same properties don't apply to the block diagram, but as Yair mentioned many of them can help you calculate the size of objects that are shared on the FP and BD.
  10. This is a viable option for me, would you mind posting it? I found some .NET color selection VIs on the darkside but I couldn't get them to work for some reason and just moved on.
  11. So lets say I have a Multicolumn Listbox. In this MCLB one of the cells isn't intended to contain text, but instead to just allow the user to set the background color of the cell. So the user clicks on the cell, and I will move a frameless color box control to be under the mouse, then I'll invoke a mouse click so the color selection box comes up. This all works well enough. It would work better if there were a property node for opening a color box but that's a different post. Now lets say the user doesn't pick a color, and instead when the color selection window comes up, the user clicks on another cell of the table. This mouse click will not behave like you would expect. If you click on a control the mouse down event won't be triggered. I'm guessing this is because the mouse down isn't registered, and instead the dismissal of the color box is seen. So what I'd like to do is perform another mouse click after the dismiss so it works like it normally would where the first click dismisses the color selection, and the second then clicks on whatever the user intended to. But the problem is how do I detect a dismissal of a color box control? Enums luckily have a "Operate Menu Dismissed" event that can be generated (with super secret stuff) but the color box doesn't have an equivalent event. So what's a good way to allow a user to select a color and have more control over this? Should I just resort to making a separate VI that floats that I can have more control over? Anyone make an XControl for color selection?
  12. Ya know I've enjoyed my working career so far, but none of the projects I've worked on have asked me to ride in a vomit comet. That is really awesome.
  13. Okay attached is an example VI that I think does what you need. It will look for the screen coordinates to the Tick Count object on the block diagram. The only part I couldn't calculate is the width of the left edge of the window, and the height of the title bar of the window. Mine was 10px and 32px so I have them as controls but there is probably a way to figure out what this size is. Also I think we can assume the menu bar and debug buttons are always the same size so once this is determined once you won't need to recalculate it over and over. My code currently does this by removing these buttons then subtracting the difference in window size from when they were there. Get Object Position On Screen.vi
  14. One thing that might help is you can hide the Menu and Button bar using a property node on the block diagram. I couldn't find one for removing the title bar, but I think that can be calculated. I think this is possible if there is a property to read the scrollbar position on the block diagram but I can't seem to find it. EDIT: Block Diagram Origin can give scrollbar position. I think this can be possible.
  15. I've posted this before but I can't seem to find where now. This is a VI that will read the Windows registry and return the development, and run time versions installed, along with the "Current" version, which is usually the last development version opened. LabVIEW Versions Installed.vi
  16. I laughed but that could be read a few different ways. Let me clarify I actually made several efforts to use the Actor Framework. So I wasn't trying to say I hate this thing that I've never used. I was trying to say I made an effort and didn't like some things about it. It isn't complete crap, but it over complicates things where I don't need it to be, and doesn't do some of the common things I would like it to. People with different needs may find exactly what they need in the Actor Framework.
  17. Full disclosure I don't use the Actor Framework and am not a fan. That being said, NI apparently did consult with many real world CLA's on how to make the Actor Framework. I don't know who in particular they consulted with, but the intent was to get the opinions of those that would end up using the framework, and try to understand the best way to make it. Also if you are a CLA and have the opinion that the framework is UNREADABLE, then I feel there is something wrong here. Either the framework does need major overhauling, or maybe you need to look at some training on the framework. I'm not trying to suggest you aren't competent please don't read it that way. I just don't know how much you have invested in trying to understand the framework and certainly anyone new to it will feel lost (I know I do). I often fall back into the QMH on a fresh install of LabVIEW, or the JKI state machine if I have a chance to install it. For larger applications I usually spin my own actor type design using user events and variants. I can't get over several things with the Actor Framework like the re-entrant actors, which make debugging difficult. Honestly it might just be how I think about my applications, but there is never a time when I would want to kill just a single actor. The only time an actor should close, is if the global quit was issued. With plugin architectures, and factory designs I can see a need, but that just isn't the world I live in. EDIT: Just saw this crosspost.
  18. It says it was reported on Jan 26 2015. I am looking into a way to get that notice removed. I feel it is the kind of complaint that should be discussed before considering a submission broken. Until then here is what the user complained about.
  19. I sorta agree. I mean on the surface I wonder why do I need a VI for every read/write property? Why can't I just specify what data is public, and if that data is read only, write only, or both. Then have the property node work without needing to write a tons of VIs, even if the majority of it is done through scripting and templates. But having a VI for these actions does add other flexibility. Like if I perform a write I can have that VI do more than just set some data, it can also manipulate the data or perform some other action other than just a bundle by name. That does make we wonder why NI choose to do what they did, and allow public data accessed through a property node, via a VI call.
  20. Okay so here is the VI I came up with which is similar to the one jdunham posted earlier but this has a few improvements. It finds the local decimal separator (discussion here). It only allows one decimal separator. It only allows white space in the beginning or the end. I feel a space between numbers is no longer a number because the String to Number conversions don't work right if there is. I added support for Hex or Decimal strings. Oh and this version supports things like ".1" where the one posted by buckidge would not work correctly. It does not use regular expression but generally regular expression is slower than custom code. I could be wrong so post a version that does this with regular expression and we can compare. Saved in 2013. EDIT: It now support negative numbers as well. Is String A Number.vi
  21. This is nice and all, but I feel like not many users are going to have a need for this. The RCF was a great innovation and I thank JKI for what they did. But as far as I know the RCF hasn't worked in something like the last 4 years of new LabVIEW releases. I might be wrong but I think 2010 was the last version it worked in. Please correct me if I'm mistaken. And while I feel the RCF had a relatively large user base, I'm not aware of many developers using LVS daily. But again I want to state that I both support and like LVS and RCF, I just don't use them, and would rather stick with the native solution of QD, even if it has many limitations that the other alternatives don't. So what versions of LabVIEW do you use? and how much do you use RCF and LVS? Oh and as a possible improvement could you have your tool auto detect what QD plugins are installed and have a drop down of them to choose from, in addition to the VI path control you already have.
  22. It was a very painful thing to watch. We were actually at a movie theater waiting for the show to start and he pulls out his phone and starts coding. The slowest coding you've ever seen.
  23. This is true but I have seen developers remote into a PC from a phone and then write code from their phone. Of course that would drive me more crazy than having to use a touch pad for programming but I've seen it done.
  24. Your second link doesn't work by the way. Yeah it is odd to have a new feature in a SP1 but it looks neat and I hope can help make tracking down those pesky memory issues easier.
  25. I sure hope not. Have you used XNodes? They have all the functionality of generics and a ton more. Heck I'm sure the original question could be solved with a simple XNode. I want type adaption that is better than polymorphics. But I also want custom help, icons, growable nodes, custom right click menus, and edit time scripting. The good news is this technology has been developed and used by NI for quite some time. The bad news is they aren't ready to support it as a product. When scripting was official I was ecstatic. If / When XNodes are supported as a product I will likely drop all other work I'm doing and focus my work on supporting and releasing tools that I've wanted to write and make official for years. Few things could NI do today that would make me happier.
×
×
  • Create New...

Important Information

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