重要 : このイベントの期限が過ぎると、VBScript、Windows PowerShell、および Perl による解答がスクリプト センターで公開されます。 |
「True Type (TrueType フォントを調べる)」イベントの競技参加者は、Microsoft Windows システム レジストリから一連のキーを読み出すスクリプトを作成する必要があります。
| このイベントについて | |
| イベントのシナリオ | |
| エントリの提出方法 |
部門 | 初級 |
期限 | 2008 年 2 月 20 日 (水曜日) (8:00 AM PST) |
獲得ポイント | 10 |
このイベントに取り掛かる前に、思い出していただきたいことがあります。レジストリを操作するとシステムが正しく動作しなくなる危険性があることはご存知ですね? では、このイベントではいったい何をしようとしているのでしょうか。実は、レジストリを操作しようとしているのです。でも心配は無用です。レジストリに書き込み操作を行う必要はなく、レジストリの値をいくつか読み出すだけのことです。値を読み取るだけなので、システムが変更されることも、何らかの悪影響が生じることもありません。もちろん、このイベントに関する指示事項に正しく従っていただくことが大前提となりますが。
このイベントでは、どのフォントがコンピュータにインストールされているかを調べることになります。ヒントをお教えするなら、インストールされているフォントは、レジストリ内の HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion キーの下層に格納されています。ただし、あらゆるフォントの名前を読み出そうとしているわけではありません。このイベントで名前を読み出すのは、TrueType フォントだけです。では、TrueType フォントをそれ以外のフォントと区別するには、どうすればよいでしょうか。答えは簡単です。レジストリ内では、TrueType フォントの名前の直後にかっこで囲まれた TrueType のラベルが付いています。つまり、TrueType フォントはレジストリ内で次のように示されています。
Bauhaus 93 (TrueType)
このイベントでポイントを獲得するには、以下の情報を出力するスクリプトを作成する必要があります。
| • | コンピュータにインストールされているすべての TrueType フォントの名前 |
| • | コンピュータにインストールされている TrueType フォントの数 |
| • | コンピュータにインストールされているフォントの総数 |
これらの情報は、以下のような形式で出力する必要があります。
Lucida Bright (TrueType) Lucida Bright Demibold (TrueType) Lucida Bright Demibold Italic (TrueType) Lucida Bright Italic (TrueType) Lucida Calligraphy Italic (TrueType) Lucida Fax Regular (TrueType) TrueType: 419 Total: 451
スクリプトを完成したら、適切なリンクをクリックしてエントリを提出してください。
| • | |
| • | |
| • |
リンクをクリックしてもアドレス入力済みのメッセージが自動的に表示されない場合は、scripter@microsoft.com 宛てに電子メールを送信してください。このメールの件名は、「Beginner VBScript: Event 2」、「Beginner Windows PowerShell: Event 2」、「Beginner Perl: Event 2」のいずれかにしてください。
後は、メッセージの本文部分にコードを貼り付けて、電子メールを送信するだけで提出が完了します。以下の情報も、任意に含めることができます。
| • | Scripting Games ポイント リーダーに投稿するときに使用する自分の名前またはニックネーム。 |
| • | 自分が代表する国の名前。一般には、自分の出身国や自分が現在居住している国を意味しますが、そうでなくてもかまいません。自分が代表したい任意の国の名前を示すことができます。 |
| • | 自分が所属しているユーザー グループの名前。ユーザー グループで User Group Challenge に参加している場合は、グループ名を示す必要があります。 |
これらの項目は、電子メール本文の先頭に入力するだけでかまいません。これらの項目を電子メールの本文部分に入力した例を次に示します (この例では、VBScript 部門のエントリを提出する場合を想定しています)。
Ken Myer USA Northern Iowa User Group For i = 1 to 100 Wscript.Echo i Next