-
Posts
1,209 -
Joined
-
Last visited
-
Days Won
47
Content Type
Profiles
Forums
Downloads
Gallery
Everything posted by Francois Normandin
-
Disabled & Grayed Out doesn't support transparency
Francois Normandin posted a topic in LabVIEW Bugs
The alpha channel is not interpreted correctly when a button is disabled and grayed out. It should not gray out the part of the control image that is transparent. Reported to NI. No CAR yet. -
Browse to the folder that contains a list of your images (the usual double-clicks to open the folder). When you see the png files listed, select "Current Folder" at the bottom right. <object id="scPlayer" class="embeddedObject" width="634" height="478" type="application/x-shockwave-flash" data="http://content.screencast.com/users/normandinf/folders/Jing/media/41ae1109-54db-438b-b200-e462ec7e9383/jingh264player.swf" > <param name="movie" value="http://content.screencast.com/users/normandinf/folders/Jing/media/41ae1109-54db-438b-b200-e462ec7e9383/jingh264player.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#FFFFFF" /> <param name="flashVars" value="thumb=http://content.screencast.com/users/normandinf/folders/Jing/media/41ae1109-54db-438b-b200-e462ec7e9383/FirstFrame.jpg&containerwidth=634&containerheight=478&content=http://content.screencast.com/users/normandinf/folders/Jing/media/41ae1109-54db-438b-b200-e462ec7e9383/2010-10-01_0941.mp4&blurover=false" /> <param name="allowFullScreen" value="true" /> <param name="scale" value="showall" /> <param name="allowScriptAccess" value="always" /> <param name="base" value="http://content.screencast.com/users/normandinf/folders/Jing/media/41ae1109-54db-438b-b200-e462ec7e9383/" /> <video width="634" height="478" controls="controls"><br /> <source src="http://content.screencast.com/users/normandinf/folders/Jing/media/41ae1109-54db-438b-b200-e462ec7e9383/2010-10-01_0941.mp4" type="video/mp4;" /><br /> <b>Your browser cannot play this video. <a href="http://www.screencast.com/handlers/redirect.ashx?target=viewingembededhelp">Learn how to fix this</a>.</b> </video> </object>
-
Did you have any PNG files in the directory? You can change it in the code if you use other formats. Also, I've limited it to the four first file in the folder for the demo, but you can change that in the code. I've changed the code to ask for the folder on startup. <a href="http://content.screencast.com/users/normandinf/folders/Jing/media/6fa447b3-276b-484f-a496-3d3f10261a04/2010-10-01_0905.png"><img'>http://content.screencast.com/users/normandinf/folders/Jing/media/6fa447b3-276b-484f-a496-3d3f10261a04/2010-10-01_0905.png"><img class="embeddedObject" src="http://content.screencast.com/users/normandinf/folders/Jing/media/6fa447b3-276b-484f-a496-3d3f10261a04/2010-10-01_0905.png" width="306" height="284" border="0" /></a> PictRing.vi
-
Defer Panel Updates and provide status to user
Francois Normandin replied to jgcode's topic in User Interface
September 29th is not taken at the moment. Should we propose it? -
Defer Panel Updates and provide status to user
Francois Normandin replied to jgcode's topic in User Interface
Jon, sorry to quote myself, but I had edited an earlier post and since it was past midnight in Montreal, I didn't think you'd miss it... but then it was afternoon in your part of the world. This example by John Lokanis is reusable code directly. Unzip and check the first example. All I did yesterday was to copy John's GIF on the Front Panel of the calling VI that would be deferred, and insert John's code while it was being deferred, thus producing the effect of seeing one GIF stop (deferred panel) and the other being superimposed in a new window. -
Defer Panel Updates and provide status to user
Francois Normandin replied to jgcode's topic in User Interface
I had the same problem with dropped GIF... but check the edit I made concerning John Lokanis' example... <object id="scPlayer" class="embeddedObject" width="272" height="370" type="application/x-shockwave-flash" data="http://content.screencast.com/users/normandinf/folders/Jing/media/3c02b570-2242-47fd-b675-9a5e8884cc3c/jingh264player.swf" > <param name="movie" value="http://content.screencast.com/users/normandinf/folders/Jing/media/3c02b570-2242-47fd-b675-9a5e8884cc3c/jingh264player.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#FFFFFF" /> <param name="flashVars" value="thumb=http://content.screencast.com/users/normandinf/folders/Jing/media/3c02b570-2242-47fd-b675-9a5e8884cc3c/FirstFrame.jpg&containerwidth=272&containerheight=370&content=http://content.screencast.com/users/normandinf/folders/Jing/media/3c02b570-2242-47fd-b675-9a5e8884cc3c/2010-09-30_0038.mp4&blurover=false" /> <param name="allowFullScreen" value="true" /> <param name="scale" value="showall" /> <param name="allowScriptAccess" value="always" /> <param name="base" value="http://content.screencast.com/users/normandinf/folders/Jing/media/3c02b570-2242-47fd-b675-9a5e8884cc3c/" /> <video width="272" height="370" controls="controls"><br /> <source src="http://content.screencast.com/users/normandinf/folders/Jing/media/3c02b570-2242-47fd-b675-9a5e8884cc3c/2010-09-30_0038.mp4" type="video/mp4;" /><br /> <b>Your browser cannot play this video. <a href="http://www.screencast.com/handlers/redirect.ashx?target=viewingembededhelp">Learn how to fix this</a>.</b> </video> </object> -
Defer Panel Updates and provide status to user
Francois Normandin replied to jgcode's topic in User Interface
You could try with a simple animated gif. Would it stop too with deferred panel updates? EDIT: Yeah, I thought I remembered this example from John. RE-EDIT: Well, deferring panel updates does stop the animation. But John's example is a superposition of a transparent VI which won't be affected... -
Polymorphic API of Private Methods breaking build
Francois Normandin replied to jgcode's topic in Object-Oriented Programming
I guess he means to select the Constructor... -
Yippee Just Passed my CLAD
Francois Normandin replied to dannyt's topic in Certification and Training
Congrats! I'm in constant awe before the people who volunteer to be on stage. Don't know if I could myself. -
This is a dataflow problem. When you split a wire, you split data. You've created a race condition where you carry the information on two wires, modify the data differently on both and then each one races to update the Array. Remember that LabVIEW is not using pointers to controls or indicators. Follow one wire and make each function work on the data previously modified by the node before. <object id="scPlayer" class="embeddedObject" width="630" height="378" type="application/x-shockwave-flash" data="http://content.screencast.com/users/normandinf/folders/Jing/media/40e1f056-bf17-46df-bd03-df951dffa53d/jingh264player.swf" > <param name="movie" value="http://content.screencast.com/users/normandinf/folders/Jing/media/40e1f056-bf17-46df-bd03-df951dffa53d/jingh264player.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#FFFFFF" /> <param name="flashVars" value="thumb=http://content.screencast.com/users/normandinf/folders/Jing/media/40e1f056-bf17-46df-bd03-df951dffa53d/FirstFrame.jpg&containerwidth=630&containerheight=378&content=http://content.screencast.com/users/normandinf/folders/Jing/media/40e1f056-bf17-46df-bd03-df951dffa53d/dataflow.mp4&blurover=false" /> <param name="allowFullScreen" value="true" /> <param name="scale" value="showall" /> <param name="allowScriptAccess" value="always" /> <param name="base" value="http://content.screencast.com/users/normandinf/folders/Jing/media/40e1f056-bf17-46df-bd03-df951dffa53d/" /> <video width="630" height="378" controls="controls"><br /> <source src="http://content.screencast.com/users/normandinf/folders/Jing/media/40e1f056-bf17-46df-bd03-df951dffa53d/dataflow.mp4" type="video/mp4;" /><br /> <b>Your browser cannot play this video. <a href="http://www.screencast.com/handlers/redirect.ashx?target=viewingembededhelp">Learn how to fix this</a>.</b> </video> </object>
-
Farid, when you upload code that is not in the same version as the one you show in your profile, please add a note for the version the VI is saved in. I don't have LV2010 installed, so I can't help you. But I wouldn't have tried if there was a note next to your uploaded file. Worst case, if the file is corrupted and the code inside is very complex and hard to duplicate, perhaps NI can help?
-
VI Shots Relaunching - Feedback needed
Francois Normandin replied to VI Shots's topic in Announcements
Have you considered a Collaborative Videos Repository? I mean there would be a process for people to submit how-to videos about any LabVIEW topic and have a review team certify the videos content before it would be put online? This way, you could have as broad a list of topics as you can dream and in a few years, that would be quite an interesting resource... for beginners and advanced LabVIEW user alike. -
Glad to hear it's not a homework. To add or delete users from the database, you will have to have a file which contains you credentials. Steps to implement: 1- Create a file that will contain the usernames, passwords (encrypted would be best...) and privileges. (You can "salt" your encryption If your file will be small, load its content on initialization and store it in the Cluster from easy access. If your file is to be deployed, create VIs to access the file throughout your program (call when needed). 2- Create a VI that will read the data from file and a VI that writes (or modifies) the data in file. 3- Add two states in the case structure for saving to file and reading from it. These states will be called when you have a logon (read) or add/delete user credentials (write). 4- Create two more states (add user / delete user) and associate the buttons for adding and deleting users in the Event structure to call these states when required. You will handle all the hiding/showing of controls in these states. These options will be revealed in the Login state if the user has logged in as an admin. If so, enqueue a new state to reveal the "Add user" and "Delete user" on the front panel. 5- In the Event structure (Idle state), associate the OK button from the delete or add users and call a sequence of states (using Queue VIs) to perform the necessary actions (Show/Hide stuff, read database, write to database, verification, etc.) Try this and upload your modified code if you need more help.
-
I could, but at this point I'm not convinced this isn't an homework ("he/she" is usually indicative of a generic written question) , so I'd like to see that you start to implement these functions. When I tried to answer your question, I couldn't find a simple way to help with your existing program. Any suggestions I would have made would have added more complexity and bug potentials, so I opted to show you a design that you could build on. I hope the design is not too advanced because that would defeat my purpose here. Ask yourself, what do I need to implement these two requisites? Are these just two more possible states to be added to my design? How can I add a state in my code?
-
Hello Papang, First, thanks for uploading your code. That helps understand what you want to do. I've reviewed it and it is hard to follow when you have many structures within structures. Try to avoid putting multiple event structures in the same loop: you might have deadlocks that are hard to debug. Also, the use of local variables to keep information between loops Instead of modifying your code, I thought I'd prepare a Login Demo project for you to look at. It's based on a queued state machine, for which you can find examples in LabVIEW's help or templates. I've put many comments in the code for helping you expand on this example. I hope you find that this demo is useful to decompose all your use cases and create a login VI with the desired functions. Try modifying this base code to achieve the list of specifications you have. If you still have questions, come back... ;-) Login demo.zip (LV 2009)
-
Addons and code distribution
Francois Normandin replied to Francois Normandin's topic in LAVA Lounge
-
Addons and code distribution
Francois Normandin replied to Francois Normandin's topic in LAVA Lounge
Is your computer running on renewal energies? -
LAVA Spotting From this graph**, you can tell that LAVA and OpenG have been the catalysts of this exponential growth of code distribution and apps. ** OK, it's marketing (not science)... but flattering for the community nonetheless.
-
I cannot see the Portal link any more
Francois Normandin replied to dannyt's topic in Site Feedback & Support
+1 for active Unread Content. -
It's allowed. Just state it with a link in case people are answering on one side... you don't want to lose time answering something that might have been covered on another forum. It also helps when someone else is looking for the same exact information in the future.
-
[cross-post on NI - LabVIEW API User Group]
-
Controls can be added to any VI at edit time, no matter if it's a newly created VI or not. What is the purpose of this XControl you want to create? There might be way to achieve your goal other then creating a LabVIEW Development Environment by yourself...