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
 All Forums
 Origin Forum for Programming
 LabTalk Forum
 import data with or without a filter

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

Screensize:
UserName:
Password:
Anti-Spam Code:
Format Mode:
Format: BoldItalicizedUnderlineStrikethrough Align LeftCenteredAlign Right Horizontal Rule Insert HyperlinkUpload FileInsert Image Insert CodeInsert QuoteInsert List
   
Message:

* HTML is OFF
* Forum Code is ON
Smilies
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Clown [:o)]
Black Eye [B)] Eight Ball [8] Frown [:(] Shy [8)]
Shocked [:0] Angry [:(!] Dead [xx(] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
Check here to subscribe to this topic.
   

T O P I C    R E V I E W
redman Posted - 11/26/2008 : 06:49:40 AM
Origin Ver. 8.0 and SR4 (Select Help-->About Origin):
Operating System: XP

Previously, I learned from the forums, and got a working script file (see script file 1 below) for automatic importing and plotting ASC as well as SPC data. But I failed to import mass spectra data using almost the same codes except impfile X function with a user defined filter. Finally, I solved the problem by minor modification of the codes, see script file 2, but there is a funny result puzzling me:

I tried to trace the variable at two locations in the Loop loop. At the first location (colored red) where the loop just starts, every result seems ok, but at the second location just after the impfile x function (colored blue), it becomes unpredictable.

My questions are:
1. What's the real reason why the script file 1 can not simply employed for the second purpose?
2. Why does the loop variable behavior so strange?

Thanks a lot for your attention!

Script file1:
//-----------------------------------------------------------------------------------------------------
Second -i;
int count=0;
dlgfile m:=1 g:=*.TXT t:="Import Multiple TXT"; // multifile dialog result in fname$
int count=fname.GetNumTokens(CRLF);
type -a "count=$(count)";
newbook s:=0; // new book without any sheet
loop(ii,1,count) {
type -a "ii1=$(ii)";
string strFile$ = fname.GetToken(ii,CRLF)$;
newsheet c:=1; //default to just 1 col
impasc fname:=strFile$;
//run.section(,Common01);
type -a "ii2=$(ii)";
if (ii < count) newbook s:=0;
}
//----------------------------------------------------------------------------------------------------

When importing 3 TXT data file, it script window displayed:
count=3
ii1=1
ii2=1
ii1=2
ii2=2
ii1=2
ii2=2


Script file 2:
//---------------------------------------------------------------------------------------------------
int count=0;
dlgfile m:=1 g:=*.csv t:="Import Multiple CSV"; // multifile dialog result in fname$
int count=fname.GetNumTokens(CRLF);
type -a "count=$(count)";
//newbook s:=0; // new book without any sheet
newbook;
ii=0;
loop(ii,1,count) {
type -a "ii1=$(ii)";
string strFile$ = fname.GetToken(ii,CRLF)$;
//newsheet c:=1; //default to just 1 col
impfile fname:=strFile$ filtername:=MassScan.oif location:=user;
// run.section(,PlotData);
type -a "ii2=$(ii)";
//if (ii < count) newbook s:=0;
};
//---------------------------------------------------------------------------------------------------

When import 3 TXT data file, it script window displayed:
count=3
ii1=1
ii2=5
ii1=2
ii2=7
ii1=2
ii2=18


2   L A T E S T    R E P L I E S    (Newest First)
redman Posted - 12/05/2008 : 05:32:16 AM
Hi, grey,

You are so great! I just checked my filter, there was indeed a script using the same variable ii. Once I changed one of the variable names, the above mentioned script file1 could work fine with a filter.

Many thanks!

Redman
greg Posted - 12/04/2008 : 09:43:44 AM
In a test using Origin 8SR4 I could not reproduce your results. The only difference between my code and yours is that I had to change to a filter that I had on my system. This leads me to suspect that your filter has some script that runs after import that is using the variable ii.

Origin does have scoping rules that would allow two variables of the same name to exist with different values, but if my suspicion is correct then the first 'ii' is expressing the loop structure 'ii', while the second is expressing the filter code 'ii' and the end of loop test is re-setting the scope of ii. If this is the case, then that would be a bug, but the programmers would have to have code in hand that reproduces the problem.

Please send your filter and a sample datafile to tech@originlab.com for analysis.

The Origin Forum © 2020 Originlab Corporation Go To Top Of Page
Snitz Forums 2000