DTwainInterface::DTWAINArrayToArray

Top  Previous  Next

Syntax

static void DTwainInterface::DTWAINArrayToArray( CDTwainStringArray& DestArray, DTWAIN_ARRAY SourceArray);

 

static void DTwainInterface::DTWAINArrayToArray( DTwainDoubleArray& DestArray, DTWAIN_ARRAY SourceArray);

 

static void DTwainInterface:: DTWAINArrayToArray( DTwainLongArray& DestArray, DTWAIN_ARRAY SourceArray);

 

static void DTwainInterface::DTWAINArrayToArray( CDTwainFrameArray& DestArray, DTWAIN_ARRAY SourceArray);

 

 

Parameters

SA

An array of values to convert to a DTWAIN_ARRAY of values.

 

DA

The DTWAIN_ARRAY to hold the values.

 

Comments

Converts the DTWAIN_ARRAY SourceArray to a std::vector of values denoted by DestArray.  This function is useful if your application called a DTWAIN API function that returns a DTWAIN_ARRAY, and need to use std::vector functions on the values.

 

Example - get all supported caps (using regular DTWAIN API call, sort and output capability values and names of capabiity):

 

#include "cdtwain"

#include <algorithm> // STL sort is here

#include <iostream> // for cout

 

using namespace DTWAIN;

using namespace std; // for STL

 

void foo( )

{

 //...

 DTWAIN_SOURCE Source;

 DTWAIN_ARRAY A;

 //.. Assume that the source has been selected and opened...

 //...

 // Call DTWAIN API function to get all of the supported capabilities

 DTWAIN_EnumSupportedCaps( Source, &A )

 

 // Now copy these values into a DTwainLongArray;

 DTwainLongArray Array;

 DTwainInterface::DTWAINArrayToArray( Array, A );

 

 // Sort these values

 sort( Array.begin( ), Array.end( ) );

 

 // Output these values

 DTwainLongArray::iterator it = Array.begin( );

 DTwainLongArray::iterator it2 = Array.end( );

 while ( it != it2 )

 {

     cout << *it << " - " << DTwainInterface::GetNameFromCap( *it ) << endl;

     ++it;

 }

}

 

The example above uses the DTWAIN API call DTWAIN_EnumSupportedCaps to get the supported capabilities.  The DTwainSource::EnumSupportedCaps function makes DTWAIN_EnumSupportedCaps unnecessary, but it was done here to illustrate the usage of DTWAIN_ArrayToArray.