argra****@users*****
argra****@users*****
2012年 9月 30日 (日) 23:05:01 JST
Index: docs/modules/Win32-OLE-0.1502/Win32/OLE/Const.pod diff -u /dev/null docs/modules/Win32-OLE-0.1502/Win32/OLE/Const.pod:1.1 --- /dev/null Sun Sep 30 23:05:01 2012 +++ docs/modules/Win32-OLE-0.1502/Win32/OLE/Const.pod Sun Sep 30 23:05:01 2012 @@ -0,0 +1,252 @@ + +=encoding euc-jp + +=head1 NAME + +=begin original + +Win32::OLE::Const - Extract constant definitions from TypeLib + +=end original + +Win32::OLE::Const - タイプライブラリから定数定義を取り出す + +=head1 SYNOPSIS + + use Win32::OLE::Const 'Microsoft Excel'; + printf "xlMarkerStyleDot = %d\n", xlMarkerStyleDot; + + my $wd = Win32::OLE::Const->Load("Microsoft Word 8\\.0 Object Library"); + foreach my $key (keys %$wd) { + printf "$key = %s\n", $wd->{$key}; + } + +=head1 DESCRIPTION + +=begin original + +This modules makes all constants from a registered OLE type library +available to the Perl program. The constant definitions can be +imported as functions, providing compile time name checking. +Alternatively the constants can be returned in a hash reference +which avoids defining lots of functions of unknown names. + +=end original + +このモジュールはすべての定数を登録された OLE タイプライブラリから +Perl プログラムで利用できるようにします。 +定数定義は関数としてインポートされ、コンパイル時の名前チェックが +提供されます。 +多くの知らない関数を定義することを避けて、代わりとして定数を +ハッシュリファレンスとして返すこともできます。 + +=head2 Functions/Methods + +(関数/メソッド) + +=over 4 + +=item use Win32::OLE::Const + +=begin original + +The C<use> statement can be used to directly import the constant names +and values into the users namespace. + +=end original + +C<use> ステートメントで直接、定数名と変数をユーザ名前空間に +インポートするために使うことができます。 + + use Win32::OLE::Const (TYPELIB,MAJOR,MINOR,LANGUAGE); + +=begin original + +The TYPELIB argument specifies a regular expression for searching +through the registry for the type library. Note that this argument is +implicitly prefixed with C<^> to speed up matches in the most common +cases. Use a typelib name like ".*Excel" to match anywhere within the +description. TYPELIB is the only required argument. + +=end original + +TYPELIB 引数はタイプライブラリをレジストリで探すための正規表現を指定します。 +この引数は暗黙のうちに、マッチングのスピードをほとんどの場合あげるように、 +頭に C<^> がつけられることに注意してください。 +記述のどこであってもマッチングするようにするには、".*Excel" のような +タイプライブラリ名を使ってください。 +TYPELIB だけが必須の引数です。 + +=begin original + +The MAJOR and MINOR arguments specify the requested version of +the type specification. If the MAJOR argument is used then only +typelibs with exactly this major version number will be matched. The +MINOR argument however specifies the minimum acceptable minor version. +MINOR is ignored if MAJOR is undefined. + +=end original + +MAJOR と MINOR 引数はタイプ仕様の必要とされるバージョンを指定します。 +MAJOR 引数が使われると、厳密にこのメジャーバージョン番号をもった +タイプライブラリだけがマッチします。 +しかし MINOR 引数は最小の受け入れることのできるマイナーバージョンを +指定します。 +MAJOR が未定義であれば、MINOR は無視されます。 + +=begin original + +If the LANGUAGE argument is used then only typelibs with exactly this +language id will be matched. + +=end original + +LANGUAGE 引数が使われると、厳密にこの language id を持っている +タイプライブラリだけがマッチします。 + +=begin original + +The module will select the typelib with the highest version number +satisfying the request. If no language id is specified then a the default +language (0) will be preferred over the others. + +=end original + +モジュールは要求を満たす最も高いバージョン番号のタイプライブラリを +選択します。 +language id が指定されなければ、デフォルトの language (0) が他のものよりも +優先されます。 + +=begin original + +Note that only constants with valid Perl variable names will be exported, +i.e. names matching this regexp: C</^[a-zA-Z_][a-zA-Z0-9_]*$/>. + +=end original + +正しい Perl 変数名つまり名前が以下の正規表現にマッチングする: +C</^[a-zA-Z_][a-zA-Z0-9_]*$/> を持つ定数だけがエクスポートされることに +注意してください。 + +=item Win32::OLE::Const->Load + +=begin original + +The Win32::OLE::Const->Load method returns a reference to a hash of +constant definitions. + +=end original + +Win32::OLE::Const->Load メソッドは定数定義のハッシュへのリファレンスを +返します。 + + my $const = Win32::OLE::Const->Load(TYPELIB,MAJOR,MINOR,LANGUAGE); + +=begin original + +The parameters are the same as for the C<use> case. + +=end original + +パラメータは C<use> の場合と同じです。 + +=begin original + +This method is generally preferrable when the typelib uses a non-english +language and the constant names contain locale specific characters not +allowed in Perl variable names. + +=end original + +このメソッドは一般的にタイプライブラリが英語以外の言語を使っているときや +定数名にロケール特有の Perl 変数名として許されない文字が入っているときに +好まれます。 + +=begin original + +Another advantage is that all available constants can now be enumerated. + +=end original + +もう一つの利点は、利用できるすべての定数を列挙できることです。 + +=begin original + +The load method also accepts an OLE object as a parameter. In this case +the OLE object is queried about its containing type library and no registry +search is done at all. Interestingly this seems to be slower. + +=end original + +load メソッドは OLE オブジェクトもパラメータとして受け入れます。 +この場合、OLE オブジェクトは、それが持っているタイプライブラリを +問い合わせられ、レジストリ検索はおこなわれなせん。 +面白いことに、これはより遅いようです。 + +=back + +=head1 EXAMPLES + +(例) + +=begin original + +The first example imports all Excel constants names into the main namespace +and prints the value of xlMarkerStyleDot (-4118). + +=end original + +最初の例では、すべての Excel 定数名をメインの名前空間にインポートし、 +xlMarkerStyleDot (-4118) の値を出力します。 + + use Win32::OLE::Const ('Microsoft Excel 8.0 Object Library'); + print "xlMarkerStyleDot = %d\n", xlMarkerStyleDot; + +=begin original + +The second example returns all Word constants in a hash ref. + +=end original + +2 番目の例はすべての Word 定数をハッシュリファレンスとして返します: + + use Win32::OLE::Const; + my $wd = Win32::OLE::Const->Load("Microsoft Word 8.0 Object Library"); + foreach my $key (keys %$wd) { + printf "$key = %s\n", $wd->{$key}; + } + printf "wdGreen = %s\n", $wd->{wdGreen}; + +=begin original + +The last example uses an OLE object to specify the type library: + +=end original + +最後の例は OLE オブジェクトをタイプライブラリを指定するために使います: + + use Win32::OLE; + use Win32::OLE::Const; + my $Excel = Win32::OLE->new('Excel.Application', 'Quit'); + my $xl = Win32::OLE::Const->Load($Excel); + +=head1 AUTHORS/COPYRIGHT + +=begin original + +This module is part of the Win32::OLE distribution. + +=end original + +このモジュールは Win32::OLE ディストリビューションの一部です。 + +=begin meta + +Translate: Hippo2000 <GCD00****@nifty*****> (0.14) +Update: SHIRAKATA Kentaro <argra****@ub32*****> (0.1502) +Status: completed + +=end meta + +=cut + Index: docs/modules/Win32-OLE-0.1502/Win32/OLE/Enum.pod diff -u /dev/null docs/modules/Win32-OLE-0.1502/Win32/OLE/Enum.pod:1.1 --- /dev/null Sun Sep 30 23:05:01 2012 +++ docs/modules/Win32-OLE-0.1502/Win32/OLE/Enum.pod Sun Sep 30 23:05:01 2012 @@ -0,0 +1,189 @@ + +=encoding euc-jp + +=head1 NAME + +=begin original + +Win32::OLE::Enum - OLE Automation Collection Objects + +=end original + +Win32::OLE::Enum - OLE オートメーションコレクションオブジェクト + +=head1 SYNOPSIS + + my $Sheets = $Excel->Workbooks(1)->Worksheets; + my $Enum = Win32::OLE::Enum->new($Sheets); + my @Sheets = $Enum->All; + + while (defined(my $Sheet = $Enum->Next)) { ... } + +=head1 DESCRIPTION + +=begin original + +This module provides an interface to OLE collection objects from +Perl. It defines an enumerator object closely mirroring the +functionality of the IEnumVARIANT interface. + +=end original + +このモジュールは Perl から OLE コレクションオブジェクトへのインタフェースを +提供します。 +これは IEnumVARIANT インターフェースの機能をほとんどそのままのような列挙する +オブジェクトを定義します。 + +=begin original + +Please note that the Reset() method is not available in all implementations +of OLE collections (like Excel 7). In that case the Enum object is good +only for a single walk through of the collection. + +=end original + +Reset() メソッドが OLE コレクションのすべての実装で利用できるわけではない +(Excel7 のように)ことに注意してください。 +その場合、Enum オブジェクトはコレクションを一度だけ通してみていくためだけに +有効です。 + +=head2 Functions/Methods + +(関数/メソッド) + +=over 8 + +=item Win32::OLE::Enum->new($object) + +=begin original + +Creates an enumerator for $object, which must be a valid OLE collection +object. Note that correctly implemented collection objects must support +the C<Count> and C<Item> methods, so creating an enumerator is not always +necessary. + +=end original + +$object のための Enum オブジェクトを作成します。 +$object は正しい OLE コレクションオブジェクトでなければなりません。 +正しく実装されたコレクションオブジェクトは C<Count> と C<Item> メソッドを +サポートしていなければならないことに注意してください; +そのため Enum オブジェクトは常には必要ありません。 + +=item $Enum->All() + +=begin original + +Returns a list of all objects in the collection. You have to call +$Enum->Reset() before the enumerator can be used again. The previous +position in the collection is lost. + +=end original + +そのコレクションのなかのすべてのオブジェクトのリストを返します。 +列挙するオブジェクトをもう一度、使う前に $Enum->Reset() を +呼ばなければなりません。 +コレクション内の以前の位置は失われます。 + +=begin original + +This method can also be called as a class method: + +=end original + +このメソッドはクラスメソッドとしても呼び出すことができます: + + my @list = Win32::OLE::Enum->All($Collection); + +=item $Enum->Clone() + +=begin original + +Returns a clone of the enumerator maintaining the current position within +the collection (if possible). Note that the C<Clone> method is often not +implemented. Use $Enum->Clone() in an eval block to avoid dying if you +are not sure that Clone is supported. + +=end original + +(もし可能であれば)コレクションでの現在の位置を保持する Enum オブジェクトの +クローンを返します。 +C<Clone> メソッドはしばしば実装されていないことに注意してください。 +Clone がサポートされているかどうかわからなければ、die するのを避けるため +eval ブロックで $Enum->Clone() を使ってください。 + +=item $Enum->Next( [$count] ) + +=begin original + +Returns the next element of the collection. In a list context the optional +$count argument specifies the number of objects to be returned. In a scalar +context only the last of at most $count retrieved objects is returned. The +default for $count is 1. + +=end original + +コレクションの次の要素を返します。 +リストコンテキストではオプションの $count 引数は返されるオブジェクトの数を +指定します。 +スカラコンテキストでは $count の取り出されたオブジェクトの最後のものが +返されます。 +$count のデフォルトは 1 です。 + +=item $Enum->Reset() + +=begin original + +Resets the enumeration sequence to the beginning. There is no guarantee that +the exact same set of objects will be enumerated again (e.g. when enumerating +files in a directory). The methods return value indicates the success of the +operation. (Note that the Reset() method seems to be unimplemented in some +applications like Excel 7. Use it in an eval block to avoid dying.) + +=end original + +列挙の順番を最初に戻します。 +全く同じオブジェクトの集合が再び列挙されるかどうかは保証されません(例えば +ディレクトリに列挙されているファイルのとき)。 +メソッドは処理が正常であることを示す値を返します(Reset() メソッドは +Excel 7 のようにアプリケーションによっては実装されていないようであることに +注意してください。 +die ことを避けるために、evalブロックを使ってください。) + +=item $Enum->Skip( [$count] ) + +=begin original + +Skip the next $count elements of the enumeration. The default for $count is 1. +The functions returns TRUE if at least $count elements could be skipped. It +returns FALSE if not enough elements were left. + +=end original + +列挙の次の $count 分の要素を飛ばします。 +$count のデフォルトは 1 です。 +もし少なくとも $count 分の要素が飛ばすことができれば関数は TRUE を返します。 +十分な数の要素が残っていなければ FALSE を返します。 + +=back + +=head1 AUTHORS/COPYRIGHT + +=begin original + +This module is part of the Win32::OLE distribution. + +=end original + +このモジュールは Win32::OLE ディストリビューションの一部です。 + +=begin meta + +Translate: Hippo2000 <GCD00****@nifty*****> (0.14) +Update: SHIRAKATA Kentaro <argra****@ub32*****> (0.1502) +Status: completed + +=end meta + +=cut + Index: docs/modules/Win32-OLE-0.1502/Win32/OLE/NLS.pod diff -u /dev/null docs/modules/Win32-OLE-0.1502/Win32/OLE/NLS.pod:1.1 --- /dev/null Sun Sep 30 23:05:01 2012 +++ docs/modules/Win32-OLE-0.1502/Win32/OLE/NLS.pod Sun Sep 30 23:05:01 2012 @@ -0,0 +1,1325 @@ + +=encoding euc-jp + +=head1 NAME + +=begin original + +Win32::OLE::NLS - OLE National Language Support + +=end original + +Win32::OLE::NLS - OLE 各国語サポート + +=head1 SYNOPSIS + + missing + +=head1 DESCRIPTION + +=begin original + +This module provides access to the national language support features +in the F<OLENLS.DLL>. + +=end original + +このモジュールは F<OLENLS.DLL> の各国語サポート機能へのアクセスを提供します。 + +=head2 Functions + +(関数) + +=over 8 + +=item CompareString(LCID,FLAGS,STR1,STR2) + +=begin original + +Compare STR1 and STR2 in the LCID locale. FLAGS indicate the character +traits to be used or ignored when comparing the two strings. + +=end original + +LCID ロケールで STR1 と STR2 を比較します。 +FLAGS は二つの文字列を比較する際に使用される、あるいは無視される文字の +特徴を示します。 + +=begin original + + NORM_IGNORECASE Ignore case + NORM_IGNOREKANATYPE Ignore hiragana/katakana character differences + NORM_IGNORENONSPACE Ignore accents, diacritics, and vowel marks + NORM_IGNORESYMBOLS Ignore symbols + NORM_IGNOREWIDTH Ignore character width + +=end original + + NORM_IGNORECASE 大文字と小文字を区別しない + NORM_IGNOREKANATYPE ひらがなとカタカナを区別しない + NORM_IGNORENONSPACE アクセント、付加記号、発音記号を無視する + NORM_IGNORESYMBOLS 記号を無視する + NORM_IGNOREWIDTH 文字列の幅を無視する + +=begin original + +Possible return values are: + +=end original + +あり得る戻り値は以下の通りです: + +=begin original + + 0 Function failed + 1 STR1 is less than STR2 + 2 STR1 is equal to STR2 + 3 STR1 is greater than STR2 + +=end original + + 0 関数が失敗 + 1 STR1 は STR2 よりも小さい + 2 STR1 は STR2 と同じ + 3 STR1 は STR2 よりも大きい + +=begin original + +Note that you can subtract 2 from the return code to get values +comparable to the C<cmp> operator. + +=end original + +C<cmp> 演算子と比較できる値を取得するために、戻り値から 2 を引くことが +できることに注意してください。 + +=item LCMapString(LCID,FLAGS,STR) + +=begin original + +LCMapString translates STR using LCID dependent translation. +Flags contains a combination of the following options: + +=end original + +LCMapString は LCID に依存した変換で STR を変換します。 +フラグには以下のオプションの組み合わせが入ります: + + LCMAP_LOWERCASE 小文字化 + LCMAP_UPPERCASE 大文字化 + LCMAP_HALFWIDTH 半角化 + LCMAP_FULLWIDTH 全角化 + LCMAP_HIRAGANA ひらなが化 + LCMAP_KATAKANA カタカナ化 + LCMAP_SORTKEY 正規化されたワイド文字のソートキーを作成 + +=begin original + +The following normalization options can be combined with C<LCMAP_SORTKEY>: + +=end original + +以下の正規化オプションを LCMAP_SORTKEY に組み合わせることができます: + +=begin original + + NORM_IGNORECASE Ignore case + NORM_IGNOREKANATYPE Ignore hiragana/katakana character differences + NORM_IGNORENONSPACE Ignore accents, diacritics, and vowel marks + NORM_IGNORESYMBOLS Ignore symbols + NORM_IGNOREWIDTH Ignore character width + +=end original + + NORM_IGNORECASE 大文字と小文字を区別しない + NORM_IGNOREKANATYPE ひらがなとカタカナを区別しない + NORM_IGNORENONSPACE アクセント、付加記号、発音記号を無視する + NORM_IGNORESYMBOLS 記号を無視する + NORM_IGNOREWIDTH 文字列の幅を無視する + +=begin original + +The return value is the translated string. + +=end original + +戻り値は変換された文字列です。 + +=item GetLocaleInfo(LCID,LCTYPE) + +=begin original + +Retrieve locale setting LCTYPE from the locale specified by LCID. Use +LOCALE_NOUSEROVERRIDE | LCTYPE to always query the locale database. +Otherwise user changes to C<win.ini> through the windows control panel +take precedence when retrieving values for the system default locale. +See the documentation below for a list of valid LCTYPE values. + +=end original + +ロケール設定 LCTYPE を LCID で指定されたロケールから取り出します。 +ロケールデータベースに問い合わせるためには常に +LOCALE_NOUSEROVERRIDE | LCTYPEを使ってください。 +そうでなければ値を取り出す際に、Windows コントロールパネルを通じて +ユーザによる C<win.ini> に変更が、システムデフォルトロケールよりも +優先されます。 +下記の適切な LCTYPE 値のリストについての文章をご覧ください。 + +=begin original + +The return value is the contents of the requested locale setting. + +=end original + +戻り値は要求されたロケール設定の内容です。 + +=item GetStringType(LCID,TYPE,STR) + +=begin original + +Retrieve type information from locale LCID about each character in STR. +The requested TYPE can be one of the following 3 levels: + +=end original + +ロケール LCID から STR にある各文字についての型情報を取り出します。 +要求される TYPE は以下の三つのレベルのいずれかにすることができます: + +=begin original + + CT_CTYPE1 ANSI C and POSIX type information + CT_CTYPE2 Text layout type information + CT_CTYPE3 Text processing type information + +=end original + + CT_CTYPE1 ANSI C と POSIX 型情報 + CT_CTYPE2 テキストレイアウト型情報 + CT_CTYPE3 テキスト処理型情報 + +=begin original + +The return value is a list of values, each of wich is a bitwise OR of +the applicable type bits from the corresponding table below: + +=end original + +戻り値は、下記の対応テーブルからの適応できるタイプビットの OR による +値のリストです: + + @ct = GetStringType(LOCALE_SYSTEM_DEFAULT, CT_CTYPE1, "String"); + +=begin original + +ANSI C and POSIX character type information: + +=end original + +ANSI C と POSIX 文字型情報: + +=begin original + + C1_UPPER Uppercase + C1_LOWER Lowercase + C1_DIGIT Decimal digits + C1_SPACE Space characters + C1_PUNCT Punctuation + C1_CNTRL Control characters + C1_BLANK Blank characters + C1_XDIGIT Hexadecimal digits + C1_ALPHA Any letter + +=end original + + C1_UPPER 大文字 + C1_LOWER 小文字 + C1_DIGIT 数字 + C1_SPACE 空白文字 + C1_PUNCT 句読点 + C1_CNTRL 制御文字 + C1_BLANK 未定義文字 + C1_XDIGIT 16 進文字 + C1_ALPHA 任意の文字 + +=begin original + +Text layout type information: + +=end original + +テキストレイアウト型情報: + + C2_LEFTTORIGHT 左から右 + C2_RIGHTTOLEFT 右から左 + C2_EUROPENUMBER ヨーロッパの数字 + C2_EUROPESEPARATOR ヨーロッパの桁区切り記号 + C2_EUROPETERMINATOR ヨーロッパの数字終端記号 + C2_ARABICNUMBER アラビア数字 + C2_COMMONSEPARATOR 共通桁区切り記号 + C2_BLOCKSEPARATOR ブロック区切り記号 + C2_SEGMENTSEPARATOR セグメント区切り記号 + C2_WHITESPACE 空白 + C2_OTHERNEUTRAL その他の中間文字種 + C2_NOTAPPLICABLE 暗黙的な方向のない文字(制御コードなど) + +=begin original + +Text precessing type information: + +=end original + +テキスト処理型情報: + + C3_NONSPACING 非スペース文字 + C3_DIACRITIC 分音符 + C3_VOWELMARK 母音字 + C3_SYMBOL シンボル文字 + C3_KATAKANA カタカナ + C3_HIRAGANA ひらがな + C3_HALFWIDTH 半角文字 + C3_FULLWIDTH 全角文字 + C3_IDEOGRAPH 表意文字 + C3_ALPHA 任意の文字 + C3_NOTAPPLICABLE 適用されない文字 + + +=item GetSystemDefaultLangID() + +=begin original + +Returns the system default language identifier. + +=end original + +システムのデフォルト言語識別子を返します。 + +=item GetSystemDefaultLCID() + +=begin original + +Returns the system default locale identifier. + +=end original + +システムのデフォルトロケール識別子を返します。 + +=item GetUserDefaultLangID() + +=begin original + +Returns the user default language identifier. + +=end original + +ユーザのデフォルト言語識別子を返します。 + +=item GetUserDefaultLCID() + +=begin original + +Returns the user default locale identifier. + +=end original + +ユーザのデフォルト言語識別子を返します。 + +=item SendSettingChange() + +=begin original + +Sends a WM_SETTINGCHANGE message to all top level windows. + +=end original + +すべてのトップレベルウィンドウに WM_SETTINGCHANGE メッセージを送ります。 + +=item SetLocaleInfo(LCID, LCTYPE, LCDATA) + +=begin original + +Changes an item in the user override part of the locale setting LCID. +It doesn't change the system default database. The following LCTYPEs are +changeable: + +=end original + +ロケール設定 LCID のユーザ上書き部分での要素を変更します。 +システムデフォルトデータベースは変更しません。 +以下の LCTYPE が変更可能です: + + LOCALE_ICALENDARTYPE LOCALE_SDATE + LOCALE_ICURRDIGITS LOCALE_SDECIMAL + LOCALE_ICURRENCY LOCALE_SGROUPING + LOCALE_IDIGITS LOCALE_SLIST + LOCALE_IFIRSTDAYOFWEEK LOCALE_SLONGDATE + LOCALE_IFIRSTWEEKOFYEAR LOCALE_SMONDECIMALSEP + LOCALE_ILZERO LOCALE_SMONGROUPING + LOCALE_IMEASURE LOCALE_SMONTHOUSANDSEP + LOCALE_INEGCURR LOCALE_SNEGATIVESIGN + LOCALE_INEGNUMBER LOCALE_SPOSITIVESIGN + LOCALE_IPAPERSIZE LOCALE_SSHORTDATE + LOCALE_ITIME LOCALE_STHOUSAND + LOCALE_S1159 LOCALE_STIME + LOCALE_S2359 LOCALE_STIMEFORMAT + LOCALE_SCURRENCY LOCALE_SYEARMONTH + +=begin original + +You have to call SendSettingChange() to activate these changes for +subsequent Win32::OLE::Variant object formatting because the OLE +subsystem seems to cache locale information. + +=end original + +サブシステムはロケール情報をキャッシュしているようなので、後の +Win32::OLE::Variant オブジェクトの書式設定のために、これらの変更を +有効にするためには SendSettingChange() を呼び出さなければなりません。 + +=item MAKELANGID(LANG,SUBLANG) + +=begin original + +Creates a lnguage identifier from a primary language and a sublanguage. + +=end original + +プライマリ言語とサブ言語から言語識別子を作成します。 + +=item PRIMARYLANGID(LANGID) + +=begin original + +Retrieves the primary language from a language identifier. + +=end original + +言語識別子からプライマリ言語を取り出します。 + +=item SUBLANGID(LANGID) + +=begin original + +Retrieves the sublanguage from a language identifier. + +=end original + +言語識別子からサブ言語を取り出します。 + +=item MAKELCID(LANGID) + +=begin original + +Creates a locale identifies from a language identifier. + +=end original + +言語識別子からロケール識別子を作成します。 + +=item LANGIDFROMLCID(LCID) + +=begin original + +Retrieves a language identifier from a locale identifier. + +=end original + +ロケール識別子から言語識別子を取り出します。 + +=back + +=head2 Locale Types + +(ロケールタイプ) + +=over 8 + +=item LOCALE_ILANGUAGE + +=begin original + +The language identifier (in hex). + +=end original + +言語識別子 (16 進数)。 + +=item LOCALE_SLANGUAGE + +=begin original + +The localized name of the language. + +=end original + +ローカライズされた言語名。 + +=item LOCALE_SENGLANGUAGE + +=begin original + +The ISO Standard 639 English name of the language. + +=end original + +言語の ISO 標準 639 英語名。 + +=item LOCALE_SABBREVLANGNAME + +=begin original + +The three-letter abbreviated name of the language. The first two +letters are from the ISO Standard 639 language name abbreviation. The +third letter indicates the sublanguage type. + +=end original + +言語名の 3 文字の省略形。 +ISO 標準 639 の 2 文字の言語簡略名を使用します。 +3 番目の文字はサブ言語タイプを示します。 + +=item LOCALE_SNATIVELANGNAME + +=begin original + +The native name of the language. + +=end original + +言語のネイティブな名前。 + +=item LOCALE_ICOUNTRY + +=begin original + +The country code, which is based on international phone codes. + +=end original + +国際電話コードをベースとした国コード。 + +=item LOCALE_SCOUNTRY + +=begin original + +The localized name of the country. + +=end original + +国のローカライズドされた名前。 + +=item LOCALE_SENGCOUNTRY + +=begin original + +The English name of the country. + +=end original + +国の英語名。 + +=item LOCALE_SABBREVCTRYNAME + +=begin original + +The ISO Standard 3166 abbreviated name of the country. + +=end original + +国のISO 標準 3166 省略名。 + +=item LOCALE_SNATIVECTRYNAME + +=begin original + +The native name of the country. + +=end original + +国のネイティブな名前。 + +=item LOCALE_IDEFAULTLANGUAGE + +=begin original + +Language identifier for the principal language spoken in this +locale. + +=end original + +このロケールで話されている主要な言語のための言語識別子。 + +=item LOCALE_IDEFAULTCOUNTRY + +=begin original + +Country code for the principal country in this locale. + +=end original + +このロケールでの主要な国のための国コード。 + +=item LOCALE_IDEFAULTANSICODEPAGE + +=begin original + +The ANSI code page associated with this locale. Format: 4 Unicode +decimal digits plus a Unicode null terminator. + +=end original + +このロケールに関連付けられたANSIコードページ。 +書式: 4 Unicode 数字 プラス Unicode null 終端子。 + +=begin original + +XXX This should be translated by GetLocaleInfo. XXX + +=end original + +XXX これはGetLocaleInofoによって変換されるべきです XXX + +=item LOCALE_IDEFAULTCODEPAGE + +=begin original + +The OEM code page associated with the country. + +=end original + +国に関連付けれられた OEM コードページ。 + +=item LOCALE_SLIST + +=begin original + +Characters used to separate list items (often a comma). + +=end original + +リスト要素を区切るために使われる文字(よくカンマが使われる)。 + +=item LOCALE_IMEASURE + +=begin original + +Default measurement system: + +=end original + +デフォルトの計測方式: + +=begin original + + 0 metric system (S.I.) + 1 U.S. system + +=end original + + 0 メートル式 (SI 単位) + 1 アメリカ式 + +=item LOCALE_SDECIMAL + +=begin original + +Characters used for the decimal separator (often a dot). + +=end original + +小数点のための文字(よくピリオド点が使われる)。 + +=item LOCALE_STHOUSAND + +=begin original + +Characters used as the separator between groups of digits left of the decimal. + +=end original + +数値の左側の数字のグループの間を区切るために使われる文字(桁区切り文字)。 + +=item LOCALE_SGROUPING + +=begin original + +Sizes for each group of digits to the left of the decimal. An explicit +size is required for each group. Sizes are separated by semicolons. If +the last value is 0, the preceding value is repeated. To group +thousands, specify 3;0. + +=end original + +数字の左側の数字のグループの大きさ(区切る桁数)。 +各グループのために明確な大きさが必要とされます。 +大きさはセミコロンで区切られます。 +もし最後の値が 0 であれば、前の値が繰り返されます。 +1000 単位でグループにするには、3;0 を指定してください。 + +=item LOCALE_IDIGITS + +=begin original + +The number of fractional digits. + +=end original + +小数点以下の桁数。 + +=item LOCALE_ILZERO + +=begin original + +Whether to use leading zeros in decimal fields. A setting of 0 +means use no leading zeros; 1 means use leading zeros. + +=end original + +10 進数のフィールドで前に 0 をつけるかどうか。 +0 を設定すると 0 はつきません; 1 は 0 をつけます。 + +=item LOCALE_SNATIVEDIGITS + +=begin original + +The ten characters that are the native equivalent of the ASCII 0-9. + +=end original + +ASCII の 0-9 と等価なネイティブ 10 文字。 + +=item LOCALE_INEGNUMBER + +=begin original + +Negative number mode. + +=end original + +負の数値のモード。 + + 0 (1.1) + 1 -1.1 + 2 -1.1 + 3 1.1 + 4 1.1 + +=item LOCALE_SCURRENCY + +=begin original + +The string used as the local monetary symbol. + +=end original + +ローカルな通貨記号として使われる文字列。 + +=item LOCALE_SINTLSYMBOL + +=begin original + +Three characters of the International monetary symbol specified in ISO +4217, Codes for the Representation of Currencies and Funds, followed +by the character separating this string from the amount. + +=end original + +3 文字は ISO 4217 Codes for the Representation of Currency and Funds で +指定された国際通貨記号; その後にこの文字列と数量を区切る文字がつきます。 + +=item LOCALE_SMONDECIMALSEP + +=begin original + +Characters used for the monetary decimal separators. + +=end original + +通貨での小数を区切るために使われる文字。 + +=item LOCALE_SMONTHOUSANDSEP + +=begin original + +Characters used as monetary separator between groups of digits left of +the decimal. + +=end original + +通貨での数字の桁を区切るために使われる文字。 + +=item LOCALE_SMONGROUPING + +=begin original + +Sizes for each group of monetary digits to the left of the decimal. An +explicit size is needed for each group. Sizes are separated by +semicolons. If the last value is 0, the preceding value is +repeated. To group thousands, specify 3;0. + +=end original + +通貨での数字の桁を区切る桁数。 +各グループのために明確な大きさが必要とされます。 +大きさはセミコロンで区切られます。 +もし最後の値が 0 であれば、前の値が繰り返されます。 +1000 単位でグループにするには、3;0 を指定してください。 + +=item LOCALE_ICURRDIGITS + +=begin original + +Number of fractional digits for the local monetary format. + +=end original + +ローカルな通貨フォーマットのための小数点以下の桁数。 + +=item LOCALE_IINTLCURRDIGITS + +=begin original + +Number of fractional digits for the international monetary format. + +=end original + +国際通貨フォーマットのための小数点以下の桁数。 + +=item LOCALE_ICURRENCY + +=begin original + +Positive currency mode. + +=end original + +正の通貨モード。 + +=begin original + + 0 Prefix, no separation. + 1 Suffix, no separation. + 2 Prefix, 1-character separation. + 3 Suffix, 1-character separation. + +=end original + + 0 前に付ける、区切りなし + 1 後ろに付ける、区切りなし + 2 前に付ける、1 文字の区切り + 3 後ろに付ける、1 文字の区切り + +=item LOCALE_INEGCURR + +=begin original + +Negative currency mode. + +=end original + +負の通貨モード。 + +=begin original + + 0 ($1.1) + 1 -$1.1 + 2 $-1.1 + 3 $1.1- + 4 $(1.1$) + 5 -1.1$ + 6 1.1-$ + 7 1.1$- + 8 -1.1 $ (space before $) + 9 -$ 1.1 (space after $) + 10 1.1 $- (space before $) + +=end original + + 0 ($1.1) + 1 -$1.1 + 2 $-1.1 + 3 $1.1- + 4 $(1.1$) + 5 -1.1$ + 6 1.1-$ + 7 1.1$- + 8 -1.1 $ ($ の前に空白) + 9 -$ 1.1 ($ の後に空白) + 10 1.1 $- ($ の前に空白) + +=item LOCALE_ICALENDARTYPE + +=begin original + +The type of calendar currently in use. + +=end original + +現在使われているカレンダーの種類。 + +=begin original + + 1 Gregorian (as in U.S.) + 2 Gregorian (always English strings) + 3 Era: Year of the Emperor (Japan) + 4 Era: Year of the Republic of China + 5 Tangun Era (Korea) + +=end original + + 1 グレゴリオ歴 (アメリカでのような) + 2 グレゴリオ歴 (常に英語の文字列) + 3 元号: (日本) + 4 元号: 中華民国 + 5 檀紀 (朝鮮) + +=item LOCALE_IOPTIONALCALENDAR + +=begin original + +The additional calendar types available for this LCID. Can be a +null-separated list of all valid optional calendars. Value is +0 for "None available" or any of the LOCALE_ICALENDARTYPE settings. + +=end original + +この LCID で利用できる追加のカレンダーの種類。 +ヌルで区切ってオプションのカレンダがすべて入ったリストにすることができます。 +何もなければ値は 0、あるいは LOCALE_ICALENDARTYPE 文字列のいずれか。 + +=begin original + +XXX null separated list should be translated by GetLocaleInfo XXX + +=end original + +XXX ヌル区切りのリストはGetLocaleInfoで変換されるべき XXX + +=item LOCALE_SDATE + +=begin original + +Characters used for the date separator. + +=end original + +日付区切りに使われる文字。 + +=item LOCALE_STIME + +=begin original + +Characters used for the time separator. + +=end original + +時刻区切りに使われる文字。 + +=item LOCALE_STIMEFORMAT + +=begin original + +Time-formatting string. + +=end original + +時刻書式設定文字列。 + +=item LOCALE_SSHORTDATE + +=begin original + +Short Date_Time formatting strings for this locale. + +=end original + +このロケールでの短い日付時刻書式設定文字列。 + +=item LOCALE_SLONGDATE + +=begin original + +Long Date_Time formatting strings for this locale. + +=end original + +このロケールでの長い日付時刻書式設定文字列。 + +=item LOCALE_IDATE + +=begin original + +Short Date format-ordering specifier. + +=end original + +短い長い日付書式の順序指定子。 + +=begin original + + 0 Month - Day - Year + 1 Day - Month - Year + 2 Year - Month - Day + + +=end original + + 0 月 - 日 - 年 + 1 日 - 月 - 年 + 2 年 - 月 - 日 + +=item LOCALE_ILDATE + +=begin original + +Long Date format ordering specifier. Value can be any of the valid +LOCALE_IDATE settings. + +=end original + +長い日付書式の順序指定子。 +LOCALE_IDATE 設定のための適切な値のいずれにもすることができます。 + +=item LOCALE_ITIME + +=begin original + +Time format specifier. + +=end original + +時刻書式設定指定子。 + +=begin original + + 0 AM/PM 12-hour format. + 1 24-hour format. + +=end original + + 0 AM/PM 12 時間形式。 + 1 24 時間形式。 + +=item LOCALE_ITIMEMARKPOSN + +=begin original + +Whether the time marker string (AM|PM) precedes or follows the time +string. + +=end original + +時刻マーカー文字列 (AM|PM) が時刻文字列の前につくか後につくか。 + +=begin original + + 0 Suffix (9:15 AM). + 1 Prefix (AM 9:15). + +=end original + + 0 後ろにつく (9:15 AM). + 1 前に付く (AM 9:15). + +=item LOCALE_ICENTURY + +=begin original + +Whether to use full 4-digit century. + +=end original + +全 4 桁の年を使うかどうか。 + +=begin original + + 0 Two digit. + 1 Full century. + +=end original + + 0 2 桁。 + 1 年全体。 + +=item LOCALE_ITLZERO + +=begin original + +Whether to use leading zeros in time fields. + +=end original + +時刻フィールドで 0 が前につくかどうか。 + +=begin original + + 0 No leading zeros. + 1 Leading zeros for hours. + +=end original + + 0 前に 0 を付けません。 + 1 時フィールドの前に 0 を付けます。 + +=item LOCALE_IDAYLZERO + +=begin original + +Whether to use leading zeros in day fields. Values as for +LOCALE_ITLZERO. + +=end original + +日のフィールドで 0 をつけるかどうか。 +値は LOCALE_ITLZERO と同じ。 + +=item LOCALE_IMONLZERO + +=begin original + +Whether to use leading zeros in month fields. Values as for +LOCALE_ITLZERO. + +=end original + +月のフィールドで 0 をつけるかどうか。 +値は LOCALE_ITLZERO と同じ。 + +=item LOCALE_S1159 + +=begin original + +String for the AM designator. + +=end original + +午前を表すための文字列。 + +=item LOCALE_S2359 + +=begin original + +String for the PM designator. + +=end original + +午後を表すための文字列。 + +=item LOCALE_IFIRSTWEEKOFYEAR + +=begin original + +Specifies which week of the year is considered first. + +=end original + +その年のどの週を最初と考えるかを指定します。 + +=begin original + + 0 Week containing 1/1 is the first week of the year. + 1 First full week following 1/1is the first week of the year. + 2 First week with at least 4 days is the first week of the year. + +=end original + + 0 1/1 が含まれる週をその年の最初の週とします。 + 1 1/1 の後の完全な 1 週間をその年の最初の週とします。 + 2 少なくとも 4 日ある最初の週をその年の最初の週とします。 + +=item LOCALE_IFIRSTDAYOFWEEK + +=begin original + +Specifies the day considered first in the week. Value "0" means +SDAYNAME1 and value "6" means SDAYNAME7. + +=end original + +週の最初の日と考えられる日を指定します。 +値 "0" は SDAYNAME1 そして値 "6" は SDAYNAME7 を意味します。 + +=item LOCALE_SDAYNAME1 .. LOCALE_SDAYNAME7 + +=begin original + +Long name for Monday .. Sunday. + +=end original + +月曜日から日曜日のための長い名前。 + +=item LOCALE_SABBREVDAYNAME1 .. LOCALE_SABBREVDAYNAME7 + +=begin original + +Abbreviated name for Monday .. Sunday. + +=end original + +月曜日から日曜日のための省略名。 + +=item LOCALE_SMONTHNAME1 .. LOCALE_SMONTHNAME12 + +=begin original + +Long name for January .. December. + +=end original + +1 月から 12 月のための長い名前。 + +=item LOCALE_SMONTHNAME13 + +=begin original + +Native name for 13th month, if it exists. + +=end original + +もしあれば 13 番目の月のネイティブな名前。 + +=item LOCALE_SABBREVMONTHNAME1 .. LOCALE_SABBREVMONTHNAME12 + +=begin original + +Abbreviated name for January .. December. + +=end original + +1 月から 12 月のための省略名。 + +=item LOCALE_SABBREVMONTHNAME13 + +=begin original + +Native abbreviated name for 13th month, if it exists. + +=end original + +もしあれば 13 番目の月のネイティブな省略名。 + +=item LOCALE_SPOSITIVESIGN + +=begin original + +String value for the positive sign. + +=end original + +正の記号のための文字列。 + +=item LOCALE_SNEGATIVESIGN + +=begin original + +String value for the negative sign. + +=end original + +負の記号のための文字列。 + +=item LOCALE_IPOSSIGNPOSN + +=begin original + +Formatting index for positive values. + +=end original + +正の値のための書式インデックス。 + +=begin original + + 0 Parentheses surround the amount and the monetary symbol. + 1 The sign string precedes the amount and the monetary symbol. + 2 The sign string precedes the amount and the monetary symbol. + 3 The sign string precedes the amount and the monetary symbol. + 4 The sign string precedes the amount and the monetary symbol. + +=end original + + 0 通貨記号も含めた全体を括弧で囲みます。 + 1 符号文字列を全体と通貨記号の前につけます。 + 2 符号文字列を全体と通貨記号の後につけます。 + 3 符号文字列を通貨記号の前につけます。 + 4 符号文字列を通貨記号の後につけます。 + +=item LOCALE_INEGSIGNPOSN + +=begin original + +Formatting index for negative values. Values as for LOCALE_IPOSSIGNPOSN. + +=end original + +負の値のための書式インデックス。 +値は LOCALE_IPOSSIGNPOSN と同じ。 + +=item LOCALE_IPOSSYMPRECEDES + +=begin original + +If the monetary symbol precedes, 1. If it succeeds a positive amount, 0. + +=end original + +もし通貨記号が前につくのであれば 1。 +それが正の数値の後に続くのであれば 0。 + +=item LOCALE_IPOSSEPBYSPACE + +=begin original + +If the monetary symbol is separated by a space from a positive amount, +1. Otherwise, 0. + +=end original + +正の数値から空白によって区切られるのであれば 1。 +そうでなければ 0。 + +=item LOCALE_INEGSYMPRECEDES + +=begin original + +If the monetary symbol precedes, 1. If it succeeds a negative amount, 0. + +=end original + +もし通貨記号が前につくのであれば 1。 +それが負の数値の後に続くのであれば 0。 + +=item LOCALE_INEGSEPBYSPACE + +=begin original + +If the monetary symbol is separated by a space from a negative amount, +1. Otherwise, 0. + +=end original + +負の数値から空白によって区切られるのであれば 1。 +そうでなければ 0。 + +=back + +=head1 AUTHORS/COPYRIGHT + +=begin original + +This module is part of the Win32::OLE distribution. + +=end original + +このモジュールは Win32::OLE ディストリビューションの一部です。 + +=begin meta + +Translate: Hippo2000 <GCD00****@nifty*****> (0.14) +Update: SHIRAKATA Kentaro <argra****@ub32*****> (0.1502) +Status: completed + +=end meta + +=cut + Index: docs/modules/Win32-OLE-0.1502/Win32/OLE/Variant.pod diff -u /dev/null docs/modules/Win32-OLE-0.1502/Win32/OLE/Variant.pod:1.1 --- /dev/null Sun Sep 30 23:05:01 2012 +++ docs/modules/Win32-OLE-0.1502/Win32/OLE/Variant.pod Sun Sep 30 23:05:01 2012 @@ -0,0 +1,1129 @@ + +=encoding euc-jp + +=head1 NAME + +=begin original + +Win32::OLE::Variant - Create and modify OLE VARIANT variables + +=end original + +Win32::OLE::Variant - OLE バリアント変数の作成と変更 + +=head1 SYNOPSIS + + use Win32::OLE::Variant; + my $var = Variant(VT_DATE, 'Jan 1,1970'); + $OleObject->{value} = $var; + $OleObject->Method($var); + +=head1 DESCRIPTION + +=begin original + +The IDispatch interface used by the Perl OLE module uses a universal +argument type called VARIANT. This is basically an object containing +a data type and the actual data value. The data type is specified by +the VT_xxx constants. + +=end original + +Perl OLE モジュールによって使われる IDispatch インターフェースは +バリアント(VARIANT)と呼ばれる汎用的な引数型を使います。 +これは基本的にデータ型と実際のデータ値をもったオブジェクトです。 +データ型は VT_xxx 定数により指定されます。 + +=head2 Functions + +(関数) + +=over 8 + +=item nothing() + +=begin original + +The nothing() function returns an empty VT_DISPATCH variant. It can be +used to clear an object reference stored in a property + +=end original + +nothing() 関数は空の VT_DISPATCH 変数を返します。 +プロパティに格納されたオブジェクト参照をクリアするために使えます。 + + use Win32::OLE::Variant qw(:DEFAULT nothing); + # ... + $object->{Property} = nothing; + +=begin original + +This has the same effect as the Visual Basic statement + +=end original + +これは以下の Visual Basic ステートメントと同じ効果を持ちます。 + + Set object.Property = Nothing + +=begin original + +The nothing() function is B<not> exported by default. + +=end original + +nothing() はデフォルトではエクスポート B<されません>。 + +=item Variant(TYPE, DATA) + +=begin original + +This is just a function alias of the C<Win32::OLE::Variant->new()> +method (see below). This function is exported by default. + +=end original + +これは C<Win32::OLE::Variant->new()> メソッドの単なる別名関数です。 +(下記をご覧ください)この関数はデフォルトでエクスポートされます。 + +=back + +=head2 Methods + +(メソッド) + +=over 8 + +=item new(TYPE, DATA) + +=begin original + +This method returns a Win32::OLE::Variant object of the specified +TYPE that contains the given DATA. The Win32::OLE::Variant object +can be used to specify data types other than IV, NV or PV (which are +supported transparently). See L<Variants> below for details. + +=end original + +このメソッドは指定された TYPE の与えられた DATA をもった +Win32::OLE::Variant オブジェクトを返します。 +Win32::OLE::Variant オブジェクトは IV, NV, PV(これらは透過的に +サポートされています)以外のデータ型を指定するために使えます。 +詳細については下記の L</Variants> をご覧ください。 + +=begin original + +For VT_EMPTY and VT_NULL variants, the DATA argument may be omitted. +For all non-VT_ARRAY variants DATA specifies the initial value. + +=end original + +VT_EMPTY と VT_NULL バリアントについては、DATA 引数を省略することができます。 +すべての VT_ARRAY ではない variant については、DATA を初期値を指定します。 + +=begin original + +To create a SAFEARRAY variant, you have to specify the VT_ARRAY flag in +addition to the variant base type of the array elemnts. In this cases +DATA must be a list specifying the dimensions of the array. Each element +can be either an element count (indices 0 to count-1) or an array +reference pointing to the lower and upper array bounds of this dimension: + +=end original + +SAFEARRAY バリアントを作るためには、配列要素の基本型に加えて +VT_ARRAY フラグを指定する必要があります。 +この場合、DATA は配列を次元を指定するリストでなければなりません。 +各要素は要素数(0 から指定数 -1 を示します)またはこの次元での上限下限を +示す配列リファレンスのどちらかにすることができます: + + my $Array = Win32::OLE::Variant->new(VT_ARRAY|VT_R8, [1,2], 2); + +=begin original + +This creates a 2-dimensional SAFEARRAY of doubles with 4 elements: +(1,0), (1,1), (2,0) and (2,1). + +=end original + +これは double で四つの要素:((1,0), (1,1), (2,0), (2,1) をもった 2 次元の +SAFEARRAY を作成します。 + +=begin original + +A special case is the the creation of one-dimensional VT_UI1 arrays with +a string DATA argument: + +=end original + +特別なケースは、文字列 DATA 引数をもった 1 次元の VT_UI1 配列の作成です: + + my $String = Variant(VT_ARRAY|VT_UI1, "String"); + +=begin original + +This creates a 6 element character array initialized to "String". For +backward compatibility VT_UI1 with a string initializer automatically +implies VT_ARRAY. The next line is equivalent to the previous example: + +=end original + +これは "String" で初期化された六つの文字配列を作成します。 +後方互換性のため、文字列初期値をもった VT_UI1 は自動的に VT_ARRAY が +暗黙のうちに設定されます。 +次の行は前の例と同じです: + + my $String = Variant(VT_UI1, "String"); + +=begin original + +If you really need a single character VT_UI1 variant, you have to create +it using a numeric intializer: + +=end original + +本当に 1 文字 VT_UI1 バリアントが必要なのであれば、数値の初期値を使って +作らなければなりません: + + my $Char = Variant(VT_UI1, ord('A')); + +=item As(TYPE) + +=begin original + +C<As> converts the VARIANT to the new type before converting to a +Perl value. This take the current LCID setting into account. For +example a string might contain a ',' as the decimal point character. +Using C<$variant->As(VT_R8)> will correctly return the floating +point value. + +=end original + +C<As> は VARIANT を Perl の値に変換される前に新しい型に変換します。 +これは現在の LCID 設定も勘案します。 +例えばある文字列は小数点文字として ',' が入っているかもしれません。 +C<$variant->As(VT_R8)> を使うと浮動小数点値を返します。 + +=begin original + +The underlying variant object is NOT changed by this method. + +=end original + +元になるバリアントは、このメソッドによって変更されません。 + +=item ChangeType(TYPE) + +=begin original + +This method changes the type of the contained VARIANT in place. It +returns the object itself, not the converted value. + +=end original + +このメソッドは入っているバリアントの型をその場で変更します。 +変換された値ではなく、オブジェクトそれ自身を返します。 + +=item Copy([DIM]) + +=begin original + +This method creates a copy of the object. If the original variant had +the VT_BYREF bit set then the new object will contain a copy of the +referenced data and not a reference to the same old data. The new +object will not have the VT_BYREF bit set. + +=end original + +このメソッドはオブジェクトのコピーを作成します。 +元のバリアントの VT_BYREF ビットが設定されていれば、新しいオブジェクトは +同じ古いデータのリファレンスではなく参照されているデータのコピーを持ちます。 +新しいオブジェクトでは VT_BYREF ビットは設定されていません。 + + my $Var = Variant(VT_I4|VT_ARRAY|VT_BYREF, [1,5], 3); + my $Copy = $Var->Copy; + +=begin original + +The type of C<$Copy> is now VT_I4|VT_ARRAY and the value is a copy of +the other SAFEARRAY. Changes to elements of C<$Var> will not be reflected +in C<$Copy> and vice versa. + +=end original + +C<$Copy> の型は今や VT_I4|VT_ARRAY であり、値は他の SAFEARRAY のコピーです。 +C<$Var> の要素を変更しても C<$Copy> には反映されませんし、その逆でも同じです。 + +=begin original + +The C<Copy> method can also be used to extract a single element of a +VT_ARRAY | VT_VARIANT object. In this case the array indices must be +specified as a list DIM: + +=end original + +C<Copy> メソッドはVT_ARRAY | VT_VARIANT オブジェクトの一つの要素を +取り出すために使うこともできます。 +この場合、配列のインデックスはリスト DIM で指定されなければなりません: + + my $Int = $Var->Copy(1, 2); + +=begin original + +C<$Int> is now a VT_I4 Variant object containing the value of element (1,2). + +=end original + +C<$Int> は今や要素 (1,2) の値をもった VT_I4 バリアントオブジェクトです。 + +=item Currency([FORMAT[, LCID]]) + +=begin original + +This method converts the VARIANT value into a formatted curency string. The +FORMAT can be either an integer constant or a hash reference. Valid constants +are 0 and LOCALE_NOUSEROVERRIDE. You get the value of LOCALE_NOUSEROVERRIDE +from the Win32::OLE::NLS module: + +=end original + +このメソッドはバリアントの値を書式設定された通貨文字列に変換します。 +FORMAT は整数定数またはハッシュリファレンスのどちらかにすることができます。 +適切な定数は 0 と LOCALE_NOUSEROVERRIDE です。 +Win32::OLE::NLS モジュールから LOCALE_NOUSEROVERRIDE の値を取得できます: + + use Win32::OLE::NLS qw(:LOCALE); + +=begin original + +LOCALE_NOUSEROVERRIDE tells the method to use the system default currency +format for the specified locale, disregarding any changes that might have +been made through the control panel application. + +=end original + +LOCALE_NOUSEROVERRIDE は、コントロールパネルアプリケーションを通して +行われた変更をすべて無視しして、指定されたロケールのための +システムデフォルト通貨フォーマットを使うように指示します。 + +=begin original + +The hash reference could contain the following keys: + +=end original + +ハッシュリファレンスには以下のキーを入れることができます: + +=begin original + + NumDigits number of fractional digits + LeadingZero whether to use leading zeroes in decimal fields + Grouping size of each group of digits to the left of the decimal + DecimalSep decimal separator string + ThousandSep thousand separator string + NegativeOrder see L<Win32::OLE::NLS/LOCALE_ICURRENCY> + PositiveOrder see L<Win32::OLE::NLS/LOCALE_INEGCURR> + CurrencySymbol currency symbol string + +=end original + + NumDigits 小数の桁数 + LeadingZero 数値フィールドで前に 0 をつけるかどうか + Grouping 数字区切りの各グループの桁数 + DecimalSep 小数点文字列 + ThousandSep 桁区切り文字 + NegativeOrder L<Win32::OLE::NLS/LOCALE_ICURRENCY> を参照 + PositiveOrder L<Win32::OLE::NLS/LOCALE_INEGCURR> を参照 + CurrencySymbol 通貨記号 + +=begin original + +For example: + +=end original + +例えば: + + use Win32::OLE::Variant; + use Win32::OLE::NLS qw(:DEFAULT :LANG :SUBLANG :DATE :TIME); + my $lcidGerman = MAKELCID(MAKELANGID(LANG_GERMAN, SUBLANG_NEUTRAL)); + my $v = Variant(VT_CY, "-922337203685477.5808"); + print $v->Currency({CurrencySymbol => "Tuits"}, $lcidGerman), "\n"; + +=begin original + +will print: + +=end original + +以下のようになります: + + -922.337.203.685.477,58 Tuits + +=item Date([FORMAT[, LCID]]) + +=begin original + +Converts the VARIANT into a formatted date string. FORMAT can be either +one of the following integer constants or a format string: + +=end original + +バリアントを書式設定された日付文字列に変換します。 +FORMAT は以下の整数定数か書式設定文字列のどちらかにすることができます: + +=begin original + + LOCALE_NOUSEROVERRIDE system default date format for this locale + DATE_SHORTDATE use the short date format (default) + DATE_LONGDATE use the long date format + DATE_YEARMONTH use the year/month format + DATE_USE_ALT_CALENDAR use the alternate calendar, if one exists + DATE_LTRREADING left-to-right reading order layout + DATE_RTLREADING right-to left reading order layout + +=end original + + LOCALE_NOUSEROVERRIDE このロケールでのシステムデフォルト日付書式を使う + DATE_SHORTDATE 短い日付書式を使う (デフォルト) + DATE_LONGDATE 長い日付書式を使う + DATE_YEARMONTH 年/月 書式を使う + DATE_USE_ALT_CALENDAR もしあれば代替 カレンダーを使う + DATE_LTRREADING 左から右 読込順レイアウト + DATE_RTLREADING 右から左 読込順レイアウト + +=begin original + +The constants are available from the Win32::OLE::NLS module: + +=end original + +Win32::OLE::NLS モジュールから定数を利用できます: + + use Win32::OLE::NLS qw(:LOCALE :DATE); + +=begin original + +The following elements can be used to construct a date format string. +Characters must be specified exactly as given below (e.g. "dd" B<not> "DD"). +Spaces can be inserted anywhere between formating codes, other verbatim +text should be included in single quotes. + +=end original + +以下の要素を日付書式設定文字列を構成するために使えます。 +文字は正確に以下で示される通りに指定されなければなりません(例えば "dd" は +"DD" では B<ありません>)。 +書式コードの間のどこにでも空白を入れることができます。 +その他の、逐語的なテキストはシングルクォートに含まれなければなりません: + +=begin original + + d day of month + dd day of month with leading zero for single-digit days + ddd day of week: three-letter abbreviation (LOCALE_SABBREVDAYNAME) + dddd day of week: full name (LOCALE_SDAYNAME) + M month + MM month with leading zero for single-digit months + MMM month: three-letter abbreviation (LOCALE_SABBREVMONTHNAME) + MMMM month: full name (LOCALE_SMONTHNAME) + y year as last two digits + yy year as last two digits with leading zero for years less than 10 + yyyy year represented by full four digits + gg period/era string + +=end original + + d 日 + dd 日 (1 桁であれば前に 0 がつく) + ddd 曜日: 3 文字の省略名 (LOCALE_SABBREVDAYNAME) + dddd 曜日: フルネーム (LOCALE_SDAYNAME) + M 月 + MM 月 (1 桁であれば前に 0 がつく) + MMM 月: 3 文字の省略名 (LOCALE_SABBREVMONTHNAME) + MMMM 月: フルネーム (LOCALE_SMONTHNAME) + y 年 (最後の 2 桁) + yy 年 (最後の 2 桁; 10 よりも小さければ前に 0 がつく) + yyyy 年 (4 桁により表される) + gg 時代/年号 文字列 + +=begin original + +For example: + +=end original + +例えば: + + my $v = Variant(VT_DATE, "April 1 99"); + print $v->Date(DATE_LONGDATE), "\n"; + print $v->Date("ddd',' MMM dd yy"), "\n"; + +=begin original + +will print: + +=end original + +は以下のように出力します: + + Thursday, April 01, 1999 + Thu, Apr 01 99 + +=item Dim() + +=begin original + +Returns a list of array bounds for a VT_ARRAY variant. The list contains +an array reference for each dimension of the variant's SAFEARRAY. This +reference points to an array containing the lower and upper bounds for +this dimension. For example: + +=end original + +VT_ARRAY バリアントのための配列範囲を返します。 +リストにはバリアントの SAFEARRAY の各次元の配列リファレンスが入ります。 +このリファレンスはこの次元のための下限と上限が入った配列を示します。 +例えば: + + my @Dim = $Var->Dim; + +=begin original + +Now C<@Dim> contains the following list: C<([1,5], [0,2])>. + +=end original + +すると C<@Dim> には以下のリストが入ります: C<([1,5], [0,2])> + +=item Get(DIM) + +=begin original + +For normal variants C<Get> returns the value of the variant, just like the +C<Value> method. For VT_ARRAY variants C<Get> retrieves the value of a single +array element. In this case C<DIM> must be a list of array indices. E.g. + +=end original + +通常のバリアントでは C<Get> は C<Value> メソッドと全く同じように +バリアントの値を返します。 +VT_ARRAY バリアントでは C<Get> は一つの配列要素の値を取り出します。 +この場合、C<DIM> は配列インデックスのリストでなければなりません。 +例えば: + + my $Val = $Var->Get(2,0); + +=begin original + +As a special case for one dimensional VT_UI1|VT_ARRAY variants the C<Get> +method without arguments returns the character array as a Perl string. + +=end original + +1 次元の VT_UI1|VT_ARRAY バリアントの特別場合、引数のない C<Get> メソッドは +Perl 文字列として文字配列を返します: + + print $String->Get, "\n"; + +=item LastError() + +=begin original + +The use of the C<Win32::OLE::Variant->LastError()> method is deprecated. +Please use the C<Win32::OLE->LastError()> class method instead. + +=end original + +C<Win32::OLE::Variant->LastError()> メソッドを使うことは廃止予定です。 +代わりに C<Win32::OLE->LastError()> クラスメソッドを使ってください。 + +=item Number([FORMAT[, LCID]]) + +=begin original + +This method converts the VARIANT value into a formatted number string. The +FORMAT can be either an integer constant or a hash reference. Valid constants +are 0 and LOCALE_NOUSEROVERRIDE. You get the value of LOCALE_NOUSEROVERRIDE +from the Win32::OLE::NLS module: + +=end original + +このメソッドは VARIANT 値を書式化れた数字文字列に変換します。 +FORMAT は整数定数またはハッシュリファレンスのどちらかにすることができます。 +適切な定数は 0 と LOCALE_NOUSEROVERRIDE です。 +LOCALE_NOUSEROVERRIDE の値を Win32::OLE::NLS モジュールから +取得できます: + + use Win32::OLE::NLS qw(:LOCALE); + +=begin original + +LOCALE_NOUSEROVERRIDE tells the method to use the system default number +format for the specified locale, disregarding any changes that might have +been made through the control panel application. + +=end original + +LOCALE_NOUSEROVERRIDE はメソッドにコントロールパネルアプリケーションを +通してなされたかもしれない変更をすべて無視して、指定されたロケールのための +システムデフォルト数値書式を使うように指示します。 + +=begin original + +The hash reference could contain the following keys: + +=end original + +ハッシュリファレンスには以下のキーのものを入れることができます: + +=begin original + + NumDigits number of fractional digits + LeadingZero whether to use leading zeroes in decimal fields + Grouping size of each group of digits to the left of the decimal + DecimalSep decimal separator string + ThousandSep thousand separator string + NegativeOrder see L<Win32::OLE::NLS/LOCALE_INEGNUMBER> + +=end original + + NumDigits 小数の桁数 + LeadingZero 数値フィールドで前に 0 をつけるかどうか + Grouping 桁区切りの桁数 + DecimalSep 小数点の文字列 + ThousandSep 桁区切りの文字列 + NegativeOrder L<Win32::OLE::NLS/LOCALE_INEGNUMBER> を参照 + +=item Put(DIM, VALUE) + +=begin original + +The C<Put> method is used to assign a new value to a variant. The value will +be coerced into the current type of the variant. E.g.: + +=end original + +C<Put> メソッドはバリアントに新しい値を代入するために使われます。 +値はバリアントの現在の型に強制されます。 +例: + + my $Var = Variant(VT_I4, 42); + $Var->Put(3.1415); + +=begin original + +This changes the value of the variant to C<3> because the type is VT_I4. + +=end original + +型が VT_I4 なので、これはバリアントの値を C<3> に変更します。 + +=begin original + +For VT_ARRAY type variants the indices for each dimension of the contained +SAFEARRAY must be specified in front of the new value: + +=end original + +VT_ARRAY 型バリアントでは、SAFEARRAY に含まれている各次元のための +インデックスが当たらし値の前に指定されなければなりません: + + $Array->Put(1, 1, 2.7); + +=begin original + +It is also possible to assign values to *every* element of the SAFEARRAY at +once using a single Put() method call: + +=end original + +一度の Put() メソッド呼出しを使って SAFEARRAY の*各*要素に値を代入することも +可能です: + + $Array->Put([[1,2], [3,4]]); + +=begin original + +In this case the argument to Put() must be an array reference and the +dimensions of the Perl list-of-lists must match the dimensions of the +SAFEARRAY exactly. + +=end original + +この場合、Put() への引数は配列リファレンスで、Perl リストのリストの次元は +SAFEARRAY の次元と厳密にあっていなければなりません。 + +=begin original + +The are a few special cases for one-dimensional VT_UI1 arrays: The VALUE +can be specified as a string instead of a number. This will set the selected +character to the first character of the string or to '\0' if the string was +empty: + +=end original + +1 次元の VT_Ul1 配列のためにはいくつか特別なケースがあります: +VALUE は数値の代わりに文字列として指定することができます。 +これは選択された文字をその文字列の最初の文字に設定します。 +または文字列が空であれば '\0' にします: + + my $String = Variant(VT_UI1|VT_ARRAY, "ABCDE"); + $String->Put(1, "123"); + $String->Put(3, ord('Z')); + $String->Put(4, ''); + +=begin original + +This will set the value of C<$String> to C<"A1CZ\0">. If the index is omitted +then the string is copied to the value completely. The string is truncated +if it is longer than the size of the VT_UI1 array. The result will be padded +with '\0's if the string is shorter: + +=end original + +これは C<$String> の値を C<"A1CZ\0"> に設定します。 +もしインデックスが省略されると、文字列は完全に値へコピーされます。 +もし VT_UI1 配列の大きさよりも長ければ、その文字列は切り捨てられます。 +もし短ければ '\0' で埋められます。 + + $String->Put("String"); + +=begin original + +Now C<$String> contains the value "Strin". + +=end original + +$String には値 "Strin" が入ります。 + +=begin original + +C<Put> returns the Variant object itself so that multiple C<Put> calls can be +chained together: + +=end original + +C<Put> は Variant オブジェクトそのものを返します; +そのため複数の C<Put> 呼び出しをつなげて行えます: + + $Array->Put(0,0,$First_value)->Put(0,1,$Another_value); + +=item Time([FORMAT[, LCID]]) + +=begin original + +Converts the VARIANT into a formatted time string. FORMAT can be either +one of the following integer constants or a format string: + +=end original + +バリアントを書式化された時刻文字列に変換します。 +FORAMT は以下の整数定数か書式設定文字列のどちらかにすることができます: + +=begin original + + LOCALE_NOUSEROVERRIDE system default time format for this locale + TIME_NOMINUTESORSECONDS don't use minutes or seconds + TIME_NOSECONDS don't use seconds + TIME_NOTIMEMARKER don't use a time marker + TIME_FORCE24HOURFORMAT always use a 24-hour time format + +=end original + + LOCALE_NOUSEROVERRIDE このロケールでのシステムデフォルト時刻書式 + TIME_NOMINUTESORSECONDS 分または秒を使わない + TIME_NOSECONDS 秒を使わない + TIME_NOTIMEMARKER 時刻マーカーを使わない + TIME_FORCE24HOURFORMAT 常に 24 時間制の時刻フォーマットを使う + +=begin original + +The constants are available from the Win32::OLE::NLS module: + +=end original + +定数は Win32::OLE::NLS モジュールから利用できます: + + use Win32::OLE::NLS qw(:LOCALE :TIME); + +=begin original + +The following elements can be used to construct a time format string. +Characters must be specified exactly as given below (e.g. "dd" B<not> "DD"). +Spaces can be inserted anywhere between formating codes, other verbatim +text should be included in single quotes. + +=end original + +以下の要素を日付書式設定文字列を構成するために使えます。 +文字は正確に以下で示される通りに指定されなければなりません(例えば +"dd" は "DD" では B<ありません>)。 +書式コードの間のどこにでも空白を入れることができます。 +その他の、逐語的なテキストはシングルクォートに含まれなければなりません: + +=begin original + + h hours; 12-hour clock + hh hours with leading zero for single-digit hours; 12-hour clock + H hours; 24-hour clock + HH hours with leading zero for single-digit hours; 24-hour clock + m minutes + mm minutes with leading zero for single-digit minutes + s seconds + ss seconds with leading zero for single-digit seconds + t one character time marker string, such as A or P + tt multicharacter time marker string, such as AM or PM + +=end original + + h 時; 12 時間制 + hh 時; 1 桁であれば前に 0 がつく; 12 時間制 + H 時; 24 時間制 + HH 時; 1 桁であれば前に 0 がつく; 24 時間制 + m 分 + mm 分; 1 桁であれば前に 0 がつく + s 秒 + ss 秒; 1 桁であれば前に 0 がつく + t A や P のような 1 文字時刻マーカー文字列 + tt AM または PM のような複数文字時刻マーカー文字列 + +=begin original + +For example: + +=end original + +例えば: + + my $v = Variant(VT_DATE, "April 1 99 2:23 pm"); + print $v->Time, "\n"; + print $v->Time(TIME_FORCE24HOURFORMAT|TIME_NOTIMEMARKER), "\n"; + print $v->Time("hh.mm.ss tt"), "\n"; + +=begin original + +will print: + +=end original + +これは以下のように出力します: + + 2:23:00 PM + 14:23:00 + 02.23.00 PM + +=item Type() + +=begin original + +The C<Type> method returns the variant type of the contained VARIANT. + +=end original + +C<Type> メソッドは入っているバリアントのバリアント型を返します。 + +=item Unicode() + +=begin original + +The C<Unicode> method returns a C<Unicode::String> object. This contains +the BSTR value of the variant in network byte order. If the variant is +not currently in VT_BSTR format then a VT_BSTR copy will be produced first. + +=end original + +C<Unicode> メソッドは C<Unicode::String> オブジェクトを返します。 +これはネットワークバイト順でのバリアントの BSTR 値が入ります。 +もしバリアントが現在は VT_BSTR フォーマットでなければ、VT_BSTR への +コピーが先に作成されます。 + +=item Value() + +=begin original + +The C<Value> method returns the value of the VARIANT as a Perl value. The +conversion is performed in the same manner as all return values of +Win32::OLE method calls are converted. + +=end original + +C<Value> メソッドは Perl の値としてバリアントの値を返します。 +すべての Win32::OLE メソッドの値が変換されるのと同じ方法で変換されます。 + +=back + +=head2 Overloading + +(オーバーロード) + +=begin original + +The Win32::OLE::Variant package has overloaded the conversion to +string and number formats. Therefore variant objects can be used in +arithmetic and string operations without applying the C<Value> +method first. + +=end original + +Win32::OLE::Variant パッケージは文字列と数値書式の変換が +オーバーロードされています。 +このため Varinat オブジェクトは C<Value> メソッドを先に適用することなしに、 +算術と文字列操作で使えます。 + +=head2 Class Variables + +(クラス変数) + +=begin original + +The Win32::OLE::Variant class used to have its own set of class variables +like C<$CP>, C<$LCID> and C<$Warn>. In version 0.1003 and later of the +Win32::OLE module these variables have been eleminated. Now the settings +of Win32::OLE are used by the Win32::OLE::Variant module too. Please read +the documentation of the C<Win32::OLE->Option> class method. + +=end original + +Win32::OLE::Variant クラスは C<$CP>, C<$LCID>, C<$Warn> のような独自の +クラス変数の集合をもつようにしてきました。 +Win32::OLE モジュールのバージョン 0.1003 以降では、これらの変数は +削除されています。 +今では Win32::OLE の設定が Win32::OLE::Variant モジュールでも使われます。 +C<Win32::OLE->Option> クラスメソッドのドキュメントをお読みください。 + +=head2 Constants + +(定数) + +=begin original + +These constants are exported by default: + +=end original + +デフォルトで以下の定数がエクスポートされます: + + VT_EMPTY + VT_NULL + VT_I2 + VT_I4 + VT_R4 + VT_R8 + VT_CY + VT_DATE + VT_BSTR + VT_DISPATCH + VT_ERROR + VT_BOOL + VT_VARIANT + VT_UNKNOWN + VT_DECIMAL + VT_UI1 + + VT_ARRAY + VT_BYREF + +=begin original + +VT_DECIMAL is not on the official list of allowable OLE Automation +datatypes. But even Microsoft ADO seems to sometimes return values +of Recordset fields in VT_DECIMAL format. + +=end original + +VT_DECIMAL は公式な許可される OLE オートメーションデータ型のリストには +ありません。 +しかし Microsoft ADO でさえ、レコードセットフィールドの値を +VT_DECIMAL 形式で返しているようです。 + +=head2 Variants + +(バリアント) + +=begin original + +A Variant is a data type that is used to pass data between OLE +connections. + +=end original + +バリアント(Variant) は OLE 接続の間でデータを渡すために使われる +データ型です。 + +=begin original + +The default behavior is to convert each perl scalar variable into +an OLE Variant according to the internal perl representation. +The following type correspondence holds: + +=end original + +デフォルトの動きは各 Perl スカラ変数を内部の perl 表現に合わせて +OLE バリアントに変換します。 +以下の型対応が取られます: + + C type Perl type OLE type + ------ --------- -------- + int IV VT_I4 + double NV VT_R8 + char * PV VT_BSTR + void * ref to AV VT_ARRAY + ? undef VT_ERROR + ? Win32::OLE object VT_DISPATCH + +=begin original + +Note that VT_BSTR is a wide character or Unicode string. This presents a +problem if you want to pass in binary data as a parameter as 0x00 is +inserted between all the bytes in your data. The C<Variant()> method +provides a solution to this. With Variants the script writer can specify +the OLE variant type that the parameter should be converted to. Currently +supported types are: + +=end original + +VT_BSTR がワイド文字または Unicode 文字列であることに注意してください。 +これはパラメータとしてバイナリデータを渡そうとすると、データのすべての +バイトの間に 0x00 が挿入されるという問題を起こします。 +C<Variant()> メソッドはこれを解決する方法を提供します。 +Variant でスクリプトの作者は、そのパラメータが変換されるべき +OLE バリアント型を指定できます。 +現在は以下の型がサポートされています: + + VT_UI1 unsigned char + VT_I2 signed int (2 bytes) + VT_I4 signed int (4 bytes) + VT_R4 float (4 bytes) + VT_R8 float (8 bytes) + VT_DATE OLE Date + VT_BSTR OLE String + VT_CY OLE Currency + VT_BOOL OLE Boolean + +=begin original + +When VT_DATE and VT_CY objects are created, the input parameter is treated +as a Perl string type, which is then converted to VT_BSTR, and finally to +VT_DATE of VT_CY using the C<VariantChangeType()> OLE API function. +See L<Win32::OLE/EXAMPLES> for how these types can be used. + +=end original + +VT_DATE と VT_CY オブジェクトが作成されると、入力パラメータは +Perl 文字列型として扱われます。 +これは VT_BSTR に変換され、最後に C<VariantChangeType()> OLE API 関数を +使って VT_CY または VT_DATE に変換されます。 +これらがどのように使うことができるかについては、L<Win32::OLE/EXAMPLES> を +ご覧ください。 + +=head2 Variant arrays + +(バリアントの配列) + +=begin original + +A variant can not only contain a single value but also a multi-dimensional +array of values (called a SAFEARRAY). In this case the VT_ARRAY flag must +be added to the base variant type, e.g. C<VT_I4 | VT_ARRAY> for an array of +integers. The VT_EMPTY and VT_NULL types are invalid for SAFEARRAYs. It +is possible to create an array of variants: C<VT_VARIANT | VT_ARRAY>. In this +case each element of the array can have a different type (including VT_EMPTY +and VT_NULL). The elements of a VT_VARIANT SAFEARRAY cannot have either of the +VT_ARRAY or VT_BYREF flags set. + +=end original + +バリアントは一つの値を持つだけでなく、値の多次元配列ももつ事ができます +(SAFEARRAY と呼ばれます)。 +この場合、VT_ARRAY フラグが基本バリアント型に付与されなければなりません。 +例えば C<VT_I4|VT_ARRAY> は整数の配列です。 +VT_EMPTY と VT_NULL 型は SAFEARRAY には不正です。 +バリアントの配列を作成することも可能です: C<VT_VARIANT | VT_ARRAY>。 +この場合、配列の各要素を異なる型(VT_EMPTY と VT_NULL も含めて)に +することができます。 +VT_VARIANT SAFEARRAY の要素は VT_ARRAY または VT_BYREF のどちらのフラグも +設定できません。 + +=begin original + +The lower and upper bounds for each dimension can be specified separately. +They do not have to have all the same lower bound (unlike Perl's arrays). + +=end original + +各次元の上限、下限は個別に指定できます。 +(Perl の配列とは違って)すべてが同じ下限をもつ必要はありません。 + +=head2 Variants by reference + +(リファレンスによるバリアント) + +=begin original + +Some OLE servers expect parameters passed by reference so that they +can be changed in the method call. This allows methods to easily +return multiple values. There is preliminary support for this in +the Win32::OLE::Variant module: + +=end original + +いくつかの OLE サーバーは、メソッド呼出しの中で変更できるように、 +リファレンスによってパラメータが渡されることを期待します。 +これはメソッドに複数の値を戻すことを簡単にします。 +Win32::OLE::Variant モジュールでこれの予備的なサポートがされています: + + my $x = Variant(VT_I4|VT_BYREF, 0); + my $y = Variant(VT_I4|VT_BYREF, 0); + $Corel->GetSize($x, $y); + print "Size is $x by $y\n"; + +=begin original + +After the C<GetSize> method call C<$x> and C<$y> will be set to +the respective sizes. They will still be variants. In the print +statement the overloading converts them to string representation +automatically. + +=end original + +C<GetSize> メソッド呼出しの後、C<$x> と C<$y> は対応する大きさに +設定されます。 +これらはまだバリアントです。 +print ステートメントでは、オーバーロードがそれらを自動的に文字列表現に +変換します。 + +=begin original + +VT_BYREF is now supported for all variant types (including SAFEARRAYs). +It can also be used to pass an OLE object by reference: + +=end original + +VT_BYREF は今やすべてのバリアント型でサポートされています +(SAFEARRAY も含めて)。 +これは OLE オブジェクトをリファレンスで渡すためにも使われます: + + my $Results = $App->CreateResultsObject; + $Object->Method(Variant(VT_DISPATCH|VT_BYREF, $Results)); + +=head1 AUTHORS/COPYRIGHT + +=begin original + +This module is part of the Win32::OLE distribution. + +=end original + +このモジュールは Win32::OLE ディストリビューションの一部です。 + +=begin meta + +Translate: Hippo2000 <GCD00****@nifty*****> (0.14) +Update: SHIRAKATA Kentaro <argra****@ub32*****> (0.1502) +Status: completed + +=end meta + +=cut +