入力窓(Editable Text)

Cinderella/KeTCindyで使う入力窓(Editable Text)の作成方法と、 KeTJSで入力内容を取得・変更する関数をまとめています。

1. Editable Text の作成法

  1. Cinderella のメニューで 「モード」→「特別」→「文字列入力」 を選びます。
  2. 作成された入力窓に、初期文字列を入力します。
  3. 「要素を動かす」モードに戻します。
  4. 入力窓を Shift キーを押しながらクリックし、インスペクタで識別番号を確認します。
  5. 必要に応じて KeTCindy の Seteditable で表示文字列・文字サイズ・幅を設定します。
Seteditable(12, ["y=", "Size=18", "Width=200"]);

上の例は、識別番号12の入力窓について、表示文字列を y=、 文字サイズを18、幅を200に設定する例です。 数値の単位や細かな挙動は、使用中のKeTCindy/Cinderellaの版で確認してください。

2. 入力窓の位置

識別番号が12の入力窓は、Cindyscriptで Text12.xy を使って位置を指定できます。 例えば、座標を明示する場合は次のように書きます。

Text12.xy = [2, -3];

[2, -3] は座標の例です。実際に置きたい位置に合わせて値を変更してください。 入力窓の作成時に付いた識別番号と、スクリプト中の Text12 の番号を一致させます。

3. Textedit と Subsedit

Textedit(番号, デフォルト値) — 入力内容を取得

入力窓に入力された文字列を取得します。入力文字列に = が含まれる場合は、 原則として = の右側が返されます。入力が空の場合は、第2引数のデフォルト値が返されます。

str = Textedit(12, "x^2");

この例では、入力が空なら str に x^2 が入ります。

Subsedit(番号, 文字列) — 入力窓の内容を変更

指定した入力窓に文字列を設定します。入力内容をプログラムから初期化したり、 計算結果などを窓に表示したりするときに使います。

Subsedit(12, "x^2");
違い: Textedit は入力窓から文字列を読み取る関数、 Subsedit は入力窓へ文字列を書き込む関数です。 どちらも入力窓の識別番号を指定します。
注意: 入力窓を利用するときは、Cinderellaの画面上ではうまく動作しないことがあります。 作成したKeTCindyJSのHTMLファイルを開き、その画面で動作を確認してください。

4. サンプルファイル

下のリンクを右クリックして「リンク先のファイルを別名で保存」などを選ぶと、 各ファイルを個別にダウンロードできます。htmlファイルは,クリックで開きます。