【お知らせ】この部分は英語原文のみでの提供となります。何卒ご了承ください。
2.1.17.8.21.1 Data_copy
Contents
Description
Copy a range of data from one data set to another.
Syntax
BOOL Data_copy( Dataset * pdsDest, Dataset * pdsSrc, int nSrcFrom = 0, int nSrcTo = -1, int nDestFrom = -1, BOOL bIgnoreMask = TRUE )
Parameters
- pdsDest
- [output] pointer to destination dataset
- pdsSrc
- [input] pointer to source dataset
- nSrcFrom
- [input] starting index of the source dataset (0 based offset)
- nSrcTo
- [input] ending index of the source dataset (0 based offset, default -1 copies to upper index)
- nDestFrom
- [input] starting index of the destination dataset (0 based offset, default -1 uses nSrcFrom)
- bIgnoreMask
- [input] TRUE ignores masking in source dataset, FALSE copies masked values as missing values
Return
Returns TRUE if successful and FALSE if:
1) nSrcFrom < 0 or nSrcFrom > source UpperIndex
2) nSrcTo < nSrcFrom or nSrcTo > UpperIndex
3) nDestFrom < -1 (-1 means to use nSrcFrom)
Examples
EX1
// This is a self contained sample program for the function Data_copy, // Its sample data is created at the beginning of the program. // To run the program, enter the following command in the Script window: // Data_copy_ex1 // This will return the result like following: // Copying Data2_B[3:5] to Data2_Destination[6:8] succeeded. // In this example, the copied range exceeds the original range of the // destination, but copying results the expansion. // void Data_copy_ex1() { BOOL rc; Worksheet wks; wks.Create(); Dataset myXDs(wks,0); Dataset dsSrc(wks,1); // Dataset as a source String strSrcName = dsSrc.GetName(); wks.AddCol("Destination"); // Add a column for the destination Dataset dsDest(wks,2); String strDestName = dsDest.GetName(); //******* Create sample data ***************** myXDs.SetSize(7); dsSrc.SetSize(7); dsDest.SetSize(7); myXDs[0]=1; dsSrc[0]=0.097; dsDest[0]=0; myXDs[1]=2; dsSrc[1]=0.41256; dsDest[1]=0; myXDs[2]=3; dsSrc[2]=0.24909; dsDest[2]=0; myXDs[3]=4; dsSrc[3]=0.47304; dsDest[3]=0; myXDs[4]=5; dsSrc[4]=0.2476; dsDest[4]=0; myXDs[5]=6; dsSrc[5]=0.64529; dsDest[5]=0; myXDs[6]=7; dsSrc[6]=0.44514; dsDest[6]=0; //******** End of Sample Data Creation ******* int nSrcFrom = 2; int nSrcTo = 4; int nDestFrom = 5; rc=Data_copy(&dsDest, &dsSrc, nSrcFrom, nSrcTo, nDestFrom); // Demonstration of Data_copy if(rc) printf("Copying %s[%d:%d] to %s[%d:%d] succeeded.\n", strSrcName,nSrcFrom+1,nSrcTo+1,strDestName,nDestFrom+1,(nDestFrom+nSrcTo-nSrcFrom+1)); else printf("Error: Data_copy failed\n"); }
Remark
Copy a range of data from one data set to another. If need the destination data set will be automatically resized.
See Also
Header to Include
origin.h