The Origin Forum
File Exchange
Try Origin for Free
The Origin Forum
Home | Profile | Register | Active Topics | Members | Search | FAQ | Send File to Tech support
Username:
Password:
Save Password
Forgot your Password? | Admin Options

 All Forums
 Origin Forum for Programming
 LabTalk Forum
 Plotting only recently imported books
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic Lock Topic Edit Topic Delete Topic New Topic Reply to Topic

Clairekun

Germany
175 Posts

Posted - 02/18/2014 :  02:45:14 AM  Show Profile  Edit Topic  Reply with Quote  View user's IP address  Delete Topic
Origin Ver. and Service Release (Select Help-->About Origin): 9
Operating System: Windows 7

Hello,

This might have been asked before, but I failed to find the post.

I have a script where a dialog prompts me to select files to import. I would like to know if there is a way to plot those new books exclusively.

This is my script:

quote:

string fns; //Replace filepath with the actual path
dlgfile g:=*.txt m:=1 f:=fns$ t:="Select CV data" init:="F:\" ;

int n = fns.GetNumTokens(CRLF); //Gets the info from those files
impasc fname:=fns$ //Import command
options.ImpMode:=3 //Import to new books
options.Sparklines:=2 //Sparklines if there are over 50 data cells
options.Names.AutoNames:=0
options.Names.FNameToBk:=1 //Enable partial renaming: file name to workbook (file extension included)
options.Names.FNameToBkFrom:=1 //Position of the first letter in partial renaming
options.Names.FNameToBkTo:=-4 //Position of the last letter in partial renaming. -4 removes the last 4 letters; in this case, file extension
options.Names.FNameToSht:=0
options.Names.FNameToBkComm:=0
options.Names.FNameToColComm:=0
options.Names.FPathToComm:=0
options.FileStruct.NumericSeparator:=0 //Decimals are after a dot (90.25). For 90,25 write 1 instead.
options.FileStruct.Delimiter:=2; //Columns are delimited by a tab or space in the original ASCII file.

//Column editing and plotting

doc -ef W
{
string str$ = page.label$;
plotxy iy:=(1,3) plot:=200 ogl:=[<new>];

page.label$ = str$; // Set the graph Long Name the same as the workbook name
page.title=1; // Show just the Long Name
label -r legend; //Remove all legends
};



I must say the original importing script was for all data files in a folder, so the script you can see for plotting includes also older books in my project. Thus, I end up with duplicated plots.

I would need to modify the script so that only the files I just imported were plotted.

What can I do?

Thank you.

greg

USA
1379 Posts

Posted - 02/18/2014 :  09:31:05 AM  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
If you set import mode to Start New Sheets (4), then your plotting need only loop over the sheets in the current book:

string strBk$ = %H;
loop(ii,1,page.nlayers)
{
win -a %(strBk$);
page.active = ii;
plotxy iy:=(1,3) plot:=200 ogl:=[<new>];
// new naming code
label -r legend; //Remove all legends
}

You would probably need to change your import naming options and resolve how the graphs would be named.

Another option is to do the imports individually in a loop and plot after import. This option makes use of your renaming:

string fns; //Replace filepath with the actual path
dlgfile g:=*.txt m:=1 f:=fns$ t:="Select CV data" init:="F:\" ;

int n = fns.GetNumTokens(CRLF); //Gets the info from those files
loop(ii,1,n)
{
file$ = fns.GetToken(ii,CRLF)$;
impasc fname:=file$ // IMPORT JUST ONE FILE
options.ImpMode:=3 //Import to new books
options.Sparklines:=2 //Sparklines if there are over 50 data cells
options.Names.AutoNames:=0
options.Names.FNameToBk:=1 //Enable partial renaming: file name to workbook (file extension included)
options.Names.FNameToBkFrom:=1 //Position of the first letter in partial renaming
options.Names.FNameToBkTo:=-4 //Position of the last letter in partial renaming. -4 removes the last 4 letters; in this case, file extension
options.Names.FNameToSht:=0
options.Names.FNameToBkComm:=0
options.Names.FNameToColComm:=0
options.Names.FPathToComm:=0
options.FileStruct.NumericSeparator:=0 //Decimals are after a dot (90.25). For 90,25 write 1 instead.
options.FileStruct.Delimiter:=2; //Columns are delimited by a tab or space in the original ASCII file.
// NOW PLOT
string str$ = page.label$;
plotxy iy:=(1,3) plot:=200 ogl:=[<new>];
page.label$ = str$; // Set the graph Long Name the same as the workbook name
page.title=1; // Show just the Long Name
label -r legend; //Remove all legends
} // Next file
Go to Top of Page

Clairekun

Germany
175 Posts

Posted - 02/19/2014 :  04:34:51 AM  Show Profile  Edit Reply  Reply with Quote  View user's IP address  Delete Reply
Since I have many data files, importing to new sheets would make browsing among them a bit uncomfortable, so I tried the last one.

It works like a charm, thank you :)
Go to Top of Page
  Previous Topic Topic Next Topic Lock Topic Edit Topic Delete Topic New Topic Reply to Topic
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
The Origin Forum © 2020 Originlab Corporation Go To Top Of Page
Snitz Forums 2000