コンピュータ名取得

【ご質問】
Curlアプレットから、クライアント端末のコンピュータ名を取得する方法はあるのでしょうか。

【回答】
標準APIを使った方法としては、get-from-host-environmentプロシージャで
“COMPUTERNAME”を取得する方法があります。

また、標準APIではありませんがspawn-host-shellを使ってWindowsコマンドの
hostnameを使用する方法もあります。
(この方法の場合は一瞬コマンドプロンプトが表示されます。)

以下のサンプルを参考にしてください。

{curl 6.0,7.0,8.0 applet}
{curl-file-attributes character-encoding = “shift-jis”}

{import * from CURL.RUNTIME.HOST-ENVIRONMENT}
{import * from CURL.RUNTIME.HOST-PROCESS}

{let cb1:CommandButton =
    {CommandButton label = “get-from-host-environmentを使用”,
        {on Action do
            let env:String = {get-from-host-environment “COMPUTERNAME”}
            {popup-message env}
        }
    }
}
{let cb2:CommandButton =
    {CommandButton label = “spawn-host-shellを使用”,
        {on Action do
            def host-process =
                {spawn-host-shell
                    read-stdout? = true,
                    read-stderr? = true,
                    “hostname”
                }
            {with-open-streams
                stream = {host-process.read-open-stdout
                             character-encoding = {get-character-encoding-by-name “shift-jis”}
                         } do
                {while not stream.end-of-stream? do
                    {popup-message {stream.read-line}}
                }
            }
        }
    }
}

{VBox
    spacing = 1cm,
    cb1,
    cb2
}

それぞれのプロシージャの詳細は、APIリファレンスの
[CURL.RUNTIME.HOST-ENVIRONMENT]-[get-from-host-environment]
の項と
[CURL.RUNTIME.HOST-PROCESS]-[spawn-host-shell]
の項をご参照ください。