Jump to content

jpdrolet

Members
  • Posts

    367
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by jpdrolet

  1. OK I typed too fast. There is no obscure reason. It works but not always as I expect. Under silver theme, I colored the label "Seuils d'operation du bulleur" with the system window color. Labels "Version" and "Signature" are colored with system object color. Under lilac theme (yuck!) the two latter are correct but the first isn't. I guess it's because the dialog tab in the silver theme doesn't the have neither the window color nor the panel/object color. Is the solution to use a normal tab colored with system object color?
  2. For some obscure reason, I've always thought up to today that system colors on the color palette did adapt to system colors like the dialog objects... So I colored many controls and labels thinking that they would nicely adapt to end user color scheme. I was wrong! Therefore my wish is that so called system colors be portable and truly adapt to color scheme.
  3. And you forgot the option "Show revision number in title bar" that adds "rev. nnn" to the title bar...
  4. See the attached VI. In LabVIEW you create a cluster with your data as {long,string,float[]}. This can't be flatten directly since a flattened LabVIEW string is headed with its length (which is fixed in your data format). The string is first converted to a cluster of 40 bytes. The same would be done on float data if it were of fixed size (array to cluster). However, the structure used to transmit array (long Nvalues, float data) is the same as LabVIEW flattens arrays so no conversion is required. To read it is a little more involved since you have to read the float data length and after read the data. Download File:post-447-1127195155.vi
  5. Strict Typedef is also a good idea even if the data is simple integer. The coercion then does appear when different typedef are connected. For identifiers, uncoercible types are even better, like the datalog refnum used in GOOP implementations.
  6. It is just a VI to start DIRECTCD.EXE with System Exec.
  7. That's it. Thanks, Jim. And has this old issue of creating a control typedef (instead of creating on a standard VI FP) been resolved?
  8. I want to automate the creation of clusters from C structures statements. I can create the TD from the C structure but I need to create a control or typedef from this TD. I seem to recall a VI that just do that in the LabVIEW distribution but can't locate it. Can someone refresh my memory?
  9. On the other end of the spectrum (pun intended) I use system colors and dialog controls. At least they adapt to the color scheme of the OS...
  10. Yeah but for your specific example (testing for NaN) the native Conditional Double Probre doesn't work since (anything == NaN) will always return False, even (NaN == NaN). You have to wire your own custom probe to test for NaN using Not A Numbe/Path/Refnum. OK I'm picky.
  11. The panel resize event is tricky tu use. Tens or hundreds of events are fired while the user resizes the panel. If you make something that forces the panel to redraw, it is funny to see the panel keeping redrawing well after the user has left the mouse until all events are serviced. You have to catch when the mouse button up but since the handle to resize the panel is "outside" the panel, it does not fire a mouse button event in the event structure. You have to use the mouse device functions to detect the mouse button up. Indeed, this feature is a blessing...
  12. Formula nodes can only be modified at edit time. Use Eval. And the original post also holds for expression nodes.
  13. That must be very old but anyway... For example, the result of arithmetic operations on uInt8 are coerced to 0-255. 5-10 gives 0 250+10 gives 255 Edit: This is alos true for expression nodes That is a quite different implementation than the arithmetic nodes, where the results are modulo 255. 5-10 gives 251 250+10 gives 4
  14. At last the magic revealed! (you didn't reply when I PMed you about this... ) Thanks for the extensive animation. :star::star: (sorry, wrong forum...) But how is the lady cut in half?
  15. It behaves differently for strings and numbers and I think this is the intended behavior. The difference comes from the fact that strings are variable length objects. If the case for string range were inclusive, the range "a".."z" would match for all strings of any length beginning with "a" to "y" plus the lenght 1 string "z". To match all strings beginning with "a" to "z" you would need to set as the upper range the lexically largest string begining with "z" that is "z
  16. It is a bug. The VI should be broken for "no case for some selector values".
  17. What a nice if...elseif structure... I bet it has been coded by a C programmer that didn't know about the switch statement...
  18. I am a physicist. . . . . . . I'm glad you said "Almost"
  19. There is no data dependency between iterations so you seem to keep ALL data in memory when you don't need to. You should write data on file at each iteration of the main for loop and not build arrays of data to be written on file later.
  20. Use a separate control to feed IndexValue properties of both arrays and then you can use value change event.
  21. Actually I think that it is listening that clip that makes you insane within 60 seconds...
  22. Does the Application Method Get VI Version exist in 6.1?
  23. The only reason is to check if changes work before saving... But yes it could be done by saving before and one could make a tool Save VIs and then Revert VIs. I checked and Revert VI does revert the VI even when the VI is unmodified (and it resets default values). However I think it takes much more time to reload a whole hierarchy from disk than simply clear USRs and reset default values. And I want this integrated into LabVIEW... Another way to reset USR is to force recompilation (Ctrl-Shift-Run Arrow) but then all VIs are flagged as modified.
×
×
  • Create New...

Important Information

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