Class: WIN32OLE_PARAM
- Inherits:
-
Object
- Object
- WIN32OLE_PARAM
- Defined in:
- win32ole.c,
win32ole.c
Overview
WIN32OLE_PARAM
objects represent param information of
the OLE method.
Instance Method Summary collapse
-
#default ⇒ Object
Returns default value.
- #initialize ⇒ Object constructor
-
#input? ⇒ Boolean
Returns true if the parameter is input.
-
#inspect ⇒ String
Returns the parameter name with class name.
-
#name ⇒ Object
(also: #to_s)
Returns name.
-
#ole_type ⇒ Object
Returns OLE type of WIN32OLE_PARAM object(parameter of OLE method).
-
#ole_type_detail ⇒ Object
Returns detail information of type of argument.
-
#optional? ⇒ Boolean
Returns true if argument is optional.
-
#output? ⇒ Boolean
Returns true if argument is output.
-
#retval? ⇒ Boolean
Returns true if argument is return value.
Constructor Details
#initialize ⇒ Object
7328 7329 7330 7331 7332 7333 7334 7335 7336 |
# File 'win32ole.c', line 7328
static VALUE foleparam_initialize(VALUE self, VALUE olemethod, VALUE n)
{
int idx;
if (!rb_obj_is_kind_of(olemethod, cWIN32OLE_METHOD)) {
rb_raise(rb_eTypeError, "1st parameter must be WIN32OLE_METHOD object");
}
idx = FIX2INT(n);
return oleparam_ole_param(self, olemethod, idx);
}
|
Instance Method Details
#default ⇒ Object
Returns default value. If the default value does not exist, this method returns nil.
tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
method.params.each do |param|
if param.default
puts "#{param.name} (= #{param.default})"
else
puts "#{param}"
end
end
The above script result is following:
Filename
FileFormat
Password
WriteResPassword
ReadOnlyRecommended
CreateBackup
AccessMode (= 1)
ConflictResolution
AddToMru
TextCodepage
TextVisualLayout
7571 7572 7573 7574 7575 7576 7577 |
# File 'win32ole.c', line 7571
static VALUE foleparam_default(VALUE self)
{
struct oleparamdata *pparam;
Data_Get_Struct(self, struct oleparamdata, pparam);
return ole_param_default(pparam->pTypeInfo, pparam->method_index,
pparam->index);
}
|
#input? ⇒ Boolean
Returns true if the parameter is input.
tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
param1 = method.params[0]
puts param1.input? # => true
7447 7448 7449 7450 7451 7452 7453 |
# File 'win32ole.c', line 7447
static VALUE foleparam_input(VALUE self)
{
struct oleparamdata *pparam;
Data_Get_Struct(self, struct oleparamdata, pparam);
return ole_param_flag_mask(pparam->pTypeInfo, pparam->method_index,
pparam->index, PARAMFLAG_FIN);
}
|
#inspect ⇒ String
Returns the parameter name with class name. If the parameter has default value, then returns name=value string with class name.
7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 |
# File 'win32ole.c', line 7587
static VALUE
foleparam_inspect(VALUE self)
{
VALUE detail = foleparam_name(self);
VALUE defval = foleparam_default(self);
if (defval != Qnil) {
rb_str_cat2(detail, "=");
rb_str_concat(detail, rb_funcall(defval, rb_intern("inspect"), 0));
}
return make_inspect("WIN32OLE_PARAM", detail);
}
|
#name ⇒ Object Also known as: to_s
Returns name.
tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
param1 = method.params[0]
puts param1.name # => Filename
7348 7349 7350 7351 7352 |
# File 'win32ole.c', line 7348
static VALUE
foleparam_name(VALUE self)
{
return rb_ivar_get(self, rb_intern("name"));
}
|
#ole_type ⇒ Object
Returns OLE type of WIN32OLE_PARAM object(parameter of OLE method).
tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
param1 = method.params[0]
puts param1.ole_type # => VARIANT
7379 7380 7381 7382 7383 7384 7385 7386 |
# File 'win32ole.c', line 7379
static VALUE
foleparam_ole_type(VALUE self)
{
struct oleparamdata *pparam;
Data_Get_Struct(self, struct oleparamdata, pparam);
return ole_param_ole_type(pparam->pTypeInfo, pparam->method_index,
pparam->index);
}
|
#ole_type_detail ⇒ Object
Returns detail information of type of argument.
tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'IWorksheetFunction')
method = WIN32OLE_METHOD.new(tobj, 'SumIf')
param1 = method.params[0]
p param1.ole_type_detail # => ["PTR", "USERDEFINED", "Range"]
7413 7414 7415 7416 7417 7418 7419 7420 |
# File 'win32ole.c', line 7413
static VALUE
foleparam_ole_type_detail(VALUE self)
{
struct oleparamdata *pparam;
Data_Get_Struct(self, struct oleparamdata, pparam);
return ole_param_ole_type_detail(pparam->pTypeInfo, pparam->method_index,
pparam->index);
}
|
#optional? ⇒ Boolean
Returns true if argument is optional.
tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
param1 = method.params[0]
puts "#{param1.name} #{param1.optional?}" # => Filename true
7492 7493 7494 7495 7496 7497 7498 |
# File 'win32ole.c', line 7492
static VALUE foleparam_optional(VALUE self)
{
struct oleparamdata *pparam;
Data_Get_Struct(self, struct oleparamdata, pparam);
return ole_param_flag_mask(pparam->pTypeInfo, pparam->method_index,
pparam->index, PARAMFLAG_FOPT);
}
|
#output? ⇒ Boolean
Returns true if argument is output.
tobj = WIN32OLE_TYPE.new('Microsoft Internet Controls', 'DWebBrowserEvents')
method = WIN32OLE_METHOD.new(tobj, 'NewWindow')
method.params.each do |param|
puts "#{param.name} #{param.output?}"
end
The result of above script is following:
URL false
Flags false
TargetFrameName false
PostData false
Headers false
Processed true
7474 7475 7476 7477 7478 7479 7480 |
# File 'win32ole.c', line 7474
static VALUE foleparam_output(VALUE self)
{
struct oleparamdata *pparam;
Data_Get_Struct(self, struct oleparamdata, pparam);
return ole_param_flag_mask(pparam->pTypeInfo, pparam->method_index,
pparam->index, PARAMFLAG_FOUT);
}
|
#retval? ⇒ Boolean
Returns true if argument is return value.
tobj = WIN32OLE_TYPE.new('DirectX 7 for Visual Basic Type Library',
'DirectPlayLobbyConnection')
method = WIN32OLE_METHOD.new(tobj, 'GetPlayerShortName')
param = method.params[0]
puts "#{param.name} #{param.retval?}" # => name true
7511 7512 7513 7514 7515 7516 7517 |
# File 'win32ole.c', line 7511
static VALUE foleparam_retval(VALUE self)
{
struct oleparamdata *pparam;
Data_Get_Struct(self, struct oleparamdata, pparam);
return ole_param_flag_mask(pparam->pTypeInfo, pparam->method_index,
pparam->index, PARAMFLAG_FRETVAL);
}
|