「FAQ」カテゴリーアーカイブ

Curlに関するFAQのページです

アプレットで使用できるフォントの種類

【ご質問】
アプレット内で使用するフォントの種類は、クライアントに依存する形になりますか。

【回答】
クライアントPCにインストールされているフォントはほぼ全て使用することが出来ます。
又、アプレットで使用するフォントをクライアントPCにインストール或いは一時的にインストールすることも出来ます。

詳細は、APIリファレンスの
[CURL.GRAPHICS.FONT]-[install-font-on-client]
の項と
[CURL.GRAPHICS.FONT]-[install-font-temporarily-on-client]
の項をご参照ください。 

XMLのハンドリングについて

◆ご質問◆
XMLのハンドリングはどのように行うのでしょうか。

◆回答◆
SAXパーサー、若しくはWSDKを使用してデータを解析することが出来ます。

Curl開発者ガイドの
[Curlプロセス間のコミュニケーション]→[SAX XML インターフェイスの使用]
をご参照ください。

Curlの実行環境4.0からはSAXパーサのパフォーマンスが向上しています。

SOAPプロトコルについて

【ご質問】
SOAPプロトコルは使用可能でしょうか。

【回答】
SOAP1.1に対応した標準APIが用意されています。

詳細は、Curl開発者ガイドの
[外部リソースとの対話]-[SOAP インターフェイス]
の項をご参照ください。

オープンソースライブラリであるWSDKを利用するとさらに豊富な機能を使用出来ます。
WSDLファイルからCurlのオブジェクトに変換するツールなど豊富なAPIが用意されています。

WSDKのインストール方法は、以下をご参照ください。
http://developers.curlap.com/re-reference/25-data/107-wsdkweb-service-development-kit.html

RecordGridの複数行のコピーについて

【ご質問】
RecordGridにおいて、複数行のコピーと貼り付けは可能でしょうか。

【回答】
Curlのバージョン5.0以降から、RecordGrid上で表示されているデータは
マウス操作による行、列の選択はもちろん、任意の範囲選択も可能になり、
Ctrl+C キーでコピーして、Ctrl+V キーでペーストすることが可能になっています。
これらの操作はプログラムからでもコントロールすることが出来ます。

行・列の選択を行う際にはプロパティ
 record-selection-enabled?、column-selection-enabled?
がtrueである必要があります。また、複数行・複数列の選択を行う際には
 multiple-selection-enabled?
がtrueである必要があることにもご注意ください。

詳細は、Curl開発者ガイドの
[データの管理と表示]-[データ レコードとグリッド]
の項内の[データのコピーと貼り付け]の項をご参照ください。

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

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

{let people:RecordSet =
    {RecordSet
        {RecordFields
            {RecordField “First”, domain = String},
            {RecordField “Last”, domain = String},
            {RecordField “Age”, domain = int},
            {RecordField “Age2”, domain = int}
        },
        {RecordData First = “A”, Last = “AAA”, Age = 21, Age2 = 1},
        {RecordData First = “B”, Last = “BBB”, Age = 22, Age2 = 2},
        {RecordData First = “C”, Last = “CCC”, Age = 23, Age2 = 3},
        {RecordData First = “D”, Last = “DDD”, Age = 24, Age2 = 4},
        {RecordData First = “E”, Last = “EEE”, Age = 25, Age2 = 5},
        {RecordData First = “F”, Last = “FFF”, Age = 26, Age2 = 6},
        {RecordData First = “G”, Last = “GGG”, Age = 27, Age2 = 7},
        {RecordData First = “H”, Last = “HHH”, Age = 28, Age2 = 8},
        {RecordData First = “I”, Last = “III”, Age = 29, Age2 = 9},
        {RecordData First = “J”, Last = “JJJ”, Age = 30, Age2 = 10}
    }
}
{let rg:RecordGrid = {RecordGrid
                                 record-source = people,
                                 height = 8cm,
                                 width = 13cm
                             }
}
{let fr:Frame = {Frame}}
{let cb1:CommandButton = {CommandButton
                                            width = {make-elastic},
                                            label = “行(レコード)選択を無効化”,
                                            {on Action do
                                                {set rg.record-selection-enabled? = false}
                                                {fr.clear}
                                                {fr.add “行(レコード)選択を無効化しました”}
                                            }
                                        }
}
{let cb2:CommandButton = {CommandButton
                                            width = {make-elastic},
                                            label = “行(レコード)選択を有効化”,
                                            {on Action do
                                                {set rg.record-selection-enabled? = true}
                                                {fr.clear}
                                                {fr.add “行(レコード)選択を有効化しました”}
                                            }
                                        }
}

{VBox
    rg,
    {HBox
        cb1,
        cb2
    },
    {HBox
        {CommandButton
            width = {make-elastic},
            label = “3行目から5行目を選択”,
            {on Action do
                {rg.select-record-range 2, 4}
                {fr.clear}
                {fr.add “「コピー」ボタンを押してください”}
            }
        },
        {CommandButton
            width = {make-elastic},
            label = “コピー”,
            bound-command = {rg.get-command “copy”},
            {on Action do
                {fr.clear}
                {fr.add “下のTextAreaでCtrl+vで貼り付けてください”}
            }
        }
    },
    {TextArea height = 2cm},
    fr
}

 

DLLの利用について

◆ご質問◆
DLLを利用することは可能でしょうか。

◆回答◆
Curlの実行環境4.0以降の外部ライブラリAPIを使用することで、指紋認証、デバイスコントロールなどが
Curlのアプレットで利用できるようになります。

外部ライブラリを利用する場合、Curlアプレットの特権設定が必要です。

Curl開発者ガイドの
[基本概念 – ライブラリ]→[外部ライブラリ]
をご参照下さい。

P2Pについて

◆ご質問◆
CurlのプログラムでP2P技術の実装は出来るのでしょうか。

◆回答◆
Curlは高レベルの通信プロトコル(HTTP・HTTPS)によって実装したAPI以外に、
ソケットレベルの通信APIも用意されていますので、P2Pの実装が可能ですが、
そのようなアプレットを実行する時には特権の設定が必要になります。

Curl開発者ガイドの
[Curlプロセス間のコミュニケーション]→[ソケットの使用]の項を
ご参照ください。

Curlからexeファイルを起動するには

【ご質問】
Curlアプレットから、ローカルのexeを起動出来るのでしょうか。

【回答】
以下の標準APIを使用することで可能です。
 ・run-host-process
 ・run-host-shell
 ・spawn-host-process
 ・spawn-host-shell
上記APIを使用するためには特権が必要です。

詳細は、APIリファレンスの
[CURL.RUNTIME.HOST-PROCESS]
の項内にある各APIの項をご参照ください。
また以下のページも参考にして下さい。
http://developers.curlap.com/re-reference/19-others/49-command.html

※バージョン8では非同期ホストプロセス呼び出しAPIが追加されました。
spawn-host-process、spawn-host-shellの非同期バージョンである
async-spawn-host-process、async-spawn-host-shellが追加されました。
詳細は以下のページをご参照ください。
http://developers.curlap.com/re-reference/19-others/756-async-host-process.html

ActiveXの利用について

【ご質問】
ActiveXを利用することは可能でしょうか。

【回答】
可能です。
ただし、ActiveXオブジェクトの仕様に関しては、提供元にご確認ください。

詳細は、Curl開発者ガイドの
[グラフィカルユーザーインターフェース]→[ActiveX コントロール]
の項をご参照ください。

通信プロトコルについて

◆ご質問◆
http以外の通信プロトコルを使用することは可能でしょうか。

◆回答◆
HTTPSプロトコルが使用可能です。
HTTP/HTTPS以外にソケット通信APIも用意されています。

Curl開発者ガイドの以下の項をご参照ください。
  ・[外部リソースとの対話]→[Webサイトとの対話]→[Webサイトのファイルを読む]
  ・[Curlプロセス間のコミュニケーション]→[ソケットの使用]

印刷領域の設定

【ご質問】
Curlで印刷を行う場合、印刷領域を指定することはできるのでしょうか。

【回答】
Curlにはの印刷用のAPIとしてprint-graphicプロシージャがあります。

Curlのオブジェクトを印刷領域として印刷APIに渡し、印刷することになりますので、
印刷したいCurlオブジェクトを指定することにより自由に印刷領域を選択することができます。

詳細は、APIリファレンスの
[CURL.GUI.BASE]-[print-graphic]
の項をご参照ください。

RecordGridの属性を変更するには

【ご質問】
StyleSheet 、StyleRule 等で条件にもとづいてセルや文字の属性を変えることは可能でしょうか。

【回答】
セル内の文字の属性などをスタイルシートで変更することは可能です。

詳細は、Curl開発者ガイドの
[グラフィカルユーザーインターフェース]-[スタイルコントロール]-[スキンが適用された RecordGrid]
をご参照ください。

OCCアプリケーションで編集したオフラインデータの反映について

◆ご質問◆
OCCアプリケーションでオンライン時に取得したトランザクションデータをオフラインで編集し、
再度オンラインとなった際に、編集したデータを適切にマージする機能はCurlにはあるのでしょうか。

◆回答◆
残念ながらそのような機能は御座いません。

プログラム内で適切にマージする処理を記述しなければなりません。

日付の取得

【ご質問】
日付を取得する為の標準APIはあるのでしょうか。

【回答】
日付に関する操作を行うためのAPIとしてDateTimeがあります。

Curlの実行環境5.0以降であればグラフィカルなカレンダー表示や
カレンダーからの日付の取得を行うためのAPIとして
・CalendarControl
・DateField
があります。

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

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

{VBox
    spacing = 1cm,
    “現在日時は” &{DateTime} &“です。”,
    {CalendarControl},
    {DateField
        width = 5cm
    }
}
 

詳細は、Curl開発者ガイドの
[基本概念 – ライブラリ]-[日付と時刻ライブラリ]
の項と
[グラフィカル ユーザー インターフェイス]-[その他のコントロール]
の項内の[カレンダー コントロール]と[日付フィールド]の項をご参照ください。

また各APIの詳細は、APIリファレンスの
[CURL.LANGUAGE.DATE-TIME]-[DateTime]
[CURL.GUI.CONTROL-LOGICAL]-[CalendarControl]
[CURL.GUI.CONTROL-LOGICAL]-[DateField]
の項をそれぞれご参照ください。

印刷について

【ご質問】
帳票ツールを使わなくても、Curlで画面の印刷が出来るのでしょうか。

【回答】
Curlアプレット上で右クリックして表示されるメニュー内の「印刷」を
選択することでアプレット画面の印刷が実行出来ます。

また、標準APIのprint-graphicプロシージャを使用することで、
「画面全体の印刷」および「任意のグラフィカルオブジェクトの印刷」が可能です。

詳細は、Curl開発者ガイドの
[グラフィカル ユーザー インターフェイス]-[印刷]
の項と、APIリファレンスの
[CURL.GUI.BASE]-[print-graphic]
の項をご参照ください。

3Dグラフィックの作成

【ご質問】
2D,3Dを利用したグラフィックの作成などは可能でしょうか。

【回答】
Curl言語のグラフィックスとマルチメディア機能を利用して、
2D及び3Dのレンダリング、シーンの作成、イメージのフィルタリングなどが出来ます。

詳細は、Curl開発者ガイドの
[シェイプ(形状)]、[グラフ]、[グラフィックスとレンダリング]
の項をご参照ください。 

暗証番号等のマスク表示

◆ご質問◆
暗証番号等のマスク表示は可能ですしょうか。

◆回答◆
PasswordFieldクラスを使用することで可能です。

Curl開発者ガイドの
[グラフィカルユーザーインターフェイス]→[テキストコントロール]→[パスワードフィールド]の項を
ご参照ください。