qa_automatic_line_break
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン | |||
| qa_automatic_line_break [2020/12/11 22:25] – klab | qa_automatic_line_break [2020/12/11 22:28] (現在) – [1.テキストエリアオブジェクトへの命令の定義を追加する] klab | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | # テキストエリアオブジェクトに、指定した文字数で改行して表示する命令を追加する | ||
| + | 現時点のドリトルでは、文字を表示するGUIオブジェクトにおいて指定文字数での自動改行に対応していません。 | ||
| + | ここでは、暫定的な対応として、テキストエリアオブジェクトを拡張して指定文字数での自動改行機能を持つ命令**「入力」**を追加してみます。 | ||
| + | なお、ここで作る命令は、追記ではなく上書きで文字を表示するようにしています。 | ||
| + | |||
| + | |||
| + | ## 1.テキストエリアオブジェクトへの命令の定義を追加する | ||
| + | プログラムの冒頭に、以下のプログラムをコピペしてください。 | ||
| + | < | ||
| + | //////////////// | ||
| + | テキストエリア:__maxLLen=" | ||
| + | テキストエリア:改行位置=「|num; | ||
| + | tmp=" | ||
| + | 「tmp = tmp +" | ||
| + | self: | ||
| + | |||
| + | self」。 | ||
| + | |||
| + | テキストエリア:入力=「|str| | ||
| + | 改行コード=(0x0d!コード文字)+(0x0a!コード文字)。 | ||
| + | 結果=(str)!(self: | ||
| + | self!(結果)上書き。 | ||
| + | self」。 | ||
| + | //////////////// | ||
| + | </ | ||
| + | |||
| + | ## 2.テキストオブジェクトを作る。 | ||
| + | 通常と同じようにテキストオブジェクトを作成します。 | ||
| + | < | ||
| + | 表示=テキストオブジェクト!作る。 | ||
| + | </ | ||
| + | |||
| + | ## 3.改行文字数を指定する。 | ||
| + | 実際にテキストエリアに文字を表示させる命令(=「入力」の命令)を実行するよりも前に、テキストエリアオブジェクトに対して「改行位置」の命令で改行文字数を指定します。以下は20文字で改行する指定をした場合の例です。 | ||
| + | |||
| + | < | ||
| + | 表示!20 改行位置。 // | ||
| + | </ | ||
| + | |||
| + | ## 3.文字の表示を指示する | ||
| + | 「書く(上書き)」の代わりに、「1.」で作った自動改行機能付きの命令「入力」を用いて、文字の表示を指示します。 | ||
| + | < | ||
| + | 表示!”aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”入力。 | ||
| + | </ | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | |||
| + | ##4. 1~3までのプログラム例 | ||
| + | < | ||
| + | //////////////// | ||
| + | テキストエリア:__maxLLen=" | ||
| + | テキストエリア:改行位置=「|num; | ||
| + | tmp=" | ||
| + | 「tmp = tmp +" | ||
| + | self: | ||
| + | |||
| + | self」。 | ||
| + | |||
| + | テキストエリア:入力=「|str| | ||
| + | 改行コード=(0x0d!コード文字)+(0x0a!コード文字)。 | ||
| + | 結果=(str)!(self: | ||
| + | self!(結果)上書き。 | ||
| + | self」。 | ||
| + | //////////////// | ||
| + | |||
| + | |||
| + | 表示=テキストエリア!作る。 | ||
| + | 表示!20 改行位置。 // | ||
| + | 表示!”aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”入力。 | ||
| + | </ | ||
| + | |||
| + | |||
| + | ## 授業にて簡便に利用するために | ||
| + | 「1.」の記述をコピペさせることが難しいと考えておられる場合は、「1.」の内容を「テキストエリア拡張.ini」という名前のテキストファイルで保存してdolittle.jar(dolittle.bat)と同じフォルダ上に置くことで、生徒は以下の記述で、追加した命令を使うことができるようになります。 | ||
| + | |||
| + | <color # | ||
| + | 正式な対応となった場合には、機能が衝突して問題を起こす場合などがありますので、iniファイルは削除するようにしてください。</ | ||
| + | |||
| + | < | ||
| + | システム!" | ||
| + | 表示=テキストエリア!作る。 | ||
| + | 表示!20 改行位置。 | ||
| + | 表示!”aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa”入力。 | ||
| + | |||
| + | </ | ||
| + | |||
| + | ##注意 | ||
| + | 表示を行う際に文字処理を行うため、パソコンの性能によっては、動作が重くなる場合があります。 | ||
