|
|
|
ほとんどの機能を何の初期化も記述する事なくダイレクトにやりたい事を記述する事が可能です。
例えば、グラフィックであればいきなり円や矩形を書いたり、画像ファイルを指定位置に表示したりできます。
Capital がユーザーに代わって複雑な初期化を全て自動的に行うからです。
よって、非常に小さな労力で目的のソフトウェアを制作する事が可能です。
|
ユーザー・インタフェース・リソースの扱いが簡単です
|
使用するリソースを1行ごとに記述します。ボタン、エディットボックス、リストボックス、
チェックボックス、ラジオボタン、コンボボックス、トラックバー、スクロールバーなどが利用できます。
また、これらのリソースは実行中にAPIで位置や大きさを変更したり、表示・非表示を切り替えたりできます。
<ソーススクリプトの例>
MakeButton BTN1 0,0,100,60,"ボタン1"
MakeEditBox EDTBOX1 100,0,300,60
MakeListBox ListBOX1 0,80,400,220
:Initial
CALL SetWindowText "sample program"
CALL SetWindowSize 400, 320
EDTBOX1 = "エディットボックス"
CALL LoadListBox ListBOXA, "都市名.txt"
ENDP
|
上記の例では、ボタンとエディットボックス、
リストボックスを定義しています。
|
実行
|
|
ユーザーインタフェースの操作(ボタンの押下、リストボックスのセレクト、等)や
周期タイマーの発生、通信におけるデータ受信、マウスやキーボードの操作、録音や再生の終了などの
イベントが発生すると該当のラベル(プログラム実行位置)が実行されます。
|
<イベント発生時の動作を記述するソーススクリプトの例>
ボタンが押下された場合の実行位置
On BTN1
ここにボタンが押された場合の処理を記述します。
ENDP
|
タイマーイベントが発生した場合の実行位置
On Timer1
ここにタイマーイベントが発生した場合の処理を記述します。
ENDP
|
|
変数とリソース間や、リソース間において代入文(**=**)で簡単にデータ転送が行えます。
簡単に記述できる事でプログラムの記述行数を抑える事ができます。
※ UI (ユーザーインタフェース)はエディットボックスや
リストボックスなどです。
|
<変数とリソース間のデータ転送のソーススクリプトの例>
EditBOX1 = str1 // 変数str1の内容をエディットボックスに転送
EditBOX2 = EditBOX1 // エディットボックスから別のエディットボックスへ
ComPort1 = str1 // 変数str1の内容を通信ポートで送信
ComPort1 = str1 + "¥r¥n" // 改行コードを付けて送信
EditBOX2 = str1 + " [" + EditBOX1 + "]" // 文字列の連結も可能です
EditBOX2 += "[" + str1 + "]¥r¥n" // "+=" を使うと追記になります
|
|
その他の機能
・プリプロセッサ処理(#include、#if、#define、他)
・条件分岐、ループ(ネスト深さ制限:100)
・サブルーチンコール(深い呼び出しの中で一気にシステムへ戻るダイレクトリターン命令有り)
・動的APIコール(文字列情報をAPIコールとして扱う)
・デバッグ機能(ステップ実行、ブレークポイント、変数モディファイ、クイックウォッチ)
|