【ご質問】
pcurlからその構成ファイルの抽出(復元)を行うツールなどは 存在するのでしょうか。
【回答】
pcurl化されたモジュールの復元を行うツールの提供は行っておりません。
Curlに関するFAQのページです
【ご質問】
pcurlからその構成ファイルの抽出(復元)を行うツールなどは 存在するのでしょうか。
【回答】
pcurl化されたモジュールの復元を行うツールの提供は行っておりません。
【ご質問】
新規ブラウザにPDFファイルを表示したいのですが、どのようにすればよいのでしょうか。
【回答】
pdfファイルを新しいブラウザで表示するには、{browse-url}メソッドを使用した
以下の手順が有効かと思います。
<手順>
1.{get-the-applet}プロシージャによって、現在のアプレットを取得する。
2.取得したアプレットの{browse-url}メソッドを使用し、target を “_blank”に設定する。
(新規ブラウザを表示させるため)
3.表示するpdfのurlを設定する。
詳細は以下のサンプルをご参照ください。
{curl 6.0,7.0,8.0 applet} {value |
また、APIリファレンスの
[CURL.ENGINE.APPLET]-[Applet]
の項内のメソッド[browse-url]の項もご参照ください。
以下のページも参考になると思いますのでご参照ください。
http://developers.curlap.com/faq/48-faq-specification/422-pdf.html
【ご質問】
RecordGridのfilter機能について、
英語の大文字、小文字を区別することは可能でしょうか。
【回答】
RecordFieldの宣言時にdomainを下記のように設定する事により、
filterで英語の大文字小文字を区別する事ができます。
{RecordField |
RecordFieldにおいて、domain = Stringと設定すると、
String の標準ドメインがStandardDateDomain クラスの既定の状態で作成されます。
StandardDateDomain クラスの既定では、ignore-case? = trueとなるため、
大文字と小文字が区別されません。
英語の大文字小文字を区別させる場合は、RecordFieldにおいて、
domain = {StandardStringDomain ignore-case? = false}
と明示的に設定する必要があります。
【ご質問】
Curlでローカルのpdfファイルを開きたいのですが、どのようにしたらよいのでしょうか。
【回答】
ファイルを指定したい場合は、”run-host-shell”を使用するのはいかがでしょうか。
詳細は以下のサンプルをご参照ください。
{curl 6.0,7.0,8.0 applet} {import * from CURL.RUNTIME.HOST-PROCESS} {value |
また、以下のページもご参照ください。
http://developers.curlap.com/faq/48-faq-specification/424-2010-10-28-06-16-02.html
【ご質問】
グラフを表示したところ右縦軸の目盛り表示が、
上から「2」「1.75」「1.5」「1.25」「1」「0.75」「0.5」「0.25」「0」となりました。
目盛りには整数値のみ表示することは可能でしょうか。
また、目盛り表示間隔を制御することは可能でしょうか。
【回答】
整数のみを表示するには、”tick-label-factory”で「1.75」などの少数値の場合は、
空文字を返すようにすることで実現可能です。。
また、目盛り間隔の表示は”tick-spacing-proc”で制御することが可能です。
詳細は以下のサンプルをご参照ください。
{curl 6.0,7.0,8.0 applet} {import * from CURL.GUI.CHARTS} {let records:RecordSet = {let chart:LayeredChart = ||====1.1、2.3などキリの悪い数字の場合は表示しない====== {VBox |
【ご質問】
SpinControlクラスを使用し、初期値1から0.001ずつインクリメントする場合、
「1.0009999999999999」と表示されてしまいます。
少数桁4桁以降の数値を四捨五入するロジックを入れる以外に、
自動で「1.001」と表現する方法はあるのでしょうか。
【回答】
SpinControlクラスにformat-specがございます。
これを使用すれば宜しいかと思います。
(実装例)
{SpinControl |
【ご質問】
DateTime型の変数に、特定の年月日時分秒ミリ秒を設定したいのですが、
DateTimeのコンストラクタにはミリ秒がないため設定できません。
DateTime のミリ秒はどのように設定すればよいのでしょうか。
【回答】
ミリ秒まで設定する場合は、以下のようにDateTimeを定義することで設定することができます。
<例>2008/11/17 12:15:54.123 を設定する {let date-time:DateTime = {DateTime |
【ご質問】
グリッド内のデータをリンクテキスト(ハイパーリンク)状態で表示することは可能でしょうか。
【回答】
グリッド内のデータをハイパーリンク表示にする方法として、
StandardRecordGridCellを使用してRecordGridのセルをカスタマイズする方法が考えられます。
詳細は以下のサンプルをご参照ください。
{curl 6.0,7.0,8.0 applet} {define-class public NewCell {inherits StandardRecordGridCell} field private frame:Frame = {method public open {refresh-data}:void {let people:RecordSet = {value |
RecordGridCell内にリンクを置く場合、独立したActiveTraversalContainerを使用します。
そのため、active-traversal-containerプロパティを
StandardActiveTraversalContainerのインスタンス、もしくはnullに設定する必要があります。
(サンプルではFrameにlinkテキストプロシージャが含まれているため、
Frameの引数に「active-traversal-container = null」を渡しています。)
【ご質問】
独立型アプレットの画面位置を移動不可にする為、ウインドウのタイトルバーを
非表示にしたいのですが、そのようなことは可能でしょうか。
【回答】
独立型アプレット内で使用されるViewクラス内で、
decorations?プロパティをfalseに設定することによって、
ウインドウのタイトルバーを非表示にすることが可能です。
ただし、非特権アプレットの場合、
decorations?プロパティをfalseに設定するとエラーとなり、
ウインドウのタイトルバーを非表示にすることはできません。
詳細は以下のサンプルをご参照ください。
{curl 6.0,7.0,8.0 applet} {View |
また、APIリファレンスの
[CURL.GUI.BASE]-[View]
の項内のコンストラクタ[default]の項をご参照ください。
◆ご質問◆
tab-indexを明示的に設定せずに画面を作成しています。
画面上に配置したコントロールのTab遷移順はどのようにして取得することができるのでしょうか。
◆回答◆
StandardActiveTraversalContainerクラスの”get-sorted-traversors(メソッド)”を使用することにより、
タブ遷移の順序を知ることができます。
“get-sorted-traversors(メソッド)”はタブ遷移順にソートされたActiveTraversor配列を返します。
このメソッドを使用するには、コントロールを含むメイン画面のクラスが
StandardActiveTraversalContainerクラスである必要があります。
メイン画面がStandardActiveTraversalContainerクラスではない場合は、
メイン画面のクラスをStandardActiveTraversalContainerクラスで包む必要があります。
詳細はサンプルをご参照ください。
【ご質問】
RecordGridの列見出しをクリックすると、その列の定義に応じてソートされる機能が
標準で搭載されていますが、このソートを解除する機能はあるのでしょうか。
【回答】
一度設定されたRecordGridのソートを解除するには、
RecordGrid.sortの設定をnullに設定した後リロードすることで実現可能です。
詳細は以下のサンプルをご参照ください。
{curl 6.0,7.0,8.0 applet} {let people:RecordSet = {let rg:RecordGrid = {value |
【ご質問】
DateTime型を「09/Mar/2009」のような形式に変換することは可能でしょうか。
DateTimeFormatter.short-month-namesを使えばできそうなのですが、
上記形式に変換することができませんでした。
【回答】
formatマクロにある”%m”引数を使用すれば、
DateTimeFormatterオブジェクトを使って、DateTimeオブジェクトをフォーマットすることができます。
しかし、その場合どのような形式でフォーマットするかはDateTimeFormatterで可能な範囲となってしまうため、
要求の「09/Mar/2009」という形式にはフォーマットできません。
そのため、上記形式で表示させるには、文字列解析のような処理をする必要になるかと思います。
詳細は以下のサンプルをご参照ください。
{curl 6.0,7.0,8.0 applet} {import * from CURL.LANGUAGE.FORMAT} {value {Table columns = 2, “format マクロ使用”, {format “%m”, formatter, date-time}, “format マクロ使用だが事実上文字列解析”, |
【ご質問】
LayeredChartで表示されるY軸はデフォルトでは左下が起点となっていますが、
左上に変更することは可能でしょうか。
Y軸の値の順序を上から下に並べ替えたいと思っています。
【回答】
LayeredChartで軸に表示されている目盛りの値の順番を変える方法として、
表を回転させる方法が考えられます。
まず、”right-axis-parent”および”bottom-axis-parent”の表示ラベルを180度回転させます。
さらに、LayeredChartクラスに対して180度回転させることで実現可能です。
詳細は以下のサンプルをご参照ください。
{curl 6.0,7.0,8.0 applet} {import * from CURL.GUI.CHARTS} {let record-set:RecordSet = ||レコードを降順にソートする。 {let bar-layer:BarLayer = {let chart:LayeredChart = ||表全体を180度回転させる {View |
【ご質問】
グラフについて、凡例のcaptionのみを変更する方法はありますか。
【回答】
legend-entry-factoryを使用する事で、凡例のcaptionの変更が行えます。
詳細は以下のサンプルをご参照ください。
{curl 6.0,7.0,8.0 applet} {import * from CURL.GUI.CHARTS} {let record-set:RecordSet = {let chart:LayeredChart = {View |
【ご質問】
このFAQはWindows2000上にCDEをインストールする際の問題です。
Curl CDEの導入がうまくいきません。
説明に従いインストールを進めていくと
Installing feature files: CurlInstallHandler.jar
の段階で
「IDE/RTEのインストールが成功していないので、CDEプラグインのインストールをキャンセルしています。」
というメッセージが出力され、インストールが中断してしまいます。
【回答】
この問題はCDEのインストール時に使用するレジストリを確認するためのツールが
Windows2000には存在しないために発生しています。
(通常のWindows2000ではこのツールはインストールされていません。)
Windows2000でCDEを使用する場合は、以下のサイトの記述を参考に必要なツール
(Windows 2000 サポート ツール)をインストールして頂く必要があります。
「Windows 2000 サポート ツールを Windows 2000 Server ベースのコンピュータにインストールする方法」
http://support.microsoft.com/kb/301423/ja
【ご質問】
PC起動時にCurlを起動させることは可能でしょうか。
【回答】
PC起動時にCurl RTEを同時に起動させるためにはWindowsであれば
スタートアップに追加する事で可能です。
ただしCurl RTEのみを起動させた場合、アプレットが実行されていないと
60秒後にCurl RTEは自動終了します。
※この時間を任意の時間に変更することはできません。
Curl IDEを同時に起動させておくとCurl RTEが自動的に終了する事はありません。
もし、Curl IDEを起動させずにCurl RTEのみを起動した状態にしたい場合は、
PC起動時にGUIを持たない空の独立型アプレットを起動させるようにしてください。
→例えば以下の様にヘラルドだけ記述された独立型アプレット(.dcurlファイル)でかまいません。
{curl 5.0,6.0,7.0 applet} |
※上記記載内容はCurlバージョン7までにおけるものです。
バージョン8からCurlコントロールパネル内に追加された
「RTEがシステムスタートアップ時に起動され、主導でシャットダウンされるまで実行される。」
を有効にすることでCurlを自動起動することが出来ます。
以下のページをご参照ください。
http://developers.curlap.com/re-reference/19-others/743-startup.html
【ご質問】
RecordGridのある行のテキスト色・背景色を変更した場合に、
スクロールバーを上下させると、異なる行の色が変わってしまいます。
どのようにすれば特定行のみ変更されるのでしょうか。
【回答】
APIリファレンスの[CURL.GUI.CONTROL-LOGICAL]-[RecordGridUI]
の項内のメソッド[get-cell-at-index]の項にも記述されていますように、
セルは使い回しが行われます。
そのため、特定行のセルを変化させたつもりでも、セルが使い回されるため
何か操作した際(スクロールバーの移動等)に別のデータを表示することとなり、
別のデータの色が変化してしまうことがあります。
カスタムセルを使用することで、今回の現象を解決することができます。
詳細は以下のサンプルをご参照ください。
{curl 6.0,7.0,8.0 applet} {define-class public ControlCell {inherits StandardStringCell} {constructor public {default} {if rec == self.record then {let data:RecordSet = {let grid:RecordGrid = {let no:int = 1} || 色変更ボタン {View |
また、Curl開発者ガイドの
[データの管理と表示]-[データ レコードとグリッド]-[カスタム セルの作成]
の項をご参照ください。
【ご質問】
“note-grid-focus-out”メソッドを用いて、セルに入力された値をチェックした際にエラーだった場合、
フォーカスを「エラーのあったセル」に設定したいのですが、どうすればよいのでしょうか。
【回答】
チェック後にafterマクロを使用してbecome-activeメソッドを呼び出すことで実現可能です。
詳細は以下のサンプルをご参照ください。
{curl 6.0,7.0,8.0 applet} {def grid = {define-class public MaxCharChangeableCell {inherits StandardStringCell} {constructor public {default …} {View |
【ご質問】
Recordのあるフィールドの値をもとに、別フィールドの最大入力桁数を制御したいのですが可能でしょうか。
【回答】
カスタムセルを使用し、「refresh-data (メソッド)」内で制御処理を行うことで実現可能です。
詳細は以下のサンプルをご参照ください。
{curl 6.0,7.0,8.0 applet} {def grid = {define-class public MaxCharChangeableCell {inherits StandardStringCell} {method public {refresh-data}:void } {View |
【ご質問】
カンマ区切りで表示しているセルに対して、値を変更させても初期値に戻ってしまいます。
カンマが付加された状態で、値の変更を行うことは可能でしょうか。
【回答】
RecordGridのローカルオプション”parse-spec”を使用し、値の設定を行うことで実現可能です。
詳細は以下のサンプルをご参照ください。
{curl 6.0,7.0,8.0 applet} {import * from CURL.LANGUAGE.FORMAT} {let sample:RecordSet = {let rg:RecordGrid = {value rg} |
また、APIリファレンスの
[CURL.GUI.CONTROL-LOGICAL]-[RecordGridOptions]
の項内のプロパティ[parse-spec]の項をご参照ください。