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
 Forum for Origin C
 A question about sort.

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
rainlane Posted - 03/22/2017 : 9:08:13 PM
Origin Ver. and Service Release (Select Help-->About Origin): Origin 9
Operating System:Windows XP

In Origin ,I used the code to import a .dat file and sort.


void sor_Example()
{
    int        iStatus;
    ASCIMP    ai;
    string     strFile = "C:\\data.dat";
    if(AscImpReadFileStruct(strFile,&ai) == 0)
    {
        ai.iRenameWks = 0; //to rename worksheet from filename            
        ai.iRenameCols = 1; //0 to keep default column names, 1 to rename columns using 1st line of header block
 
        Worksheet wks = Project.ActiveLayer();
        wks.ImportASCII(strFile, ai);
        
        vector<int> vCol = {0,1};
	vector<int> vSort = {SORT_ASCENDING, SORT_ASCENDING};
	wks.Sort(vCol, vSort) ;
    }
}






In my thinking ,the result is :


But the result is:




forum
1   L A T E S T    R E P L I E S    (Newest First)
yuki_wu Posted - 03/22/2017 : 10:57:50 PM
Hi,

If you want to get the result as you desired, you need to modify your code as follows:

vector<int> vCol = {1,3};
vector<int> vSort = {SORT_ASCENDING, SORT_ASCENDING};
wks.Sort(vCol, vSort);

The logic of sort in Origin may be a little bit different from other softwares, such as Excel. You should take a look at this based item about the nested sort:
http://www.originlab.com/doc/Origin-Help/Wks-Sort-Data

Regards,
Yuki
OriginLab

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