Does anyone know of a workaround that would allow a script or axlShell() commands to select and populate afile browser if it pops up? It seems that the file browser form isn't recgonized. So therefore no data can be entered.Specifically, after doing a File->Import and running, a summary report pops up with the details. When I select "Save",a browser window pops up, but during Replay, the window is never selected, the filename never entered, and I can'tsave the file.I'm sure that someone else has encountered this at some point. Any suggestions?Is there some sort of default FORM name that I could refer to that isn't being output to the script file during a Record session?
Try commenting out the "fillin" in the script, add a "#" to the beginning of the line. Without a fillin value provided, the "Save As" will wait for input. (At least it did for my test!)
In reply to oldmouldy:
Thanks,I'm not quite understanding how this would help during a -nographic script run though.It's not interactive at all.
The issue seems to be that I need to be able to "setwindow" to the browser window, and knowwhat the FORM name is. Using the record and replay functionality, there isn't anything there.I'm seeing a generic "setwindow text" which doesn't work at all.Still looking for hints. Below script doesn't work. It just leaves the File Browser empty and hanging.This is a literal Record session.
Any other suggestions are GREATLY APPRECIATED!Thanks All, -Mike
FORM niparams import
FORM niparams cancel
In reply to mikebystedt:
OK, "nograph(ic)" is not interactive at all. IF I run script in interactive mode, having no "fillin" value for the "save" / "save as" waits for a value for the filename to save, with a "fillin" the file gets saved as that name and the script completes - "replay <script_file>" at the command window. Maybe this was changed at some point, which exact version are you running?
I'm running Allegro 16.6 for windows.If you've got a script you could post or send that handles those browser windows properly,I would really appreciate it.Thanks oldmouldy.
First off, you will only be able to use the "save", or "saveas" in interactive mode. When you use "something like" "save" or "saveas" the "fillin" step puts the value in the browser window and closes it, so it will then "always" save(as) to the same filename. If you don't have a "fillin value" step the "save" / "saveas" will wait for user input for thje filename. If you want to have a script that changes the "fillin value" based upon "some other variable when it runs", you will need to take a look at the SKILL forum, there was recently a post from eDave where he had a SKILL script that wrote an Allegro script and then replayed that from the SKILL script. I would post the link but this post would be moderated as a result.
But the problem I believe I'm looking at, is not so much that the "fillin value" needs to be dynamically tweaked,but that I can't actually get a handle to the browser window. I'm actually attempting to record a script, then issuing the specific statements I want throughaxlShell() commands directly in a SKILL file. I can't do a fillin whatsoever if I can't set the browser window to getready to accept a value of any sort at all. The method of sending out the commands, whether via a replay scriptor axlShell() calls, is just a programming decision. However, neither method will work if I can't get a window handlefor the "set window" command. Recording the script and reviewing, shows the "fillin" lines, but no window handle to setso that it can get the data loaded in correctly.So even the simplest of records and replays doesn't work if accessing the file browser is part of the equation.Is there some sort of standard handle for this sucker? So that I can make the file browser the active window, and thendo whatever I need to? It's almost like the file browser window is completely invisible, although the commands thrownat it are still being recorded.Thanks,-Mike
You can't get a handle on the browser window because all it does is provide the "fillin" value. For example, if the "save" / "save as" command in the script is followed by a "fillin" command, the browser window won't appear because save / save as already has the answer needed in the "fillin value" for the script to proceed, if it is not followed by a "fillin" command, the script waits for the user to provide the "fillin" value through the file browser window. So, what you need to manipulate is the "fillin value", unless you want no "fillin" command and the user prompted for input through the file browser window. You cannot manipulate the file browser window but you can manipulate the answer that would have come from it with the "fillin value"
If writing a Skill program you look at axlDMFileBrowse which will invoke a file browser and give you control over most of the features available with the browser. For allowing a user to select a directory you can use axlDMDirectoryBrowse.
In reply to fxffxf:
Thank you Gents for the feedback.I've used the file browsers in my SKILL code.My main problem though, is that I've been trying to save the report that is generated after doing a "File->Import".The report pops right up and is shown in an .htm based window, but when I hit "Save" I can't do anything with it.
I simply want to save the data somehow.
I'm not seeing an option to actually capture itIs there a standard location where the "temp" files are kept with a standard naming convention?I'm assuming that there is a generated report that is being referenced and loaded into the htm file viewer.If I can locate that, I could simply copy the file. That would work as well.Thanks,
Normally these are logfiles created during the import/export operation. Except for Cadence import logic which creates a netrev.lst, the files have a .log extension. The easies way to determine the name is to open a Windows File Explorer in the directory with the board,enable list file and sort by Modified date with the most recent date at the top of the window. Run the Allegro Import/export operation. The .log (or netrev.lst) file that appears at top of the Windows Explorer is the file you want.
Add "viewlog -last" and you code will save "MIKEtest.txt". By default this report saved to ./Logs/netrev.lst
FORM niparams import
setwindow pcbviewlog -last ### <========setwindow text
FORM niparams cancel