Class: WIN32OLE_PARAM

Inherits:
Object
  • Object
show all
Defined in:
win32ole.c,
win32ole.c

Overview

WIN32OLE_PARAM objects represent param information of the OLE method.

Instance Method Summary collapse

Constructor Details

#initialize(olemethod, n) ⇒ 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 "#WIN32OLE_PARAM.paramparam.name (= #WIN32OLE_PARAM.paramparam.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 puts param1.input? # => true

Returns:

  • (Boolean)


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.

Returns:

  • (String)


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 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 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 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 puts "#WIN32OLE_PARAM.param1param1.name #WIN32OLE_PARAM.param1param1.optional?" # => Filename true

Returns:

  • (Boolean)


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 "#WIN32OLE_PARAM.paramparam.name #WIN32OLE_PARAM.paramparam.output?" end

The result of above script is following:
 URL false
 Flags false
 TargetFrameName false
 PostData false
 Headers false
 Processed true

Returns:

  • (Boolean)


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 puts "#WIN32OLE_PARAM.paramparam.name #WIN32OLE_PARAM.paramparam.retval?" # => name true

Returns:

  • (Boolean)


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);
}