pdf viewer in mvc c# : Convert pdf to ascii text application control utility html web page winforms visual studio MATLAB_Excel3-part507

Processing varargin and varargout Arguments
Processing varargin and varargout Arguments
When
varargin
and/or
varargout
are present in the MATLAB function that
you are using for the Excel component, these parameters are added to the
argument list of the class method as the last input/output parameters in the
list. You can pass multiple arguments as a
varargin
array by creating a
Variant
array, assigning each element of the array to the respective input
argument.
The following example creates a
varargin
array to call a method resulting
from a MATLAB function of the form
y = foo(varargin)
:
Function foo(x1 As Variant, x2 As Variant, x3 As Varaint, _
x4 As Variant, x5 As Variant) As Variant
Dim aClass As Object
Dim v(1 To 5) As Variant
Dim y As Variant
On Error Goto Handle_Error
v(1) = x1
v(2) = x2
v(3) = x3
v(4) = x4
v(5) = x5
aClass = CreateObject("mycomponent.myclass.1_0")
Call aClass.foo(1,y,v)
foo = y
Exit Function
Handle_Error:
foo = Err.Description
End Function
The
MWUtil
class included in the
MWComUtil
utility library provides the
MWPack
helper function to create
varargin
parameters. See “Utility Library
Classes” on page C-3 for more details.
The next example processes a
varargout
parameter into three separate Excel
Range
s. This function uses the
MWUnpack
function in the utility library. The
MATLAB function used is
varargout = foo(x1,x2)
.
2-11
Convert pdf to ascii text - application control utility:C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net, ASP.NET MVC, WinForms, WPF application
C# PDF to Text (TXT) Converting Library to Convert PDF to Text
www.rasteredge.com
Convert pdf to ascii text - application control utility:VB.NET PDF Convert to Text SDK: Convert PDF to txt files in vb.net, ASP.NET MVC, WinForms, WPF application
VB.NET Guide and Sample Codes to Convert PDF to Text in .NET Project
www.rasteredge.com
2
Programming with MATLAB Builder for Excel
Sub foo(Rout1 As Range, Rout2 As Range, Rout3 As Range, _
Rin1 As Range, Rin2 As Range)
Dim aClass As Object
Dim aUtil As Object
Dim v As Variant
On Error Goto Handle_Error
aUtil = CreateObject("MWComUtil.MWUtil")
aClass = CreateObject("mycomponent.myclass.1_0")
Call aClass.foo(3,v,Rin1,Rin2)
Call aUtil.MWUnpack(v,0,True,Rout1,Rout2,Rout3)
Exit Sub
Handle_Error:
MsgBox(Err.Description)
End Sub
2-12
application control utility:Generate and draw Code 128 for Java
Various barcode image formats, like ASCII, BMP, DIB, EPS Preview, JPEG, etc, are valid Code 128 Auto"); //Encode data for Code 128 barcode image text in Java
www.rasteredge.com
application control utility:Generate and draw Code 39 for Java
or not, text margin setting, show check sum digit or not choices for Code 39 linear barcode in java applications. Various barcode image formats, like ASCII, BMP
www.rasteredge.com
Handling Errors During a Method Call
Handling Errors During a Method Call
Errors that occur while creating a class instance or during a class method
create an exception in the current procedure. Visual Basic provides
an exception handling capability through the
On Error Goto <label>
statement, in which the program execution jumps to
<label>
when an error
occurs. (
<label>
must be located in the same procedure as the
On Error
Goto
statement). All errors are handled this way, including errors within
the original MATLAB code. An exception creates a Visual Basic
ErrObject
object in the current context in a variable called
Err
.(See the Visual Basic for
Applications documentation for a detailed discussion on VBA error handling.)
All of the examples in this section illustrate the typical error trapping logic
used in function call wrappers for MATLAB Builder for Excel components.
2-13
application control utility:VB.NET TIFF: TIFF Tag Viewer SDK, Read & Edit TIFF Tag Using VB.
TiffTagID.ImageDescription, "Insert a private tiff tag", TiffTagDataType.Ascii)) file.Save VB.NET TIFF manipulating controls, like TIFF text extracting control
www.rasteredge.com
application control utility:Data Matrix C#.NET Integration Tutorial
datamatrix.CodeToEncode = "C#DataMatrixGenerator"; //Data Matrix data mode, supporting ASCII, Auto, Base256, C40, Edifact, Text, X12. datamatrix.
www.rasteredge.com
2
Programming with MATLAB Builder for Excel
Modifying Flags
Each MATLAB Builder for Excel component exposes a single read/write
property named
MWFlags
of type
MWFlags
.The
MWFlags
property consists of
two sets of constants: array formatting flags and data conversion flags. Array
formatting flags affect the transformation of arrays, whereas data conversion
flags deal with type conversions of individual array elements.
The data conversion flags change selected behaviors of the data conversion
process from
Variant
sto MATLAB types and vice versa. By default, Excel
Builder components allow setting data conversion flags at the class level
through the
MWFlags
class property. This holds true for all Visual Basic
types, with the exception of the Excel Builder
MWStruct
,
MWField
,
MWComplex
,
MWSparse
,and
MWArg
types. Each of these types exposes its own
MWFlags
property and ignores the properties of the class whose method is being
called. The
MWArg
class is supplied specifically for the case when a particular
argument needs different settings from the default class properties.
This section provides a general discussion of how to set these flags and what
they do. See “Class MWFlags” on page C-10 for a detailed discussion of the
MWFlags
type, as well as additional code samples.
Array Formatting Flags
Array formatting flags guide the data conversion to produce either a MATLAB
cell array or matrix from general
Variant
data on input or to produce an array
of
Variant
sor a single
Variant
containing an array of a basic type on output.
The following examples assume that you have referenced the
MWComUtil
library in the current project by selecting Tools > References and selecting
MWComUtil 7.5 Type Library from the list:
Sub foo( )
Dim aClass As mycomponent.myclass
Dim var1(1 To 2, 1 To 2), var2 As Variant
Dim x(1 To 2, 1 To 2) As Double
Dim y1,y2 As Variant
On Error Goto Handle_Error
var1(1,1) = 11#
2-14
application control utility:PDF-417 C#.NET Integration Tutorial
PDF417; //Set PDF 417 encoding valid input: All ASCII characters, including 0-9 PDF417DataMode.Auto // Data mode, Auto, Byte, Numeric,Text supported //Set
www.rasteredge.com
application control utility:Image Converter | Convert Image, Document Formats
formats; Convert in memory for higher speeds; Multiple image formats Support, such as TIFF, GIF, BMP, JPEG Rich documents formats support, like ASCII, PDF,
www.rasteredge.com
Modifying Flags
var1(1,2) = 12#
var1(2,1) = 21#
var1(2,2) = 22#
x(1,1) = 11
x(1,2) = 12
x(2,1) = 21
x(2,2) = 22
var2 = x
Set aClass = New mycomponent.myclass
Call aClass.foo(1,y1,var1)
Call aClass.foo(1,y2,var2)
Exit Sub
Handle_Error:
MsgBox(Err.Description)
End Sub
Here, two
Variant
variables,
var1
and
var2
are constructed with the same
numerical data, but internally they are structured differently:
var1
is a
2-by-2 array of
Variant
swith each element containing a 1-by-1
Double
,while
var2
is a 1-by-1
Variant
containing a 2-by-2 array of
Double
s.
According to the default data conversion rules listed in COM VARIANT to
MATLAB Conversion Rules,
var1
converts to a 2-by-2 cell array with each
cell occupied by a 1-by-1
double
,and
var2
converts directly to a 2-by-2 double
matrix.
The
InputArrayFormat
flag controls how arrays of these two types are
handled. The two arrays convert to double matrices because the default value
for the
InputArrayFormat
flag is
mwArrayFormatMatrix
.This default is used
because array data originating from Excel ranges is always in the form of an
array of
Variant
s(like
var1
of the previous example), and MATLAB functions
most often deal with matrix arguments.
But what if you want a cell array? In this case, you set the
InputArrayFormat
flag to
mwArrayFormatCell
.Do this by adding the following line after creating
the class and before the method call:
aClass .MWFlags.ArrayFormatFlags.InputArrayFormat =
mwArrayFormatCell
2-15
application control utility:VB.NET Image: Generate GS1-128/EAN-128 Barcode on Image & Document
AddFloatingItem(item) rePage.MergeItemsToPage() REFile.SaveDocumentFile(doc, "c:/ean128.pdf", New PDFEncoder Data, All 128 ASCII characters (Char from 0 to 127).
www.rasteredge.com
application control utility:Generate and Print 1D and 2D Barcodes in Java
Various barcode image formats, like ASCII, BMP, DIB, EPS Preview options include show text or not, text margin setting like QR Code, Data Matrix and PDF 417 in
www.rasteredge.com
2
Programming with MATLAB Builder for Excel
Setting this flag presents all array input to the compiled MATLAB function
as cell arrays.
Similarly, you can manipulate the format of output arguments using the
OutputArrayFormat
flag. You can also modify array output with the
AutoResizeOutput
and
TransposeOutput
flags.
AutoResizeOutput
is used for Excel
Range
objects passed directly as output
parameters. When this flag is set, the target range automatically resizes to fit
the resulting array. If this flag is not set, the target range must be at least as
large as the output array or the data is truncated.
The
TransposeOutput
flag transposes all array output. This flag is useful
when dealing with MATLAB functions that output one-dimensional arrays.
By default, MATLAB realizes one-dimensional arrays as 1-by-n matrices (row
vectors) that become rows in an Excel worksheet.
You may prefer worksheet columns from row vector output. This example
auto-resizes and transposes an output range:
Sub foo(Rout As Range, Rin As Range )
Dim aClass As mycomponent.myclass
On Error Goto Handle_Error
Set aClass = New mycomponent.myclass
aClass.MWFlags.ArrayFormatFlags.AutoResizeOutput = True
aClass.MWFlags.ArrayFormatFlags.TransposeOutput = True
Call aClass.foo(1,Rout,Rin)
Exit Sub
Handle_Error:
MsgBox(Err.Description)
End Sub
Data Conversion Flags
Data conversion flags deal with type conversions of individual array elements.
The two data conversion flags,
CoerceNumericToType
and
InputDateFormat
,
govern how numeric and date types are converted from VBA to MATLAB.
Consider the example:
Sub foo( )
2-16
application control utility:Generate 2D Barcodes in .NET Winforms
Moreover, the generation of Truncated PDF-417 and Macro PDF417 are supported. ASCII Mode, Base256, C40, EDIFACT, Text, and X12 data mode are supported.
www.rasteredge.com
application control utility:Code 128 Bar Code .NET Windows Forms SDK
symbology and capable of encoding full 128 characters in ASCII table. code128 winformscode128.Symbology = Symbology.code128; // set code128 code text to encode
www.rasteredge.com
Modifying Flags
Dim aClass As mycomponent.myclass
Dim var1, var2 As Variant
Dim y As Variant
On Error Goto Handle_Error
var1 = 1
var2 = 2#
Set aClass = New mycomponent.myclass
Call aClass.foo(1,y,var1,var2)
Exit Sub
Handle_Error:
MsgBox(Err.Description)
End Sub
This example converts
var1
of type
Variant/Integer
to an
int16
and
var2
of
type
Variant/Double
to a
double
.
If the original MATLAB function expects
double
sfor both arguments, this
code might cause an error. One solution is to assign a
double
to
var1
,but this
may not be possible or desirable. In such a case set the
CoerceNumericToType
flag to
mwTypeDouble
,causing the data converter to convert all numeric input
to
double
.In the previous example, place the following line after creating the
class and before calling the methods:
aClass .MWFlags.DataConversionFlags.CoerceNumericToType =
mwTypeDouble
The
InputDateFormat
flag controls how the VBA
Date
type is converted.
This example sends the current date and time as an input argument and
converts it to a string:
Sub foo( )
Dim aClass As mycomponent.myclass
Dim today As Date
Dim y As Variant
On Error Goto Handle_Error
today = Now
Set aClass = New mycomponent.myclass
aClass. MWFlags.DataConversionFlags.InputDateFormat =
2-17
2
Programming with MATLAB Builder for Excel
mwDateFormatString
Call aClass.foo(1,y,today)
Exit Sub
Handle_Error:
MsgBox(Err.Description)
End Sub
The next example uses an
MWArg
object to modify the conversion flags for
one argument in a method call. In this case the first output argument (
y1
)
is coerced to a
Date
,and the second output argument (
y2
)uses the current
default conversion flags supplied by
aClass
.
Sub foo(y1 As Variant, y2 As Variant)
Dim aClass As mycomponent.myclass
Dim ytemp As MWArg
Dim today As Date
On Error Goto Handle_Error
today = Now
Set aClass = New mycomponent.myclass
Set y1 = New MWArg
y1.MWFlags.DataConversionFlags.OutputAsDate = True
Call aClass.foo(2, ytemp, y2, today)
y1 = ytemp.Value
Exit Sub
Handle_Error:
MsgBox(Err.Description)
End Sub
2-18
3
Usage Examples
Magic Square Examples (p. 3-2)
Creates a magic square from a single
input integer
Multiple Files and Variable
Arguments Example (p. 3-6)
Plots a line from 1 to an input
number
Spectral Analysis Example (p. 3-13)
Creates a comprehensive Excel
add-in to perform spectral analysis
Note You might also find usage examples on
http://www.mathworks.com/matlabcentral/. Set the Search
field to
File Exchange
and search for one or more of the following:
InterpExcelDemo
MatrixMathExcelDemo
ExcelCurveFit
3
Usage Examples
Magic Square Examples
The M-file
mymagic
takes a single input, an integer, and creates a magic
square of that size.
The Excel file
mymagic.xls
uses this function in three different ways:
• The first illustration calls the function
mymagic
with a value of 4. The
function returns a magic square of size 4 and populates a range of Excel
cells with that magic square.
• The second illustration uses the transpose flag to transpose a magic square
of size 4.
• The third illustration resizes the output to a higher value and moves its
location within the Excel worksheet.
Note To get started, copy the distributed directory
xlmagic
from
matlabroot\toolbox\matlabxl\examples\xlmagic
to
matlabroot\work
.
Creating the Project
1
From the MATLAB command prompt, change directories to
matlabroot\work
.
2
If you have not
already done so, execute the following command in
MATLAB:
mbuild -setup
Be sure to choo
se a supported compiler. See Supported Compilers at
http://www.
mathworks.com/support/tech-notes/1600/1601.shtml
.
3
Enter the
deploytool
command to open the Deployment Tool.
4
Create a project with the following settings.
3-2
Documents you may be interested
Documents you may be interested