Class: WIN32OLE::Param
- Inherits:
-
Object
- Object
- WIN32OLE::Param
- Defined in:
- win32ole_param.c,
win32ole_param.c
Overview
WIN32OLE::Param
objects represent param information of
the OLE method.
Instance Method Summary collapse
-
#default ⇒ Object
Returns default value.
-
#new(method, n) ⇒ WIN32OLE::Param object
constructor
Returns WIN32OLE::Param object which represents OLE parameter information.
-
#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
#new(method, n) ⇒ WIN32OLE::Param object
Returns WIN32OLE::Param object which represents OLE parameter information. 1st argument should be WIN32OLE::Method object. 2nd argument ‘n’ is n-th parameter of the method specified by 1st argument.
tobj = WIN32OLE::Type.new('Microsoft Scripting Runtime', 'IFileSystem')
method = WIN32OLE::Method.new(tobj, 'CreateTextFile')
param = WIN32OLE::Param.new(method, 2) # => #<WIN32OLE::Param:Overwrite=true>
145 146 147 148 149 150 151 152 153 154 |
# File 'win32ole_param.c', line 145 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 = RB_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
393 394 395 396 397 398 399 400 |
# File 'win32ole_param.c', line 393 static VALUE foleparam_default(VALUE self) { struct oleparamdata *pparam; TypedData_Get_Struct(self, struct oleparamdata, &oleparam_datatype, 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
265 266 267 268 269 270 271 272 |
# File 'win32ole_param.c', line 265 static VALUE foleparam_input(VALUE self) { struct oleparamdata *pparam; TypedData_Get_Struct(self, struct oleparamdata, &oleparam_datatype, 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.
410 411 412 413 414 415 416 417 418 419 420 |
# File 'win32ole_param.c', line 410 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_inspect(defval)); } 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
166 167 168 169 170 |
# File 'win32ole_param.c', line 166 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
197 198 199 200 201 202 203 204 |
# File 'win32ole_param.c', line 197 static VALUE foleparam_ole_type(VALUE self) { struct oleparamdata *pparam; TypedData_Get_Struct(self, struct oleparamdata, &oleparam_datatype, 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"]
231 232 233 234 235 236 237 238 |
# File 'win32ole_param.c', line 231 static VALUE foleparam_ole_type_detail(VALUE self) { struct oleparamdata *pparam; TypedData_Get_Struct(self, struct oleparamdata, &oleparam_datatype, 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
312 313 314 315 316 317 318 319 |
# File 'win32ole_param.c', line 312 static VALUE foleparam_optional(VALUE self) { struct oleparamdata *pparam; TypedData_Get_Struct(self, struct oleparamdata, &oleparam_datatype, 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
293 294 295 296 297 298 299 300 |
# File 'win32ole_param.c', line 293 static VALUE foleparam_output(VALUE self) { struct oleparamdata *pparam; TypedData_Get_Struct(self, struct oleparamdata, &oleparam_datatype, 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
332 333 334 335 336 337 338 339 |
# File 'win32ole_param.c', line 332 static VALUE foleparam_retval(VALUE self) { struct oleparamdata *pparam; TypedData_Get_Struct(self, struct oleparamdata, &oleparam_datatype, pparam); return ole_param_flag_mask(pparam->pTypeInfo, pparam->method_index, pparam->index, PARAMFLAG_FRETVAL); } |