<TOFFY>ヘルプ目次

  ＦillyタイトルジェネレーターTOFFY Ver.1.30 ヘルプ目次

  ご使用の前に．．．

 TOFFYってなに？

 利用条件等

  使い方

 TOFFYの操作方法

  TOFFYシナリオ

 TOFFYシナリオ入門

 TOFFYシナリオの仕様

  その他

 Fillyインストーラの設定方法

 ヒストリ

 謝辞

 余談


Fillyインストーラの設定方法

Fillyシステムには専用のインストーラー「INST.EXE」があり、これを用いることでFilly本体、Fillyタイトルで統一したインターフェースを提供することになります。Fillyタイトル作成の際にはタイトル用アイコン、インストール設定ファイルを用意してみてください。

 アイコン

アイコンはWindowsに付いてくるアイコンエディタを使って作ってみてください。ファイル形式は特別なものでなくて一般の.icoファイルです。

 インストール設定ファイル

「install.ins」というファイルにタイトルに必要なファイル名、タイトルが格納されるサブディレクトリの名前等を記述します。フォーマットは以下のようなテキストファイルです。基本的に[]でくくられたセクション名に続くエントリの羅列によって構成されています。普通の「.ini」ファイルと同様のフォーマットです。なお、かっくらさん作のFILINS (FFILLY LIB 17 #27)を利用すると自動で作成してくれるので便利です。

[Title]

Title1=インストールするタイトルのセクション名（適当なもので結構ですが、「system」は使わないでください）

group=プログラムマネージャに作るグループ名

[インストールするタイトルのセクション名]

Directory=タイトルを格納するサブディレクトリ名

TitleName=タイトル名

File1=タイトルに必要なファイル名その１

File2=タイトルに必要なファイル名その２

　：

　：

[.filファイル名]

ItemName=プログラムマネージャでアイコンの下にでる名前

Icon=アイコンファイル名

例えば、「夢の紙芝居」というFillyタイトルを作ったとします。これに必要なファイルは、yume.fil, yume.tfy, yume.mid, yume1.bmpの４つとします。アイコンエディタでyume.icoを作成し、ファイルが揃いました。そこでエディタを起動して次のように記述します。

------ここから-----

[Title]

Title1=Filly_yume

group=Yun_soft

[Filly_yume]

Directory=yumekami

TitleName=夢の紙芝居

File1=yume.fil

File2=yume.tfy

File3=yume.mid

File4=yume1.bmp

File5=yume.ico

[yume.fil]

ItemName=YumeKami

Icon=yume.ico

------ここまで-----

これを「???????.ins」という名前に保存してできあがりです。（???????部分にはお好みのファイル名を指定してください）後はFillyシステムが正しくインストールされてあればファイルマネージャでinsファイルをダブルクリックすればINST.EXEが起動され、ファイルのコピーとアイコンの登録が行われます。

なお、この他にも[Message]というセクションにメッセージを記述すればインストール時にメッセージを出すことができますし、[Title]に複数記述して一度に複数のFillyタイトルをインストールさせることもできます。ご不明な点はNIFTY FFILLY MES 16までお越しください。


TOFFYシナリオ入門

 TOFFYシナリオ作成の概要

 TOFFYシナリオの超基本

 MIDIを鳴らすには

 WAVEを鳴らすには

 AVIを再生するには

 CDを再生するには

 画像を表示するには

 素材を組み合わせるには

 画像表示の仕組み

 動画のさせかた

 パレットの仕組み

 メッセージ処理

 順次処理


素材の組み合わせ

曲を演奏する命令、画像を表示する命令などは単独にだけでなく、組み合わせて使う事ができます。例えば

main(){

PlayWAVE("tada.wav");

PlayMIDI("jazz.mid");

PlayAVI("sample.avi");

OpenWin(LoadPic("sample.bmp"));

}

などというTOFFYシナリオを実行すれば、ジャーンとなってジャズが演奏されAVIが再生され、画像が表示されます。

ぜひ、素材を組み合わせる楽しみを味わってみて下さい。

注）NECの純正のドライバの中にはこのような操作をしても正常に動かない場合があります。これはドライバのバグによるものであり、メーカーにお問い合わせください。


順次処理

マルチメディア作品には順次命令を実行したい事がよくあります。例えば曲の進行にしたがって次々を絵を変えていくなどの動作がこれにあたります。TOFFYシナリオも順次上から命令を実行していきますが、Ｆillyの動作は非常に高速なため、そのまま普通に書いてしまっては全部の動作が一瞬で終わってしまいます。そこで、命令を実行させたい時がやって来たら呼び出すだけで順次命令を実行してくれる機構を設けました。これがstep文です。

step文を使えば、タイミングを見計らってstep文を実行するだけで内部にセッティングした命令を適切に順次実行していきます。（タイミングを見計らう機能はmes文によって実現します。）

例えば

step{a;,b;,c;}

（a,b,cはそれぞれ何等かの命令を意味している記号とします）

と記述すればこの文が最初に呼ばれたときaを実行し、b,cは実行されません。次に呼ばれたときはbだけが実行されます。その次はcだけ実行され、さらにその次は最初に戻ってaが実行されます。

step(10){a;,b;c;,d;}

であればこの文が最初に呼ばれたときaを実行し、b,c,dは実行されません。ここまでは先の例と同じですが、次に呼ばれた時は何も実行されません。そして何も実行されないことが９回続いた後、１０回目にb,cが順次実行されます。その次も同様にして９回無実行が続き、１０回目にdだけ実行されるようになります。dの次はaですが、この循環を止めるにはend_stepを実行します。また、初めから実行しなおすにはreset_stepを実行します。この２つの命令は最後に通過したstep文に対して有効になります。

一般にはこのstep文はmes文と組みになって用いられます。mes文の詳細はメッセージ処理を参照して下さい。


メッセージ処理

Ｆillyの内部では常に大量のメッセージが飛び交っています。（一部のメッセージは未実装です）

これらのメッセージを捕まえたり、メッセージを発信したりする事でＦillyは高度な動作を実現します。メッセージを捕まえる動作をする命令がmes文です。例えば一定時間おきにある命令を実行したければ以下のようにします。

mes(TIME){

a;

}

このようにしますとTIMEメッセージが飛ぶ度に命令aを実行します。TIMEメッセージは1/20秒ごとに飛ぶので、1/20毎にaが実行される事になります。しかし、1/20秒では扱いにくいので通常はstep文と組み合わせて利用します。

また、マウスボタンが押された事に反応する場合は

mes(LBDOWN){

if(MesP2>100 && MesP3>50 &&MesP2<200 && MesP3<150){

a;

}

}

このようにします。この例ではウィンドウ内の(100,50)-(200,150)という矩形の内部にマウスクリックがあったときにaが実行されるようになります。この例で示したように、メッセージによってはグローバル変数MesP1, MesP2, MesP3, MesP4にそれぞれ情報を入れて飛んで来るものもあります。

また、mes文はdel_me命令を実行するか、同一関数内のmes文がdel_us命令を実行するか、同一モジュール内のmes文がdel_all命令を実行するまでメモリ内に常駐し、メッセージを監視し続けます。mes文内で変数はローカル変数、グローバル変数ともに利用する事ができます。

mes文内でmes文を実行しても、そのメッセージ監視部分は最初のmes文とは独立にメモリに常駐します。そのため、その様な場合に両方のmes文を終了させたい場合はdel_meをそれぞれの内部に記述して下さい。また、del_usは同一関数内で実行されてメモリに常駐している自分以外のmes文を破棄しますから、これを活用するといいでしょう。

mes文を内部に持つ関数は一種のオブジェクトとなります。このような関数を呼びmes文を実行する度にメッセージを監視するmes文はメモリに常駐する事になります。この機能を応用すれば自立動作するオブジェクトをたくさん生成させる事ができるようになります。


動画のさせかた

本格的なアニメーションはAVIにしてそれを再生させるのが一番ですが、小さなサイズで手軽にアニメーションさせる方法もあります。ここではその方法をご紹介します。（AVIはかなり自由にカスタマイズできるので、AVIの利用もお薦めします）

注）Ver.1.20よりCast関数が使えるようになり手軽にキャラクターをスプライト表示させたり動かせたり出来るようになりました。この項では説明してありませんが一度お試しください。

アニメーションを実現させるという事はウィンドウに表示させる画像を変えればいいという事になります。この方法は２つ用意されています。一つはウィンドウは画像と関連付けられていますが、この画像の関連先を変更する事です。もう一つは関連付けられている画像のその中身を改変する事です。この２方法の概要を以下に図に示します。

この図では画像を３枚メモリに読み込み、それを順次ディスプレイに表示することで動画としています。この方法は全画面を使って動画をする場合（画像それぞれが大きく異なる場合）に有効です。これを実現するTOFFYシナリオは以下のようになります。（例中「//」以降の部分は注釈です。）

main(){

LoadPic("sample1.bmp");	//メモリへの読み込み。ピクチャー番号

//は0になる

LoadPic("sample2.bmp");	//上と同様にピクチャー番号は1になる

LoadPic("sample3.bmp");	//上と同様にピクチャー番号は2になる

OpenWin(0);	//ピクチャー番号0番のメモリ上の画像を表示

//するウィンドウを開きます。位置やサイズは

//デフォルト値を使用します。

mes(TIME){	//時間メッセージに応答するようにします

step(20){,	//２０回毎に{}内の命令群を順次実行します。

//最後の「,」は一番最初はスキップする事を示します。

MoveWin(0,1);,//ウィンドウへ関連付けられている画像を0番

//から1番へ変更します。結果として１番の画

//像がウィンドウに表示されます。

//最後の「,」はこれでまた時間待ちに戻ることを示します。

MoveWin(0,2); del_me;	//２番の画像を表示して、時間待ちを

//終了します。

}

}

}

（注：関数名と()間に空白は入れないで下さい）

この例では１秒ごとに画像を変えています。（TIMEメッセージは1/20秒ごとに発生するため）

mes()、step()についてはそれぞれメッセージ処理、順次処理を参照して下さい。

続いてもう一つの方法です。

この図の方法では、ウィンドウとピクチャーの関連付けはそのままにして、ピクチャーの内容自体を改変します。これは細部の変更で済む動画に有効です。これを実現するTOFFYシナリオは以下のようになります。（例中「//」以降の部分は注釈です。）

main(){

LoadPic("sample1.bmp");	//メモリへの読み込み。ピクチャー番号

//は0になる

LoadPic("sample2.bmp");	//上と同様にピクチャー番号は1になる

LoadPic("sample3.bmp");	//上と同様にピクチャー番号は2になる

OpenWin(0);	//ピクチャー番号0番のメモリ上の画像を表示

//するウィンドウを開きます。位置やサイズは

//デフォルト値を使用します。

mes(TIME){	//時間メッセージに応答するようにします

step(20){,	//２０回毎に{}内の命令群を順次実行します。

//最後の「,」は一番最初はスキップする事を示します。

MovePic(1,0,0,640,400,0,0,0);,	//ピクチャー番号１番の

//(0,0)から右下の640x400の領域をピクチャー番号0番の

//(0,0)から右下の部分へ転送します。

//最後の「,」はこれでまた時間待ちに戻ることを示します。

MovePic(2,0,0,640,400,0,0,0); del_me;

//上と同様に２番の画像を０番へ転送して、時間待ちを

//終了します。

}

}

}

（注：関数名と()間に空白は入れないで下さい）

この例でも１秒ごとに画像を変えています。（TIMEメッセージは1/20秒ごとに発生するため）

mes()、step()についてはそれぞれメッセージ処理、順次処理を参照して下さい。


画像を表示するには

画像を表示するには「LoadPic()」関数と「OpenWin()」関数を利用します。

画像を表示したい局面で

OpenWin(LoadPic(画像ファイル名));

と記述すれば画像が表示されます。

例えば、「sample.bmp」ファイルを表示させるTOFFYシナリオは以下のようになります。

main(){

OpenWin(LoadPic("sample.bmp"));

}

ただし、この方法では画像の表示位置、表示サイズ、などの制御ができません。単に表示するのではなく動画などに利用する場合はウィンドウとピクチャーの関係を理解する必要があります。→画像表示の仕組み


Palette
パレットの仕組み

ビデオカードの色数が２５６色、１６色の環境ではWindowsはパレットを利用して擬似的に大量の色を表示しています。そのため、このパレットの特性を知っておかないと作成したタイトルを２５６色、１６色の環境で再生した場合、色がめちゃくちゃになってしまうことになります。

例えば２５６色のシステムの場合、画面に出ているすべてのアプリケーションで表示できる色の種類は２５６色以下です。そのうちの２０色はシステムカラーと言われ、常に固定でアイコンや枠などを表示しています。残りの２５６色は動的に割り振られます。普通のタイトルはこの２５６－２０＝２３６色を有効に使って表示させることになります。

画像表示時のパレットは３つ種類があります。一つはお絵かき時に指定してＢＭＰファイルに埋めこんであるパレット(1)。次にLoadPicしたときにWindowsが割り振るパレット(2)。最後に実際にWindow上で表示されるパレット(3)です。

このパレット(2)の割り振りはLoadPicされる度に行われ、パレット(1)を参考にWindowsが独自に各ピクチャー毎に割り振ります。そして、OpenWinやMoveWinでこのピクチャーとウィンドウが関連付けられたときに実際に表示されるパレット(3)としてピクチャーに割り振られたパレット(2)を利用することとなります。

また、このパレット(2,3)はＢＭＰファイルで指定されたパレット(1)とは色も微妙にかわっていることがあります。しかし、順列はある程度保存されているようなので、パレットの内容とその順列をお絵かき時に各ＢＭＰ間で揃えておけば、それらの画像間をMovePicすればほぼ目的の色が出せるようです。

極端な話、利用するすべてのＢＭＰのパレットの内容と順序を一緒のものにしておけばCastとして利用しても、MovePicしても奇麗に転送させることが出来ます。

また別の問題として、１６００万色などの多色のＢＭＰ利用の際の問題があります。多色のＢＭＰを利用すると、２５６色以下の環境ではWindowsが強引にシステムカラーに割り振るので色が目茶苦茶になるだけでなく、異常に時間がかかってしまいます。

この際は減色を行ってＢＭＰ自体を事前に２５６色にしておいてください。


画像表示のしくみ

画像を表示するには２つのステップが必要です。まず初めに「LoadPic()」関数でハードディスクからメモリに画像を読み込みます。続いてウィンドウにそのメモリ上の画像を関連付けることでディスプレイ上に表示させます。ウィンドウをまだ開いていない状態では「OpenWin()」でウィンドウを開いて、その時に関連付ける画像を指定します。この概要を下図に示します。

図のように「sample1.bmp」、「sample2.bmp」を画面に表示するTOFFYシナリオは以下のようになります。（例中「//」以降の部分は注釈です。）

main(){

LoadPic("sample1.bmp"); //メモリへの読み込み。ピクチャー番号

//は0になる

LoadPic("sample2.bmp");	//メモリへの読み込み。ピクチャー番号

//は1になる

OpenWin(0);	//ピクチャー番号0番のメモリ上の画像を表示

//するウィンドウを開きます。位置やサイズは

//デフォルト値を使用します。

OpenWin(1,100,80,400,250,0,50);

//ピクチャー番号1番のメモリ上の画像の(0,50)から右下

//の領域を、(100,80)を左上とするディスプレイ座標

//の位置の400x250のサイズのウィンドウに表示します。

}

（注：関数名と()間に空白は入れないで下さい）

この例では「LoadPic("sample1.bmp");」を先に行ったので「 sample1.bmp」のピクチャー番号が0となり、「 sample2.bmp」のピクチャー番号が1となりました。このようにTOFFYシナリオでは「LoadPic()」される度に画像データはメモリに読み込まれ、順次0番から番号が割り振られて行きます。メモリに読まれた後はすべてこの番号で画像を管理、操作します。（画像ファイル名を指定するのはLoadPic()関数だけです。他はすべてピクチャー番号で指定します。）

ピクチャー番号0（sample1.bmp）はそのまま「OpenWin()」しているので画像全体がウィンドウ番号0のウィンドウに表示されます。ピクチャー番号1（sample2.bmp）はウィンドウの位置とサイズを直接指定し、そして画像の一部分だけを表示するように細かな指定をしています。


番号割り当て

ピクチャー番号、ウィンドウ番号は空いている番号のうち一番小さい番号を割り当てます。そのため始めは0番から順次割り当てられる形となります。途中で破棄したピクチャー、ウィンドウがあればその番号が空くので次はその番号に割り当てられます。割り当てられた番号は関数の返り値になっているので次のように知ることができます。

PicNo=LoadPic("画像ファイル名");

WinNo=OpenWin(PicNo);

（注：関数名と()間に空白は入れないで下さい）

このようにしますと変数PicNoにピクチャー番号、変数WinNoにウィンドウ番号が入ります。

Cast番号については実際のアドレスを割り振っているので順序通りには並んでいませんし、誤った値を指定すると危険ですので、必ずこのような方法で番号を保存しておいてください。


デフォルト
デフォルト(default)

省略された時、暗黙の了解として適用されるもの。


CDを再生するには

CDを再生するには「PlayCD()」関数を利用します。

CDプレイヤーを再生開始したい局面で

PlayCD();

と記述すればCDプレーヤーにセットしてあるCDの再生が始まります。

例えば、CDを初めから終わりまで演奏させるTOFFYシナリオは以下のようになります。

main(){

PlayCD();

}

ただし、この方法ではCDの再生位置の制御ができません。再生位置を指定する場合は以下のようにトラック番号を指定します。

（この例ではある背景画像の上にAVIを再生します。背景画像は省略できません。また、例中「//」以降の部分は注釈です。）

main(){

PlayCD(4);

}

４曲目から再生されます

main(){

PlayCD(4,7);

}

４曲目から７曲目まで４曲演奏されます。


AVIを再生するには

AVIを再生するには「PlayAVI()」関数を利用します。

動画を再生開始したい局面で

PlayAVI(AVIファイル名);

と記述すれば動画の再生が始まります。

例えば、「movie.avi」ファイルを演奏させるTOFFYシナリオは以下のようになります。

main(){

PlayAVI("movie.avi");

}

ただし、この方法ではAVIデータの表示位置、サイズ、などの制御ができません。単に再生するのではなく有効に利用する場合はウィンドウを開き、そこに表示させるようにします。例を以下に示します。（この例ではある背景画像の上にAVIを再生します。背景画像は省略できません。また、例中「//」以降の部分は注釈です。）

main(){

PicNo=LoadPic("背景画像ファイル名");

//PicNoというのはピクチャー番号を格納させる変数で

//す。変数名はPicNoに限りません。自由に名前を付け

//て下さい。

WinNo=OpenWin(PicNo);

//WinNoというのはウィンドウ番号を格納させる変数で

//す。これも変数名は任意に付けて下さい。

PlayAVI("movie.avi",WinNo,x,y,w,h);

//ここでx,y,w,hはそれぞれAVI表示位置の左上隅のウィンドウ

//内座標(x,y)、AVIの表示サイズの幅wと高さhを表します。

//省略も可能です。

}

（注：関数名と()間に空白は入れないで下さい）

画像関連の仕組みは画像表示の仕組みを参照して下さい。


MIDIを鳴らすには

MIDIを鳴らすには「PlayMIDI()」関数を利用します。

曲を演奏したい局面で

PlayMIDI(スタンダードMIDIファイル名);

と記述すれば曲の演奏が始まります。

例えば、「jazz.mid」ファイルを演奏させるTOFFYシナリオは以下のようになります。

main(){

PlayMIDI("jazz.mid");

}

この際MIDI機器とWindowsの設定が適切でありませんと鳴らない事があります。コントロールパネル内のMIDIマッパー、ドライバ等を適切に設定して下さい。

MIDIの演奏の開始、終了時にはそれぞれMIDI_START、MIDI_ENDメッセージが飛びますので、同期したい処理がある場合はmes文でご利用ください


WAVEを鳴らすには

.WAVファイルを鳴らすには「PlayWAVE()」関数を利用します。

曲を演奏したい局面で

PlayWAVE(".WAVファイル名");

と記述すれば音声の再生が始まります。

例えば、「tada.wav」ファイルを再生させるTOFFYシナリオは以下のようになります。

main(){

PlayWAVE("tada.wav");

}

この際ＰＣＭ音源とWindowsの設定が適切でありませんと鳴らない事があります。コントロールパネル内のドライバ等を適切に設定して下さい。

WAVEの演奏の開始、終了時にはそれぞれWAVE_START、WAVE_ENDメッセージが飛びますので、同期したい処理がある場合はmes文でご利用ください


TOFFYシナリオの超基本

 TOFFYシナリオは難しい？

Ｆillyシステムは非常に汎用性が高く、高機能ですのでTOFFYシナリオを高度に使いこなせば非常に高度な事も実現可能です。しかし、絵を表示して音楽を鳴らすというごく単純なことをさせるだけならTOFFYシナリオは誰にでも普通に書けます。ぜひ、 TOFFYシナリオ書きにチャレンジしてみて下さいね(^_^)

 TOFFYシナリオの基本構造

TOFFYシナリオは複雑なものでない限り次の形をしています。

main(){

命令１

命令２

　：

　：

命令ｎ

}

ですから、 TOFFYシナリオを作ろうとしましたらまず

main(){

}

という枠を作って、その間に命令を並べていくことになります。ただ、TOFFY上でシナリオを作る場合は、新しい文書を開くと以下のようなひな型を自動的に付加しますので [image] 印の所にシナリオを書き入れていってください。

//TOFFYシナリオのひな型

//作品情報(""内を書き換えて下さい)

#info INAM "Title"

#info IART "Your Name"

#info ICOP "CopyRight"

//シナリオ本体

main(){

//ここからシナリオを書き始めて下さい

//ここまでに書いてください

}

 基本規則

 命令はすべてセミコロン「;」によって終了します

 空白、タブは無視しますが、全角の空白は考慮するので入れないようにして下さい

 大文字と小文字は厳密に区別しますので丁寧に使い分けて下さい

 命令部分で利用できるのは半角アルファベットと数字です（文字列内は日本語もOK）


K$ TOFFYシナリオ作成の概要
TOFFYシナリオ作成の概要

 TOFFYシナリオとは

TOFFYシナリオは画像、音楽ファイルの組み合わせ方を記述した文書のことを指します。例えば曲を演奏しながらある画像を表示させたいといった場合に、この手順を書き記した文書がTOFFYシナリオとなります。素材を組み合わせるオーサリング機能を目指して作られているので、素材は別途お好みのお絵描ソフト、シーケンサーなどで作っておく必要があります。

ただし、 TOFFYシナリオを記述するにはある程度のスキルが要求されるので、初心者の方はaPonなどのTOFFYシナリオ自動生成ツールのご利用をお薦めします。

 TOFFYシナリオの作成

TOFFYシナリオは通常TOFFYのエディタ上で記述しますが、 TOFFYシナリオを生成してくれるツールも公開されているのでそちらを利用しても構いません。

TOFFYを立ちあげると「Toffy1」という空きのエディタウィンドウが開いているので初めから書き始める場合はこれを使って下さい。ここにTOFFYシナリオを書き込みます。書きおわったら[上書き保存]機能などを利用して保存します。（保存しなくても確認は行われます）

この際、ファイル名の拡張子は.TFYとして保存してください。

 Ｆillyファイルの生成

保存が終わったらＦillyファイル生成機能を選択します。中心になるTOFFYシナリオファイルの確認を求められるので、生成したいTOFFYシナリオになっているのを確認して「はい」を選択して下さい。Consoleウィンドウが開いてコンパイルが始まります。文法上のエラーがあるとこの段階でエラーメッセージが出てコンパイルが中止されます。現在開いているウィンドウの中にエラーの発生した場所があればその行にカーソルが移動しています。エラー箇所を修正して再度Ｆillyファイル生成機能を選択してください。


Ｆillyファイル生成

TOFFYシナリオをコンパイルしてＦillyファイルを生成します。生成されたＦillyファイルはＦillyにて再生する事ができます。

ショートカット

マウス:	ツールバーのTOFFYボタンをクリックします。

キーボード:	[Ctrl]+[F]


TOFFYシナリオの仕様

 TOFFYシナリオの特徴

 使用語句に関する規約

 データ型

 式と演算子

 文

 配列

 関数

 プリプロセッサ

 プリセット関数一覧

 メッセージ一覧


プリセット関数一覧

 TOFFYプリセット関数

（内容概略が空欄のものは未実装の関数）

「=n」は省略したときの値

 ピクチャー関連関数

LoadPic	画像ファイルの読み込み（メモリへ読み込みピクチャー番号を返します）
MovePic	メモリ上の画像データを転送します。また、パラメータによってシーンチェンジ機能、スプライト転送機能も利用できます。
MoveSPic	メモリ上の画像データを拡大縮小して転送します。
DelPic	メモリ上の画像データを破棄します。
CreatePic	メモリ上にピクチャーを生成します
PicWidth	ピクチャーの幅を取得します
PicHeight	ピクチャーの高さを取得します

 ウィンドウ関連関数

OpenWin	ウィンドウを開きます（ウィンドウ番号を返します）
MoveWin	ウィンドウの設定を変更します。
CloseWin	ウィンドウを閉じます
CloseWinAll	すべてのウィンドウを閉じます
CapTitle	ウィンドウのキャプションの文字を指定します

 整数値関連関数

Random	乱数を得ます
MakeLong	-32,768～32,767の数値をもった２つの数値を１つの値に詰め込みます
GetHiWord	詰め込まれた値の上位の数値を取り出します。
GetLowWord	詰め込まれた値の下位の数値を取り出します。

 マルチメディア関連関数

PlayMIDI	MIDIファイルを演奏します
PlayWAVE	WAVEファイルを再生します
PlayAVI	AVIムービーを再生します
PlayCD	CDプレーヤーでCDを再生します
MCI	MCIコマンドを実行し、整数値を返します。
StrMCI	MCIコマンドを実行し、文字列を返します。

 Windows 関連関数

Shell	指定したWindows, Dosアプリケーションを実行します
WinInfo	Windowsの諸情報を入手します
GetSysTime	Windowsのシステムタイムを取得します

 文字表示関連関数

SetFont	TextWrite で出力する文字のフォントを指定します
TextWrite	ピクチャーに文字列を書き込みます
TextColor	文字色を指定します
BgColor	文字の背景色を指定します
BackMode	文字の背景を透明にします
StrPrint	整数値、実数値を文字列に変換し、整形、生成します

 型変換関数

InttoReal	整数型を実数型に変換します
RealtoInt	実数型を整数型に変換します
RealtoStr	実数型を文字列型に変換します
StrtoInt	文字列型を整数型に変換します
StrtoReal	文字列型を実数型に変換します

 文字列操作関連関数

StrLen	文字列の長さを得ます
SubStr	文字列の中の部分文字列を得ます
StrFind	文字列内から任意の文字列を探し、位置を返します

 配列操作関連関数

ArraySize	配列の要素数を返します
DelArrayAll	配列の要素をすべて削除し、メモリを解放します
DelArrayAt	配列の要素を一つ削除します
InsArrayAt	配列の要素を一つ挿入します

 ファイル操作関連関数

WriteIniInt	iniファイルに数値を書き込みます
GetIniInt	iniファイルから数値を読み込みます
WriteIniStr	iniファイルに文字列を書き込みます
GetIniStr	iniファイルから文字列を読み込みます

 実数演算関連関数

ACos	アークコサイン
ASin	アークサイン
ATan	アークタンジェント
Cos	コサイン
Exp	指数関数（eのx乗を返します（xは実数引数））
FAbs	絶対値
Log	自然対数（eを底とする対数）
Pow	べき乗（xのy乗（xは第一実数引数、yは第二実数引数）
Sin	サイン
Sqrt	ルート
Tan	タンジェント

 キャラクタ関連関数

SetChar
MoveCast	Castの内容を変更します（アニメーションさせるときに使います）
PutCast	Castをピクチャーと関連付けます
DelCast	Castとピクチャーの関連付けを破棄します
ChaLCast	Cast同士の前後関係を変更します。
HitCast	指定の座標値にどのキャストがいるか調べます
ChangeCast

 メッセージ関連関数

GetMesNo	メッセージ番号を取得します。
DelMes	指定したmes文を削除します
FreezeMes	指定したmes文のメッセージの受け取りを一時停止します
ActivateMes	メッセージの受け取りを再開します。
PostMes	メッセージを生成します。

 デバッグ関連関数

Debug	デバッグモードの切り替えをします。


PlayMIDI
PlayMIDI関数

void PlayMIDI(Filename );

str Filename	スタンダードＭＩＤＩファイル名

Filenameで指定したＭＩＤＩファイルを演奏します。

関連項目

MIDIを鳴らすには


GetMesNo
GetMesNo関数

int GetMesNo(State );

int state	取得対象を次の２値のうちどちらかで指定

0...最後に実行したmes文のメッセージ番号

1...現在実行中の自分のメッセージ番号

返り値

メッセージ番号

mes文固有のメッセージ番号を取得します。DelMes(), FreezeMes(), ActivateMes() で使用します。


DelMes
DelMes関数

void DelMes(MesNo );

int MesNo	GetMesNo()で取得したメッセージ番号を指定

メッセージ番号で指定したmes文を削除します。


FreezeMes
FreezeMes関数

void FreezeMes(MesNo );

int MesNo	GetMesNo()で取得したメッセージ番号を指定

メッセージ番号で指定したmes文を一時活動を停止させます。 ActivateMes() で活動を再開させることが出来ます。


ActivateMes
ActivateMes関数

void ActivateMes(MesNo );

int MesNo	GetMesNo()で取得したメッセージ番号を指定

FreezeMes() で活動を停止させたmes文の活動を再開させます。


PostMes
PostMes関数

void PostMes(MESSAGE );

int MESSAGE	生成させるメッセージの種類

メッセージを生成します。mes文に強制的に動作をさせたいときに利用してください。なお、PostMes実行した瞬間にはメッセージはキューに溜まるだけでmes文はされません。すべての処理が終わってCPUが暇になったときにメッセージが飛ぶようになります。

例）

mes(LBDBLCLK){

PostMes(LBDOWN);

}

この例ではダブルクリックされたときにシングルクリックのときと同じ動作をさせます。（一回目のLBDOWNと合わせて２回のLBDOWNがダブルクリックされたときに飛ぶようになります）

また、PostMes用のメッセージとして「USER」がありますので、こちらもご利用ください。

関連項目

メッセージ一覧


PutCast
PutCast関数

int PutCast(CastPic, AscPic, x, y, TransColor=0x80000000, Position=0, Level=0, Imm=0,W=ピクチャーの幅,H=ピクチャーの高さ,X=0,Y=0)

int CastPic Castのピクチャー番号

int AscPic  表示先のピクチャー番号

int x       表示先の位置（ｘ）

int y       表示先の位置（ｙ）

int TransColor  透明色（透明な部分が無いときは無指定か0x80000000）

int Position 同一レベルの最前面か最背面の指定（0_最前面、1_最背面)

int Level    前後関係のレベル（0が背面で数が大きくなるほど前面）

int Imm     すぐに画面書き換えしたくないときは1、それ以外は0

int W       幅

int H       高さ

int X       CastPic内のキャストの左上となる座標（ｘ）

int Y       CastPic内のキャストの左上となる座標（ｙ）

キャラクターを手軽に表示し、管理するシステムがキャスト関連関数で実現されています。そのキャストを生成させる唯一の関数がこのPutCastです。使い方としては、どこかに空っぽのピクチャーを用意し、そこを表示場所にします。続いて背景をキャストとしてPutCastで最背面に張り付けます。次にキャラクターをその上にどんどんとPutCastで張り付けて行きます。このキャラクターを動かすのはMoveCast、削除するのはDelCastです。

具体的なCastの利用方法は添付のサンプルタイトルを参照してください。

Cast番号が返ってくるので、必ず保存しておいてください（この番号は０から割り振られたりしないので必ず返り値を取っておく必要があります）


ChaLCast
ChaLCast関数

void ChaLCast(CastNo, Position, Imm=0, Level=0)

int CastNo Cast番号

int Position 同一レベルの最前面か最背面の指定（0_最前面、1_最背面、2_最最前面、3_最最背面)

int Imm     すぐに画面書き換えしたくないときは1、それ以外は0

int Level    前後関係のレベル（0が背面で数が大きくなるほど前面）

Castの前後関係を変更します。

例えば

ChaLCast(CastNo,0);

とやれば該当のCastを同一レベルにあるすべてのCastの一番前に配置させることができます。


HitCast
HitCast関数

int HitCast(PicNo, X, Y)

int PicNo 調べたいピクチャー番号

int X 調べたいX座標

int Y 調べたいY座標

返り値

該当する位置にあるキャストの番号を返します。見つからないときは0を返します。透明色部分は該当しない位置と判断します。


PicWidth
PicWidth関数

int PicWidth(PicNo)

int PicNo 調べたいピクチャー番号

返り値

ピクチャーの横幅を返します。


PicHeight
PicHeight関数

int PicHeight(PicNo)

int PicNo 調べたいピクチャー番号

返り値

ピクチャーの高さを返します。


Debug
Debug関数

void Debug(Mode)

int Mode デバッグモード

Modeに１を指定するとデバッグモードになり、インフォメーションウィンドウに現在生きているmes文とその内容、及び現在あるCast数が表示されます。

例）

 mes      DS        CS

LBDOWN  2f570000  2f3f0574

USER    2f570000  2f3f062c

LBDOWN  2f570052  2f3f0574

CNum=2

ここでmesはメッセージの種類、DSはデータ領域のアドレス、CSはコードのアドレスです。この例では３つのmes文がメッセージを待っている状態になっていることが分かります。

その他に分かることは、１番目と２番目はDSが同じなので、同じ関数内で同時期につくられたものと分かります。この両者はdel_usでお互いを終了させられる関係にあることが分かります。

また、１番目と３番目はCSが同じですから同じコードによってつくられている、つまり同じ種類のオブジェクトであることが分かります。

また、Cast数は２つ存在していることも判ります。

ぜひ、これを活用して不具合の修正に役立ててみてください。


MoveCast
MoveCast関数

MoveCast(CastNo, CastPic, x, y, Imm,W,H,X,Y, TransColor)

int CastNo  Cast番号

int CastPic Castのピクチャー番号

int x       表示先の位置（ｘ）

int y       表示先の位置（ｙ）

int Imm     すぐに画面書き換えしたくないときは1、それ以外は0

int W       幅

int H       高さ

int X       CastPic内のキャストの左上となる座標（ｘ）

int Y       CastPic内のキャストの左上となる座標（ｙ）

int TransColor  透明色（透明な部分が無いときは無指定か0x80000000）

PutCast関数で作成したCastを動かしたりするのに利用します。

具体的なCastの利用方法は添付のサンプルタイトルを参照してください。


DelCast
DelCast関数

DelCast(CastNo, Imm)

int CastNo  Cast番号

int Imm     すぐに画面書き換えしたくないときは1、それ以外は0

PutCast関数で作成したCastを削除するのに利用します。


CreatePic
CreatePic関数

int CreatePic(Picture#, Width, Height );

int Picture#	基準としたいピクチャーの番号

int Width	作成するピクチャーの幅（省略した場合は基準とするピクチャーと同じ幅）

int Height	作成するピクチャーの高さ（省略した場合は基準とするピクチャーと同じ高さ）

ピクチャーを生成し、生成したピクチャーのピクチャー番号を返します。画像転送時の待避場所等にご利用ください。


ArraySize
ArraySize関数

ArraySize(ArrayBase );

Array ArrayBase	要素数を求めたい配列の参照

ArrayBaseで指定した配列の要素数を返します。なお、配列は1からではなく0から存在しているので配列の添え字と1ずれている点に注意が必要です。

例）

int i, Arr[];

Arr[3]=1;

i=ArraySize(Arr[]);

このようにするとiには4が入ります。

関連項目

配列


DelArrayAll
DelArrayAll関数

DelArrayAll(ArrayBase );

Array ArrayBase	要素をすべて削除したい配列の参照

ArrayBaseで指定した配列の要素をすべて削除します。使わなくなった配列をいつまでも置いておくとメモリの効率が悪くなるので、この関数を使って要素を削除することをお薦めします。なお、ローカルに宣言した配列は、その配列を利用している生きているmes文がなくなれば自動的に消去されます。

例）

DelArrayAll(Arr[]);

関連項目

配列


DelArrayAt
DelArrayAt関数

DelArrayAt(ArrayBase , Position);

Array ArrayBase	要素をすべて削除したい配列の参照

int Position	削除要素位置

ArrayBaseで指定した配列のPositionの位置の要素を削除します。削除した位置より添え字の大きな要素は一つずつ下にシフトされます。

関連項目

配列


InsArrayAt
InsArrayAt関数

InsArrayAt(ArrayBase , Position , NewElem );

Array ArrayBase	要素をすべて削除したい配列の参照

int Position	要素挿入位置

int or str or real NewElem	挿入要素

ArrayBaseで指定した配列のPositionの位置に要素を挿入します。挿入した位置より添え字の大きな要素は一つずつ上にシフトされます。

関連項目

配列


InttoReal
InttoReal関数

real  InttoReal(integer );

int integer	変換したい整数値

integer を実数に変換し、返します。


StrLen
StrLen関数

StrLen(String );

str String	長さを知りたい文字列

Stringの文字列の長さ（使用文字数）を返します。


SubStr
SubStr関数

str SubStr(String , Position , Length);

str String	対象とする文字列

int Position	切り出し開始位置

int Length	切り出す文字列長

Stringの文字列の一部（部分文字列）を切り出してきて返します。 Position は0から数えますので、文字列の先頭から切り出す場合はPositionを0としてください。


StrFind
StrFind関数

StrFind(String , SearchStr);

str String	対象とする文字列

str SearchStr	検索する文字列

Stringの文字列内に含まれるSearchStrの位置を返します。位置は0から数えますので、文字列の先頭に発見した場合は0が返ります。発見できなかった場合は-1を返します。


StrtoReal
 StrtoReal関数

real StrtoReal(String );

str String	変換したい数字列

String を実数に変換し、返します。


RealtoInt
RealtoInt関数

RealtoInt(realnum );

real realnum	変換したい実数値

realnumを整数に変換し、返します。


StrtoInt
StrtoInt関数

StrtoInt(String );

str String	変換したい数字列

String を整数に変換し、返します。


RealtoStr
RealtoStr関数

str RealtoStr(Format String , realnum );

str Format String	出力文字列フォーマット

real realnum	変換したい実数値

Format Stringで指定した書式で実数値を整形し、文字列を生成し、返します。

例）

str String;

real degree;

degree=14.123;

String=RealtoStr("Degree=%lf ",degree);

TextWrite(String,WinNo);

このようにするとWinNo番のウィンドウに

「Degree=14.123」

という表示が出ます。ここで「%lf 」が実数値の書式指定文字列で、そこが引数指定値に置換されます。なお、桁数の指定を「%」の直後に数値で記述することもできます。例えば「%6.2lf」とすると、全体で６桁、小数点以下は２桁までという表記が可能です。


StrPrint
StrPrint関数

str StrPrint(Format String , Element#1 , Element#2 , Element#3 ,...);

str Format String	出力文字列フォーマット

str or int Element#n	出力、整形したい要素

Format Stringで指定した書式で列挙した要素を整形し、文字列を生成し、返します。

例）

str String, strName;

int Age;

strName="Filly Taro";

Age=26;

String=StrPrint("Name_%s   Age %ld years old",strName,Age);

TextWrite(String,WinNo);

このようにするとWinNo番のウィンドウに

「Name_ Filly Taro   Age 26 years old」

という表示が出ます。ここで「_%s」、「%ld 」がそれぞれ文字列、整数値の書式指定文字列で、それぞれが列挙した要素に置換されます。

書式指定文字列は

%s	文字列

%ld	１０進数

%lx	１６進数

となっています。また、%とアルファベットの間に数値を記入すると出力する文字幅を指定できます。負の値にすると左詰めになります。


WriteIniInt
WriteIniInt関数

WriteIniInt(Section, Entry, Num, Filename );

str Section	iniファイルのセクション名

str Entry	iniファイルのエントリ名

int Num	格納する数値

str Filename	iniファイル名

Filenameで指定したiniファイルに数値を書き込みます。iniファイルは指定がない限りWINDOWSのシステムディレクトリのものを指定したことになります。また、iniファイルが見つからない場合は自動的に作成されます。なお、書き込んだ数値はGetIniInt関数で読み出します。なお、セクション名とエントリ名は大文字と小文字が区別されます。

例）

WriteIniInt("Tmp","1st",10,"test.ini");

test.ini 内

[Tmp]

1st=10


WriteIniStr
WriteIniStr関数

WriteIniStr(Section, Entry, String, Filename );

str Section	iniファイルのセクション名

str Entry	iniファイルのエントリ名

str String	格納する文字列

str Filename	iniファイル名

Filenameで指定したiniファイルに文字列を書き込みます。iniファイルは指定がない限りWINDOWSのシステムディレクトリのものを指定したことになります。また、iniファイルが見つからない場合は自動的に作成されます。なお、書き込んだ文字列はGetIniStr関数で読み出します。なお、セクション名とエントリ名は大文字と小文字が区別されます。

例）

WriteIniStr("Tmp","1st","Hello!","test.ini");

test.ini 内

[Tmp]

1st=Hello!


GetIniInt
GetIniInt関数

GetIniInt(Section, Entry, Num, Filename );

str Section	iniファイルのセクション名

str Entry	iniファイルのエントリ名

int Num	エントリが無かったときのデフォルト値

str Filename	iniファイル名

Filenameで指定したiniファイルから数値を読み込みます。iniファイルは指定がない限りWINDOWSのシステムディレクトリのものを指定したことになります。また、iniファイルが見つからない、見つかっても該当するエントリが無い場合はデフォルト値が利用されます。通常数値はWriteIniInt関数で書き込みます。なお、セクション名とエントリ名は大文字と小文字が区別されます。


GetIniStr
GetIniStr関数

GetIniStr(Section, Entry, String, Filename );

str Section	iniファイルのセクション名

str Entry	iniファイルのエントリ名

str String	エントリが無かったときのデフォルト文字列

str Filename	iniファイル名

Filenameで指定したiniファイルから文字列を読み込みます。iniファイルは指定がない限りWINDOWSのシステムディレクトリのものを指定したことになります。また、iniファイルが見つからない、見つかっても該当するエントリが無い場合はデフォルト文字列が利用されます。通常文字列はWriteIniStr関数で書き込みます。なお、セクション名とエントリ名は大文字と小文字が区別されます。


TextColor
TextColor関数

TextColor(R, G, B );

int R	赤色の濃さ(0～255)

int G	緑色の濃さ(0～255)

int B	青色の濃さ(0～255)

文字色をR,G,Bで指定した色にします。背景色はBgColorで指定します。

例）

TextColor(255,255,255);

白い文字にします。

TextColor(0,0,255);

青い文字にします。


BackMode
BackMode関数

BackMode(mode );

int mode	0...背景あり, 1...背景は透明

文字の背景を透明にするかどうか指定します。背景色はBgColorで指定します。


GetSysTime
GetSysTime関数

GetSysTime();

Windowsのシステムタイムを取得します。これはWindowsを起動してからの通算時間をミリ秒単位で返します。計りたい時間の前と後で取得し、その差分をとることで所要時間を計算してください。


CapTitle
CapTitle関数

CapTitle(title );

str title	キャプション（タイトルバー）に表示する文字列

Windowのキャプション（タイトルバー）に表示する文字列を指定します。「""」を指定するとキャプション無しのWindowができます。デフォルトでは「""」になっており、キャプションは表示されません。また、ここで指定したキャプションは次に指定しなおす迄有功です。


BgColor
BgColor関数

BgColor(R, G, B );

int R	赤色の濃さ(0～255)

int G	緑色の濃さ(0～255)

int B	青色の濃さ(0～255)

文字の背景色をR,G,Bで指定した色にします。文字色はTextColorで指定します。

例）

BgColor(0,0,0);

黒い背景にします。

BgColor(0,255,255);

水色の背景にします。


TextWrite
TextWrite関数

TextWrite(String, Picture#, x, y );

str String	出力文字列

int Picture# 	ピクチャー番号（LoadPicで得た値）

int x	出力位置（ｘ座標）

int y	出力位置（ｙ座標）

Picture#で指定したピクチャーの指定位置に文字列を書き込みます。フォントの指定もできます。

例）

TextWrite("出力文字列",0,0,20);


SetFont
SetFont関数

SetFont(Height, FaceName, CharSet =0, Width =0, Escapement =0, Orientation =0, Weight =400, Italic =0, Underline =0, StrikeOut =0, OutPrecision =Def, ClipPrecision =Def, Quality =1, Pitch =0, Family =0);

int Height	フォントの高さ（ポイント値）

str FaceName	フォント名

int CharSet	キャラクタセット指定値（アルファベット：0、シンボル：2、漢字：128）

int Width	文字の平均の幅

int Escapement	文字の傾斜角度（0.1度単位）

int Orientation	文字の回転角度（0.1度単位）

int Weight	文字線の太さ（400を中心に0～900程度）

int Italic	イタリックにしたい場合は0以外の値を指定

int Underline	アンダーラインにしたい場合は0以外の値を指定

int StrikeOut	二重打ち消し線にしたい場合は0以外の値を指定

int OutPrecision	フォント指定条件

int ClipPrecision	クリップ領域からはみ出した時の指定

int Quality	拡大、縮小時の補正の可否(無指定:0、拡大縮小してサイズに合わせる:1、一番近いサイズのフォントを使う:2)

int Pitch	文字幅が可変かの指定(無指定:0、固定幅:1、可変幅:2)

int Family	線幅は固定かの指定(無指定:0、不定でセリフあり:1、不定でセリフなし:2、線幅一定:3、手書き風:4、装飾付き:5)

TextWriteで出力する文字のフォントを指定します。次にSetFontが呼ばれるまでそのフォントを使い続けます。

なお、指定した内容に一番近いフォントが選ばれるだけですので、フォントの指定は全部の項目にわたって厳密にする必要はありません。また、すべてのユーザーに楽しんでもらうため、漢字のフォントは"ＭＳ 明朝"、"ＭＳ ゴシック"などの標準的なものを選択して下さい。

例）

SetFont(20,"ＭＳ 明朝",128);

//注　「ＭＳ」は全角、「明朝」との間は半角スペース


WinInfo
WinInfo関数

WinInfo(Param );

int Palam	得たいWindowsの属性の番号

番号	属性の内容
0	スクリーンの幅
1	スクリーンの高さ
4	タイトルの高さ
5	ウィンドウ枠の幅
6	ウィンドウ枠の高さ
11	アイコンの幅
12	アイコンの高さ
13	カーソルの幅
14	カーソルの高さ
19	マウスの有無（無ければ0）

Palamで指定したWindowsの属性の諸情報を入手します

返り値

Windowsの属性


Shell
Shell関数

Shell(Filename ,Param ="",Dir =.FIL_DIR);

str Filename	実行ファイル名

str Param	実行ファイルに渡されるパラメータ

str Dir	実行時のディレクトリ

Filenameで指定したWindows, Dosアプリケーションを実行します。ただし、呼び出したアプリケーションの実行の終了を待たずに制御は戻って来ます。

例

Shell("COMMAND.COM","/c DIR");	//ディレクトリの内容を表示します。

Shell("filly.exe","filly.fil");	//Ｆillyをもう一つ起動してfilly.filを再生します。

返り値

実行が成功すれば33以上の値を、エラーの場合はエラーコードを返します。


MCI
MCI関数

MCI(MCIcommand );

str MCIcommand	MCIコマンド文字列。詳細はSDKのマニュアルをご覧ください

MCIcommand で指定したMCIコマンド文字列を実行します。

返り値

実行が成功すれば0を、エラーの場合はエラーコードを返します。


StrMCI
StrMCI関数

str StrMCI(MCIcommand );

str MCIcommand	MCIコマンド文字列。詳細はSDKのマニュアルをご覧ください

MCIcommand で指定したMCIコマンド文字列を実行します。

返り値

MCIドライバからの文字列をそのまま返します。エラーの場合はエラー文字列を返します。


PlayWAVE
PlayWAVE関数

PlayWAVE(Filename );

str Filename 	.WAVファイル名

Filenameで指定した.WAVファイルを再生します。

関連項目

WAVEを鳴らすには


PlayCD
PlayCD関数

PlayCD(From =1, To =最終曲番号);

int From 	演奏開始のトラック番号

int To 	演奏終了のトラック番号

CDROM DriveでCDを再生します。

関連項目

CDを再生するには


PlayAVI
PlayAVI関数

PlayAVI(Filename , Win# =専用のWindow, X =0, Y =0, W =def, H =def );

 str Filename 	AVIファイル名

 int Win# 	OpenWinで得た値

 int X 	AVIのWindow内での左辺値

 int Y 	AVIのWindow内での上辺値

 int W 	AVIの幅（自由にサイズは変えられます）

 int H 	AVIの高さ（自由にサイズは変えられます）

 Filenameで指定したAVIファイルを再生します。

関連項目

AVIを再生するには


LoadPic
LoadPic関数

LoadPic(Filename );

str Filename 	ＢＭＰまたはμファイル名

返り値：ピクチャー番号（０番から順次割り振られます）

Filename で指定したＢＭＰファイル、μファイルを読み込みます。

関連項目

画像を表示するには, 画像表示の仕組み, 動画のさせかた


OpenWin
OpenWin関数

OpenWin(Picture# , x =画面の中心, y =画面の中心, w =ピクチャーサイズ, h =ピクチャーサイズ, PicX =0, PicY =0, BkColor);

 int Picture# 	ピクチャー番号（LoadPicで得た値）

 int x 	Windowの画面左上からの位置（ｘ座標）

 int y 	Windowの画面左上からの位置（ｙ座標）

 int w 	Windowの横幅

 int h 	Windowの高さ

 int PicX 	表示するピクチャーの左上隅の座標（ｘ座標）

int PicY 	表示するピクチャーの左上隅の座標（ｙ座標）

int BkColor 	ピクチャーが無い位置の色指定。１６進６桁で指定します。詳細はMovePicのところをご覧ください。

 返り値：Window番号（０番から順次割り振られます）

 Windowを開きます。

関連項目

画像を表示するには, 画像表示の仕組み, 動画のさせかた


MoveWin
MoveWin関数

MoveWin(Win# , Picture# , x =0, y =0, w =0, h =0, PicX =0, PicY =0);

 int Win# 	ウィンドウ番号（OpenWinで得た値）

 int Picture# 	ピクチャー番号（LoadPicで得た値）

 int x 	Windowの画面左上からの位置（ｘ座標）

 int y 	Windowの画面左上からの位置（ｙ座標）

 int w 	Windowの横幅

 int h 	Windowの高さ

 int PicX 	表示するピクチャーの左上隅の座標（ｘ座標）

 int PicY 	表示するピクチャーの左上隅の座標（ｙ座標）

 Windowを動かしたり、表示するピクチャーを交換したりします。

関連項目

画像を表示するには, 画像表示の仕組み, 動画のさせかた


MovePic
MovePic関数

MovePic(Picture# , x , y, w, h, Picture#2 , X =0, Y =0, ROP =SRCCOPY, TranspaentColor);

 int Picture# 	ピクチャー番号（LoadPicで得た値）（移動元の番号）

 int x	移動したい矩形の左上の位置（ｘ座標）（移動元）

 int y 	移動したい矩形の左上の位置（ｙ座標）（移動元）

 int w 	矩形の横幅

 int h 	矩形の高さ

 int Picture#2 	ピクチャー番号（LoadPicで得た値）（移動先の番号）

 int X 	移動先の左上の位置（ｘ座標）

 int Y 	移動先の左上の位置（ｙ座標）

 int ROP 	転送方法、詳細はWindowsの本のラスタオペレーションの項を参照して下さい。（転送するだけなら指定しないようにして下さい）なお、透明色転送モードではこの項は無視されます。

 int TranspaentColor	透明色　このパラメータを指定すると透明色転送モード、またはシーンチェンジモードになります。

・透明色転送モード

TranspaentColorに値を指定し、なおかつ、ROPに0を指定したときにこのモードになります。このモードでは透明色に指定された部分は転送先の背景を透かす感じに転送されます。

透明色は通常は１６進６桁で指定します。上位から２桁ずつＢ，Ｇ，Ｒの順に２５６段階で指定します。

例）

真っ赤	0x0000ff

真緑	0x00ff00

真っ青	0xff0000

真っ白	0xffffff

真っ黒	0x000000

なお、指定色にはある程度幅が出てくるので、例えば真っ赤を透明色に指定しても環境によっては0x0000feで指定した赤も透明色とみなされてしまうことがあります。透明色は使われている色に近くないものをご指定ください。

・シーンチェンジモード

TranspaentColorの項に値を指定し、なおかつ、ROPに1～11を指定したときにこのモードになります。このモードでは特殊効果的に時間をかけて徐々に画面転送を行います。 ROPの指定値が特殊効果の種類、 TranspaentColorの項の指定値が５０ｍｓ単位の転送時間の指定になります。

MovePic(1,0,0,320,400,0,0,0,1,100);

例えばこのようにやるとピクチャー番号０の画像にディゾルブを行ないます。

また、全体を５秒で転送します。（ただし、ディゾルブは非常に時間がかかるのでマシンによっては指定時間で終了しないことがあります。）

特殊効果の種類は

1_Dissolve

2_Wipe Top&Down

3_Wipe Right&Left

4_Roll Down

5_Roll Up

6_Roll Right

7_Roll left

8_Scroll Down

9_Scroll Up

10_Scroll Right

11_Scroll left

の11種類が選べます。格調高いタイトルの作成にご利用ください_(__)_

 ピクチャーの内容を長方形に移動します。（ＲａｙでのTRANSFER命令に相当しますが、矩形のサイズがw,hという大きさの指定になっていることに注意してください）　なお、利用にあたってはパレットの仕組みも参照しておいてください。

関連項目

画像を表示するには, 画像表示の仕組み, 動画のさせかた


MoveSPic
MoveSPic関数

MoveSPic(Picture# , x , y, w, h, Picture#2 , X, Y, W, H, ROP =SRCCOPY, TranspaentColor);

 int Picture# 	ピクチャー番号（LoadPicで得た値）（移動元の番号）

 int x	移動したい矩形の左上の位置（ｘ座標）（移動元）

 int y 	移動したい矩形の左上の位置（ｙ座標）（移動元）

 int w 	矩形の横幅

 int h 	矩形の高さ

 int Picture#2 	ピクチャー番号（LoadPicで得た値）（移動先の番号）

 int X 	移動先の左上の位置（ｘ座標）

 int Y 	移動先の左上の位置（ｙ座標）

 int W 	移動先の矩形の横幅

 int H 	移動先の矩形の高さ

 int ROP 	転送方法、詳細はWindowsの本のラスタオペレーションの項を参照して下さい。（転送するだけなら指定しないようにして下さい）なお、透明色転送モードではこの項は無視されます。

 int TranspaentColor	透明色　このパラメータを指定すると透明色転送モードになります。このモードでは透明色に指定された部分は転送先の背景を透かす感じに利用されます。

ピクチャーの内容を拡大、または縮小して指定の矩形のサイズにして転送します。等倍の場合はMovePicをご利用ください。　なお、利用にあたってはパレットの仕組みも参照しておいてください。

透明色は通常は１６進６桁で指定します。上位から２桁ずつＢ，Ｇ，Ｒの順に２５６段階で指定します。

例）

真っ赤	0x0000ff

真緑	0x00ff00

真っ青	0xff0000

真っ白	0xffffff

真っ黒	0x000000

なお、指定色にはある程度幅が出てくるので、例えば真っ赤を透明色に指定しても環境によっては0x0000feで指定した赤も透明色とみなされてしまうことがあります。透明色は使われている色に近くないものをご指定ください。

また、W,Hを負の値にすると左右反転、上下反転の画像を作れます。ただし、この際は転送先の座標が左上の指定値ではなく、右上や右下、左下になるので注意が必要です。

関連項目

画像を表示するには, 画像表示の仕組み, 動画のさせかた


DelPic
DelPic関数

DelPic(Picture# );

 int Picture# 	ピクチャー番号（LoadPicで得た値）

 ピクチャーをメモリから削除します。これ以降新しくLoadPic()を行うまでこのピクチャー番号は利用できません。また、利用中のピクチャーに対して実行しないでください。画面の再描画ができなくなります。

関連項目

画像を表示するには, 画像表示の仕組み, 動画のさせかた


CloseWin
CloseWin関数

CloseWin( Win# );

 int Win# 	ウィンドウ番号（OpenWinで得た値）

 Windowを閉じます。ただし、この関数の実行直後にはまだウィンドウは破棄されていません。メッセージ待ち状態のようなアイドル状態になった時に破棄は実行されます。


CloseWinAll
CloseWinAll関数

CloseWinAll();

すべてのWindowを閉じます。ただし、この関数の実行直後にはまだウィンドウは破棄されていません。メッセージ待ち状態のようなアイドル状態になった時に破棄は実行されます。


Random
Random関数

Random( MAX );

 int MAX 乱数の最大値（１～６５５３５）

 返り値：０～ＭＡＸ－１までの乱数値

 乱数を生成し、返します


MakeLong
MakeLong関数

MakeLong( Low ,Hi );

int Low 下位の位置へ入れる値

int Hi 上位の位置へ入れる値

返り値：詰め込まれた値

 -32,768～32,767の数値をもった２つの数値を１つの値に詰め込みます。メッセージのやり取りの際に利用してください。

関連項目

GetHiWord, GetLowWord


GetHiWord
GetHiWord関数

GetHiWord( Packed );

int Packed ２つの数値が詰め込まれた値

返り値：詰め込まれた値から取り出した上位の数値

MakeLong関数などで詰め込まれた値から上位の数値を取り出します。メッセージのやり取りの際に利用してください。

関連項目

MakeLong, GetLowWord


GetLowWord
GetLowWord関数

GetLowWord( Packed );

int Packed ２つの数値が詰め込まれた値

返り値：詰め込まれた値から取り出した下位の数値

MakeLong関数などで詰め込まれた値から下位の数値を取り出します。メッセージのやり取りの際に利用してください。

関連項目

MakeLong, GetHiWord


プリプロセッサ

 コメント

 #include（ファイルの埋めこみ）

 #info（作品情報）


コメント

書式

/* */

または

 //

内容

「/*」と「*/」で囲まれた領域、「//」から改行までの領域はコメントとして解釈の前に除去されます。


#include
#include　（ファイルの埋めこみ）

書式

#include "ファイル名"

内容

指定したファイルの内容を読み、その部分に埋めこみます。


#info
#info　（作品情報）

書式

#info 作品情報種別 "作品情報"

内容

作品に埋めこむ作品情報を指定します。作品情報種別は以下の表に示される４文字の半角アルファベットです。この作品情報は著作者を明確にし、鑑賞環境を指定し、作品の検索、管理に用いますのでできる限りたくさんの項目に詳細に記述して下さい。なお、「I」で始まる作品情報種別は一般に用いられている作品情報で、それ以外のものはFILLYの拡張部分です。

INAM	タイトル（作品の主題のタイトル）
ISBJ	内容（タイトルよりは説明的な内容説明）
IART	アーティスト
ICRD	作成日（ TOFFY が自動生成）
ICMS	クライアント（作品作成を依頼した人物、団体名）
ICMT	コメント（複数の文からなる場合は半角ピリオド「.」で区切る）
ICOP	著作権（複数の場合セミコロン＋空白「; 」で区切る）
ICRP	クロップ（断ち落とし）
IDIM	サイズ（寸法、例えば「8.5 in h, 11 in w」のように指定します）
IENG	エンジニア（複数の人の場合はセミコロン＋空白「; 」で区切る）
IGNR	ジャンル（「landscape」、「portrait」のように指定します）
IKEY	キーワード（作品検索用キーワード、複数の場合はセミコロン＋空白「; 」で区切る）
IPRD	製品名（作品の本来の目的の製品名）
ISFT	コード生成（ TOFFY が自動生成）
GENR	構成要素：music, sound, graphic, photograph, video, animation, lyric, novel, poem,joy,utilityなど、関連する要素を列挙する。（間はセミコロン＋空白「; 」で区切る）
MDFY	改変の許可、次の４つのうちから英単語１つを選んで記述して下さい。不可：NO, 可：OK, 申請を要する：Ask me, その他：Other
TRNS	転載の許可、次の４つのうちから英単語１つを選んで記述して下さい。不可：NO, 可：OK, 申請を要する：Ask me, その他：Other
JINT	合作の希望、次の４つのうちから英単語１つを選んで記述して下さい。望まない：NO, 希望：Hope, 相談の上：Ask me, その他：Other
INST	想定している音源、次のうちから１つを選んで記述して下さい。FM音源：FM, MIDI音源：MT32, CM-64, GS, GM, XG, Soft_Emulate その他：Other
VIDO	想定しているビデオカード、次のうちから２つを選んで記述して下さい。解像度：640x400, 640x480, 800x600, 1024x768, 1280x1024,...    発色数：Monochrome, 16, 256, 65536, 16M
COMP	作曲者：人名[,Net-ID[,...]]; で指定（[]内は省略可）。複数の場合続けて記述して下さい。なお、Net-IDはインターネット形式で指定します。NIFTY-Serve:ID@niftyserve.or.jp, PC-VAN:ID@pcvan.or.jp 例）#info COMP "Tomoyuki,SDI00687@niftyserve.or.jp, VSC76195@pcvan.or.jp, tomo@mtl.t.u-tokyo.ac.jp"
ARNG	編曲者：指定方法はCOMPに準拠
SEQR	MIDI打ち込み担当：指定方法はCOMPに準拠
LYRC	作詞家：指定方法はCOMPに準拠
GRPC	作画者：指定方法はCOMPに準拠
WRIT	著述者：指定方法はCOMPに準拠
EFCT	効果担当：指定方法はCOMPに準拠
VOIC	音声：指定方法はCOMPに準拠
CAMR	記録者：指定方法はCOMPに準拠
RMIX	編集者：指定方法はCOMPに準拠
PROD	製作者：指定方法はCOMPに準拠
THKS	協力者：指定方法はCOMPに準拠
CONT	連絡先（作品に関するメールの送り先）：指定方法はCOMPに準拠

注意

同じ作品情報種別での指定を複数行った場合、最後のものだけが有効になります。


関数

TOFFYシナリオでは特定の機能を一つにパックして関数にします。例えば「main()」も関数ですし、「PlayMIDI()」などは最初から定義されている関数です。しかし、「main()」しか関数を使わなくてもTOFFYシナリオは作成できます。ご自分にあったスタイルのコーディングを行ってください。

関数は関数の外で宣言します。（例えば「main()」の関数の最後の「}」が来る前に新しく宣言しても認識されません）

書式 （[ ]内は省略可能）

[型宣言]　関数名([[引き数のデータ型] 引き数1[=省略値1], 引き数2,..., 引き数n]){

文;

}

型宣言は「int」（整数）又は「str」（文字列）のどちらかで、関数からの返り値の型を指定します。無指定の場合は整数型になります。また、文字列型の関数を呼び出す場合、関数の定義自体がその呼び出しよりも前の位置にある必要があります。（文字列型関数はできるだけ前のほうに書く）　もし、前の位置に記述できない場合は次のように型指定だけ前の位置で行っておいてください。

str 関数名();

引き数は関数に引き渡す数値、文字列です。データ型を宣言しないと整数を引き渡すと解釈されます。文字列を渡す場合は明示的に「str」とデータ型宣言を行ってください。

また、「=」で省略した時の指定値を設定する事ができます。しかし、その際は省略値を設定した引き数より右の位置に省略値の無い引き数があってはなりません（右詰めで行ってください）。

引き数省略値例

test(a=0, str b="ABC")

{

文;

}

と、定義された関数なら、test(1);と呼び出すとbは"ABC"と設定されます。


文

 式文

 if、else文（条件分岐）

 while文

 for文（くり返し文）

 break文

 return文

 goto文

 step文(end_step, reset_step)

 mes文(del_me, del_us, del_all)


式文

式;

式を実行する為の文です。セミコロン「;」を忘れずに付加して下さい。


if、else文
if、else文（条件分岐）

（ただしelse ifは未対応）

書式

if(条件式){

文１

}else{

文２

}

条件式が真なら文１が実行され、偽なら文２が実行されます。文１、文２ともに単文であれば{}はいりません。また、文２が必要なければelse以下は不要です。


while文

書式

while(条件式){

文

}

内容

条件式が真である間、文が実行され続けます。この文は内部では次のようなifとgotoの組み合わせで実現されています。

label:;

if(条件式){

文

goto	label;

}


for文
for文（くり返し文）

書式

for(式１;式２;式３){

文

}

内容

まず、式１を実行し、式２を評価して真なら文を実行し式３を実行し、式２の評価に戻ります。しかし、通常は以下のように指定回数の繰り返しに利用します。

１０回文を繰り返すなら下のようにして下さい。10の部分を好きな回数に変えて利用して下さい。

for(i=0;i<10;i=i+1){

文

}


break文

書式

break;

内容

for,whileのループから強引に抜ける時に使います。ループの中にあるループから抜ける時は１段だけ抜け、一つ前のループに入ります。


return文

書式

return;

または

return(式);

内容

呼び出された関数に戻ります。式を指定した場合は式を実行の後、それを関数の返り値として戻ります。


goto文

書式

goto ラベル;

内容

ラベルのある所にジャンプします。Ｃ言語では使用は控えるような習慣がありますが、TOFFYシナリオではそういう事を気にせずにたくさん使って下さい。ただし、関数をまたいでのgotoは決して実行しないでください。必ず同一関数内でのジャンプにして下さい。

関連文

ジャンプ先の指定

ラベル名:;

ジャンプしたい所に設定して下さい。コロンとセミコロンの２つが必要です。


step文
step文（順次実行文）

書式（[ ]内は省略可能）

step[(wait times)]{,,, …,}

wait timesは何回おきに実行を進めるかを指定する整数です

内容

{}内に列挙した文を「,」が来るまで実行します。そしてその次に呼ばれた時は次の文群を実行します。例は順次処理を参照して下さい。

関連文

end_step	step文の実行を止める
reset_step	step文のリセット

step文の実行を止めるにはend_stepを実行します。この後はstep文を実行しても何も起こらなくなります。また、 step文の実行をリセットし、初めから実行しなおすにはreset_stepを実行します。この２つの命令は該当step文内、または最後に通過したstep文に対して有効になります。


mes文

書式

mes(MESSAGE){}

MESSAGEはＦilly内で飛び交っているメッセージのタイプを指定します。

内容

mes文はメモリに常駐し、指定したメッセージが来るのを待っています。指定したメッセージが来ると{}内に記述してある命令を実行します。この際、マウスボタンが押された座標などの具体的な数値を得る事もできます。これはMesP1,MesP2,MesP3,MesP4の４つのグローバル変数に格納されていますので、一般の変数と同様に扱って下さい。

mes文内ではローカル変数、グローバル変数が使えます。また、明示的に破棄するまでメモリ内に常駐しています。mes文を破棄する方法は以下の３種類用意されています。なお、mes文は実行される度にメモリ内に常駐します。これはmes文内でさらにmes文を実行しても同様です。呼び出し元のmes文をdel_meしても呼び出されたmes文は常駐しています。

関連文

mes文内で以下の文を実行するとmesのメモリ常駐を解除し、破棄します。

del_me	自分自身を終了させる。この命令の直後に命令を書いておいても実行はされません。
del_us	自分と同じ関数内で定義されたmes文を終了します。ただし、自分自身は終了しないので必ず「del_me」と組みになって使って下さい。
del_all	同じＦillyファイル内の自分以外のすべてのmes文を終了します。自分自身は終了しないので必ず「del_me」と組みになって使って下さい。

詳細はメッセージ処理を参照して下さい。


メッセージ一覧

mes文で指定するメッセージの一覧です。（未実装はイタリック ）

TIME	1/20秒ごとに発生するタイマです
MIDI_TIME	16分音符分の間隔ごとに発生するタイマです（PPQN形式のMIDIファイルの演奏でのみ有効）
WAVE_TIME	WAVEを再生中に1/10秒ごとに発生するタイマです
MIDI_KEYON	ＭＩＤＩのキーオンです。チャンネルをMesP1に保持しています
MIDI_END	ＭＩＤＩの演奏終了時
MIDI_START	ＭＩＤＩの演奏開始時
WAVE_END	ＷＡＶＥの再生終了時
WAVE_START	ＷＡＶＥの再生開始時
AVI_END	AVIの再生終了時
AVI_START	AVIの再生開始時
CD_END	CDの再生終了時
CD_START	CDの再生開始時
CAST_SET	画面上にキャラクターを表示したとき
CAST_MOVE	画面上のキャラクターを動作させたとき
CAST_DEL	画面上のキャラクタを消去させたとき
KEY_DOWN	キーボードが押されたとき（綴りはKEY_DOWNです）
CHAR	文字が入力されたとき
MOUSEMOVE	マウスが動かされた時
LBDOWN	マウスの左ボタンが押されたとき
LBUP	マウスの左ボタンが放されたとき
LBDBLCLK	マウスの左ボタンがダブルクリックされたとき
W_CREATE	ウィンドウが作成されたとき
W_DESTROY	ウィンドウが破棄されたとき
DEL	メッセージの破棄の要請を受けたとき（壊される時の指定）
USER	PostMes()関数で利用するプライベートなメッセージ


KEY_DOWN

開いたウィンドウがアクティブ（タイトルバーが強調されている状態）の時、キーの操作があった場合、発生します。CHARよりもハード寄りで、先に届きます。

変数設定内容

MesP1	アクティブなウィンドウ番号
MesP2	仮想キーコード
MesP3	リピートカウント（連打された回数）
MesP4	スキャンコード


MOUSEMOVE

開いたウィンドウ内でマウスカーソルが動かされた場合に発生します。ある程度の時間間隔を置いて発生しますので、１ピクセル動く度に発生するという訳ではありません。

変数設定内容

MesP1	ウィンドウ番号
MesP2	ウィンドウ内のＸ座標
MesP3	ウィンドウ内のＹ座標
MesP4	仮想キー状態


LBDOWN

開いたウィンドウ内でマウスの左ボタンが押された場合に発生します。

変数設定内容

MesP1	ウィンドウ番号
MesP2	ウィンドウ内のＸ座標
MesP3	ウィンドウ内のＹ座標
MesP4	仮想キー状態


LBUP

開いたウィンドウ内でマウスの左ボタンが放された場合に発生します。

変数設定内容

MesP1	ウィンドウ番号
MesP2	ウィンドウ内のＸ座標
MesP3	ウィンドウ内のＹ座標
MesP4	仮想キー状態


LBDBLCLK

開いたウィンドウ内でマウスの左ボタンが押された場合に発生します。

変数設定内容

MesP1	ウィンドウ番号
MesP2	ウィンドウ内のＸ座標
MesP3	ウィンドウ内のＹ座標
MesP4	仮想キー状態


CHAR

開いたウィンドウがアクティブ（タイトルバーが強調されている状態）の時、キーの操作があった場合、発生します。KEYDOWNよりもソフト寄りで、後に届きます。

変数設定内容

MesP1	アクティブなウィンドウ番号
MesP2	仮想キーコード
MesP3	リピートカウント（連打された回数）
MesP4	スキャンコード


式と演算子

定数、文字列、変数、関数呼び出しと演算子を組み合わせて式を構成します。 TOFFYシナリオでサポートしている演算子は以下のものです。

演算子（優先順位順）

型指定子	内容
()	演算をまとめます
-	マイナス符号、正負を逆にします
*,/,%	乗除、モジュロです。 モジュロは割り算の余りを返します
+,-	加減算
<,<=,>,>=	関係演算子。大小を比較して正偽を返します
==,!=	関係演算子。一致を比較して正偽を返します
&&	論理演算子。「かつ」(AND)です。
| |	論理演算子。「または」(OR)です。
=	代入
,	関数へ渡す引き数の区切りです

（下線が引かれている演算子は文字列変数に対しても適用可能です。）


データ型

TOFFYシナリオ内で使用できるデータ型は整数型、文字列型、実数型とそれぞれの配列型です。

型指定子	内容
int	-2147483648～2147483647の整数（デフォルト）
str	文字列（文字数はトータルで30K程度が上限です）
real	倍精度実数（範囲1.7E-308～1.7e308  精度　15桁）

有効範囲

関数内で宣言された変数はローカル変数として理解され、その関数内でのみ有効となり、呼び出した別の関数内、呼び出された関数に戻った後では利用できません。また、呼び出されるたびに不定の値になりますので関数の初めで初期化して下さい。なお、mes()文がメモリに常駐している間はmes()文からはアクセスできます。

関数外で宣言された変数はグローバル変数として理解され、どこからでもアクセスする事ができます。

なお、初期化要素はサポートしていません。


配列

変数宣言時に括弧'[]'を変数名の最後に付加することで配列変数を利用できます。配列の領域は動的に確保されますので宣言時にサイズを規定する必要はありません。配列の要素に値を代入したり、代入した値を取り出すには[]の内部に配列の要素番号を整数で指定します。なお、配列の添え字は0から1,2,3と使ってください。

例）

str strWeek[];

int i;

strWeek[0]="Sunday";

strWeek[1]="Monday";

strWeek[2]="Tuesday";

strWeek[3]="Wednesday";

:

:

TextWrite( StrPrint("Today is %s",strWeek[i]),WinNo);

なお、初期化要素はサポートしていません。

括弧'[]'内に何もかかない場合、参照を意味します。これを利用して関数の引数として配列を渡すことができます。配列に対する処理を行う関数にご利用ください。

例）

{

func(strWeek[],1);

}

func(str String[], int No){

TextWrite( StrPrint("Today is %s",String[No]),WinNo);

}


参照

ポインタに類似したもので、配列の所在地をあらわしたものです。これを関数の引数に使うことで関数に任意の配列を対象とした処理が可能です。


使用語句に関する規約

使用できる文字

TOFFYシナリオ内で使用できる文字はASCIIコード0x20～0x7eの文字です（ほぼ半角の英数字です）。ただし、「"」で括られた内部（文字列）では日本語も利用できます。

名前

変数名、関数名は英字で始まる半角英数文字を使って下さい。長さに制限はありませんが、後で見て分かりやすい名前でなるべく短いものにしてください。アンダーライン「_」も利用できますが、システムで利用しますので先頭は「_」にしないでください。

また、大文字と小文字は厳密に区別されます。

変数の表記方法はハンガリー記法をお薦めします。

予約語

以下のものはシステムで利用しますので変数名、関数名として利用しないでください。

break

case

continue

default

do

else

for

goto

if

return

switch

while

int

real

mes

step

str

end_step

reset_step

del_me

del_us

del_all

定数

整数定数は-2147483648～2147483647の範囲を半角数字の列で指定して下さい。「0x??」という１６進表記も可能です。

文字列定数は「"」で括る事で指定して下さい。文字列定数内では日本語の使用も可能です。（将来的には「\」をエスケープキャラクターとして利用予定なのでこの文字はなるべく使用しないようにしてください）

実数定数には小数点「.」が必ず必要です。例えば、1は1.0と表記する必要があります。


ハンガリー記法

一文字目を変数の種類をあらわす小文字のアルファベットにし、２文字目以降に名前を持ってくる方法です。例えば「FileName」という文字列変数は「sFileName」と表記します。通常整数型はそのままにするか「n」を付け、文字列は「str」か「s」を、実数には「r」を付加します。


TOFFYシナリオの特徴

TOFFYシナリオは基本的にＣ言語の書式を借用したので見た目はＣ言語に類似しています。ですからC言語をつかった事がある方ならすぐに書き始められると思います。ただ、文字列変数があるなど内容はかなり初心者向けにセッティングしてあります。Ｃ言語の最大の特徴であるポインタもありません。ぜひ、プログラミングなどした事が無いという方、Ｃ言語は分からないと思っている方も一度チャレンジしてみてください。

また、Ｃ言語の書式を借用したからといってＣ言語のスタイルに囚われないでください。goto文を乱発したって構いません。ご自分のスタイルにあわせてご自由にコーディングして下さい。


TOFFYってなに？

TOFFYは同梱のＦILLYのためのＦILLYタイトル作成統合環境です。 TOFFYシナリオのコンパイル機能とエディット機能を持っています。 TOFFYシナリオは画像、音楽データなどの素材を組み合わせる手順を書いた文書のことです。詳細はTOFFYシナリオ入門をご覧ください。また、このＦILLYシステムは一通りの動作ができるようになったまだまだ発展中の段階のものです。積極的な利用で要望、バグ報告などを行って下されば幸いです。


素材
現在対応している素材

曲	スタンダードMIDIファイル
音声	WAVEファイル
画像	BMP, μファイル
動画	AVIファイル
外部デバイス	CDプレイヤー

今後、多くの形態のファイルをサポートの予定です。


コンパイル

コンピュータが実行しやすい形式に変換すること。ここではテキストであるTOFFYシナリオを.FILタイトルに変換すること


TOFFYの操作方法

TOFFYを起動するとエディタ画面になります。ここでTOFFYシナリオを記述します。記述しおわったらツールバーの「ＦILLY作成ボタン」（ TOFFYのアイコンに類似したボタン）を押してください。保存の確認の後、指定ファイルを中心にしてコンパイルが開始されます。生成されたＦILLYファイルは拡張子が「.FIL」になっています。

コマンドの詳細

 [ファイル] メニュー

 [編集] メニュー

 [表示] メニュー

 [ウィンドウ] メニュー

 [ヘルプ] メニュー


中心のファイル

TOFFYシナリオは複数のファイルに分かれていても構いません。そのため、「main()」が記述されているTOFFYシナリオファイルを中心のファイルとします。 TOFFYシナリオファイルが１つしかない場合はそれが中心のファイルとなります。

また、複数のTOFFYシナリオファイルがある場合は「#include "ファイル名"」で中心のファイルに連結して下さい。


[ファイル] メニューのコマンド

[ファイル] メニューには以下のようなコマンドがあります。

[新規作成...]	文書を新規に作成します。
[開く...]	既存の文書を開きます。
[閉じる]	現在開いている文書を閉じます。
[上書き保存]	作業中の文書を上書きして保存します。
[名前を付けて保存...]	作業中の文書に新しい名前を付けて保存します。
[印刷...]	文書を印刷します。
[印刷プレビュー]	文書を印刷時のイメージで表示します。
[プリンタの設定...]	プリンタの選択や接続を設定します。
[終了]	TOFFY を終了します。


[編集] メニューのコマンド

[編集] メニューには以下のようなコマンドがあります。

[アンドゥ]	直前に行った操作を元に戻します。
[切り取り]	選択した範囲を切り取って、クリップボードに保存します。
[コピー]	選択した範囲をコピーして、クリップボードに保存します。
[貼り付け]	クリップボードのデータを文書に貼り付けます。
[リンク貼り付け]	クリップボードのデータを他のアプリケーションとリンクさせて貼り付けます。
[リンクの設定...]	文書に埋め込まれたリンクの表示と編集を行います。


[表示] メニューのコマンド

[表示] メニューには以下のようなコマンドがあります。

[ツールバー]	ツールバーの表示または非表示を切り替えます。
[ステータス バー]	ステータス バーの表示または非表示を切り替えます。


[ウィンドウ] メニューのコマンド

[ウィンドウ] メニューには、複数のアプリケーション ウィンドウの表示方法を操作する以下のようなコマンドがあります。

[新しいウィンドウを開く]	現在作業中の文書と同じ内容の新しいウィンドウを開きます。
[重ねて表示]	ウィンドウを重ねて表示します。
[並べて表示]	ウィンドウを並べて表示します。
[アイコンの整列]	ウィンドウの下部にアイコンを整列します。
[ウィンドウ名 1, 2, ...]	指定したウィンドウを表示します。


[ヘルプ] メニューのコマンド

[ヘルプ] メニューには以下のようなコマンドがあります。

[目次]	ヘルプの目次画面を表示します。
[ヘルプの使い方]	ヘルプの使い方の説明を表示します。
[バージョン情報...]	アプリケーションのバージョン情報を表示します。


[新規作成] コマンド
[新規作成] コマンド ([ファイル] メニュー)

TOFFY の新規の文書を作成します。

既存の文書は[開く...] コマンドで開きます。

ショートカット

ツールバー:

キーボード:	[Ctrl]+[N]


[開く...] コマンド
[開く...] コマンド ([ファイル] メニュー)

既存の文書を開きます。[開く...] ダイアログ ボックスを表示します。一度に複数の文書を開くことができます。複数の文書の編集を切り替えるには、[ウィンドウ] メニューの[ウィンドウ名 1, 2, ...] コマンド.を使ってください。

新たに文書を作成するには [新規作成] コマンドを使ってください。

ショートカット

ツールバー:

キーボード:	[Ctrl]+[O]


[開く...] ダイアログ ボックス

[開く...] ダイアログ ボックスでは、以下のオプションが設定できます。

ファイル名

開きたい文書の名前を入力または選択します。リスト ボックスには、[ファイルの種類]ボックスで選択したファイル形式に対応する拡張子を持ったファイルが一覧表示されます。

ファイルの種類

開きたい文書のファイル形式を選択します。

拡張子が「.TFY」のTOFFYシナリオファイルを選択して下さい。

ドライブ

開きたい文書が保存されているドライブを選択します。

ディレクトリ

開きたい文書が保存されているディレクトリを選択します。


[閉じる] コマンド
[閉じる] コマンド ([ファイル] メニュー)

現在アクティブになっている文書のウィンドウを閉じます。ウィンドウを閉じる前に、TOFFY は文書を保存するかどうか確認します。文書を保存しないで閉じた場合、前回の保存時以降に加えた変更内容はすべて失われてしまいます。まだファイル名を付けていない文書を閉じようとすると、TOFFY は[名前を付けて保存] ダイアログ ボックスを表示しますので、作業中の文書に適切なファイル名を付けて保存することができます。

文書のウィンドウのコントロール ボックスをダブル クリックしてウィンドウを閉じることもできます。（下図参照）


[上書き保存] コマンド
[上書き保存] コマンド ([ファイル] メニュー)

作業中の文書のファイル名、保存場所を変更しないで保存します。新規作成した文書を初めて保存するときに、TOFFY は[名前を付けて保存] ダイアログ ボックスを表示しますので、作業中の文書に適切なファイル名を付けて保存することができます。ファイル名、保存場所を変更して保存したいときは、[名前を付けて保存...] コマンドを使います。

ショートカット

ツールバー:

キーボード:	[Ctrl]+[S]


[名前を付けて保存...] コマンド
[名前を付けて保存...] コマンド ([ファイル] メニュー)

作業中の文書にファイル名を付けて保存します。[名前を付けて保存] ダイアログ ボックスを表示しますので、作業中の文書に適切なファイル名を付けて保存することができます。

作業中の文書のファイル名、保存場所を変更しないで保存したいときは、[上書き保存] コマンドを使います。


[名前を付けて保存...] ダイアログ ボックス

[名前を付けて保存...] ダイアログ ボックスでは、ファイル名や保存場所を指定する以下のオプションが設定できます。

ファイル名

元のファイル名と違う名前でファイル名を入力します。ファイル名は半角 8 文字 (全角 4 文字) までで指定し、それに半角 3 文字の拡張子を付けます。

ドライブ

文書を保存するドライブを選択します。

ディレクトリ

文書を保存するディレクトリを選択します。


[ファイル名 1, 2, 3, 4 ...] コマンド
[ファイル名 1, 2, 3, 4,...] コマンド ([ファイル] メニュー)

[ファイル] メニューの下部には、直前に閉じたファイル名が番号とともに最大 4 つまで表示されます。ここから目的のファイルを選択して開くことができます。


[終了] コマンド
[終了] コマンド ([ファイル] メニュー)

TOFFY での作業を終了します。アプリケーション ウィンドウのコントロール メニューにある [閉じる] コマンドを使って作業を終了することもできます。文書に加えた変更点がまだ保存されていないときは、TOFFY は保存するかどうか確認するダイアログ ボックスを表示します。

ショートカット

マウス:	アプリケーション ウィンドウのコントロール メニュー ボックスをダブルクリックします。

キーボード:	[Alt]+[F4]


[アンドゥ/アンドゥできません] コマンド ([編集] メニュー)

可能であれば、直前に行った編集操作をキャンセルし、文書を元に戻します。直前の操作の内容によってコマンド名は変わります。また、操作によってはキャンセルできないものもあり、淡色で [アンドゥできません] と表示されます。

ショートカット

ツールバー:

キーボード:	[Ctrl]+[Z] または

[Alt]+[BackSpace]


[リドゥ] コマンド ([編集] メニュー)

直前に行ったアンドゥ操作をキャンセルし、文書を元に戻します。


[切り取り] コマンド ([編集] メニュー)

現在選択しているデータを文書から削除してクリップボードに保存します。データが選択されていないときは、このコマンドは使用できません。

データをクリップボードに切り取ると、それまでクリップボードに保存されていた内容は新たに切り取った内容に置換されてしまいます。

ショートカット

ツールバー:

キーボード:	[Ctrl]+[X]


[コピー] コマンド ([編集] メニュー)

現在選択しているデータを文書からコピーしてクリップボードに保存します。データが選択されていないときは、このコマンドは使用できません。

データをクリップボードにコピーすると、それまでクリップボードに保存されていた内容は新たにコピーした内容に置換されてしまいます。

ショートカット

ツールバー:

キーボード:	[Ctrl]+[C]


[貼り付け] コマンド ([編集] メニュー)

クリップボードの内容のコピーをカーソルの位置に挿入します。クリップボードに何も保存されていないときは、このコマンドは使用できません。

ショートカット

ツールバー:

キーボード:	[Ctrl]+[V]


[ツールバー] コマンド
[ツールバー] コマンド ([表示] メニュー)

ツールバーの表示、非表示を切り替えます。ツールバーには、[開く...］、[コピー］、[印刷...]などの、TOFFY で最もよく使われるコマンドと同じ機能を持ったツールが含まれています。ツールバーが表示されているときは、このコマンド名の横にチェックマークが表示されます。

詳しくは、 ツールバー を参照してください。


ツールバー

ツールバーは、アプリケーション ウィンドウ上部で、メニュー バーのすぐ下に表示されます。ここに含まれるツールをマウスでクリックして操作します。

ツールバーの表示と非表示を切り替えるには、[表示] メニューの [ツールバー] コマンドを選択します。

ツール	機能

文書を新規に作成します。

既存の文書を開きます。TOFFY は [開く] ダイアログ ボックスを表示しますので、開きたいファイルを選択します。

作業中の文書を上書きして保存します。まだ文書に名前を付けていないときは、[名前を付けて保存] ダイアログ ボックスが表示されます。

文書を印刷します。

Ｆillyファイルへのコンパイルを開始します。

選択した範囲を切り取って、クリップボードに保存します。

選択した範囲をコピーして、クリップボードに保存します。

クリップボードのデータを文書に貼り付けます。

直前に行った操作を元に戻します。


[ステータス バー] コマンド
[ステータス バー] コマンド ([表示] メニュー)

ステータス バーの表示、非表示を切り替えます。ステータス バーには、メニュー コマンドやツールバーのボタンを選択したときにコマンドの簡単な説明や、キーボードの特殊キーのON/OFF の状態などが表示されます。ステータス バーが表示されているときは、このコマンド名の横にチェックマークが表示されます。

詳しくは、[ステータス バー] を参照してください。


ステータス バー

ステータス バーは、TOFFY のウィンドウの一番下に表示されます。ステータス バーの表示、非表示を切り替えるには、[表示] メニューの [ステータス バー] コマンドを選択してください。

ステータス バーの左側の部分には、メニューコマンドを選択したときにそれぞれの簡単な説明が表示されます。同様に、ツールバーのボタンを押したままにしても簡単な説明が表示されます。説明を見た後でそのツールバーのコマンドの実行を中止したいときは、マウス ポインタをそのツールバー ボタン以外の位置に移動してマウス ボタンを離します。

ステータス バーの右側の部分には、以下のキーの ON/OFF の状態が表示されます。

表示	説明

KANA	[カナ] キーが ON の状態

CAP	[Caps Lock] キーが ON の状態

NUM	[Num Lock] キーが ON の状態

SCRL	[Scroll Lock] キーが ON の状態


[新しいウィンドウを開く] コマンド ([ウィンドウ] メニュー)

作業中のウィンドウと同じ内容を表示する別のウィンドウを開きます。1 つの文書に対して複数のウィンドウを開くことができるので、1 つの文書のいろいろな部分をそれぞれのウィンドウに表示することができます。1 つのウィンドウで文書の内容を変更すると、その文書を表示する他のすべてのウィンドウにもその変更が反映されます。新規ウィンドウを開くと、そのウィンドウがアクティブになり、他のウィンドウの前面に表示されます。


[重ねて表示] コマンド ([ウィンドウ] メニュー)

複数のウィンドウを重ねて表示します。


[並べて表示] コマンド ([ウィンドウ] メニュー)

複数のウィンドウを並べて表示します。


[縦に並べて表示] コマンド ([ウィンドウ] メニュー)

複数のウィンドウを縦に並べて表示します。


[横に並べて表示] コマンド ([ウィンドウ] メニュー)

複数のウィンドウを横に並べて表示します。


[アイコンの整列] コマンド ([ウィンドウ] メニュー)

アプリケーションのメイン ウィンドウの一番下にアイコン化されているウィンドウを整列させます。文書のウィンドウが開いていて、メイン ウィンドウの一番下の部分にかかっている場合、このウィンドウの下になっているアイコンは見えません。


[ウィンドウ名 1, 2, ...] コマンド ([ウィンドウ] メニュー)

TOFFY が現在開いている文書ウィンドウのリストが [ウィンドウ] メニューのいちばん下に表示されます。また、現在アクティブになっている文書ウィンドウ名の横にチェックマークが表示されます。アクティブにしたい文書ウィンドウを選択してください。


[目次] コマンド ([ヘルプ] メニュー)

ヘルプの最初の画面を表示します。この画面から、TOFFY の操作手順やリファレンスなど関連情報の項目へジャンプしてヘルプを読むことができます。

ヘルプ項目を参照した後、最初の画面に戻るには、ヘルプ ウィンドウの <目次> ボタンを選択します。


[ヘルプの使い方] コマンド ([ヘルプ] メニュー)

ヘルプの使い方の説明を表示します。


[バージョン情報...] コマンド ([ヘルプ] メニュー)

TOFFY のバージョンや版権などについての情報を表示します。


[状況依存のヘルプ] コマンド

TOFFY さまざまな部分についてのヘルプ情報を表示します。ツールバーの [状況依存のヘルプ] ボタンを選択すると、マウス ポインタの形が矢印と疑問符を組み合わせたものに変わります。この状態で、ツールバーの他のボタンなど、TOFFY のウィンドウの部分をクリックすると、その部分に対応するヘルプ情報が表示されます。

ショートカット

キーボード:	[Shift]+[F1]


タイトル バー

ウィンドウ上端の、アプリケーション名や文書名が表示される部分です。

タイトル バーをドラッグして、ウィンドウを移動できます。

参考: ダイアログ ボックスにもタイトル バーがあり、ドラッグして移動することができます。

タイトル バーには次の要素が含まれます。

 アプリケーションのコントロール メニュー ボックス

 文書のコントロール メニュー ボックス

 <最大表示> ボタン

 <アイコン化> ボタン

 アプリケーション名

 文書名

 <元のサイズに戻す> ボタン


スクロール バー

文書ウィンドウの右端と下端に表示されます。スクロール バーの中のスクロール ボックスは、文書中の現在の位置を示します。マウスを使うと文書内の他の部分へスクロールすることができます。


[サイズ変更] コマンド (コントロール メニュー)

このコマンドを選択すると、マウス ポインタが上下左右に矢印の付いた形 (下図参照) に変わります。この状態で、方向キーを使って作業中のウィンドウのサイズを変更することができます。

マウス ポインタの形が変わったら、以下の操作を行います。

1.	方向キーのどれか 1 つ (上、下、左、右) を使ってウィンドウの境界を移動します。

2.	もう 1 つの方向にウィンドウの境界を移動します。

3.	ウィンドウが目的のサイズになったら、[Enter] キーを押します。

注意: このコマンドはウィンドウが最大表示されているときには使用できません。

ショートカット

マウス:	ウィンドウの角か境界のサイズ バーをドラッグします。


[移動] コマンド (コントロール メニュー)

このコマンドを選択すると、マウス ポインタが上下左右に矢印の付いた形 (下図参照) に変わります。この状態で、方向キーを使って作業中のウィンドウを移動することができます。

注意: このコマンドはウィンドウが最大表示されているときには使用できません。

ショートカット

キーボード:	[Ctrl]+[F7]


[アイコン化] コマンド
[アイコン化] コマンド (コントロール メニュー)

TOFFY のウィンドウをアイコン化して表示します。

ショートカット

マウス:	タイトル バーの [image] をクリックします。

キーボード:	[Alt]+[F9]


[最大表示] コマンド (コントロール メニュー)

作業中のウィンドウを、使用可能なスペースいっぱいに拡大します。

ショートカット

マウス:	タイトル バーの [image] をクリックします。

または、タイトル バーをダブル クリックします。

キーボード:	[Ctrl]+[F10] (文書ウィンドウの場合)


[次のウィンドウに移る] コマンド (文書コントロール メニュー)

開かれている次の文書ウィンドウをアクティブにします。どの文書ウィンドウがアクティブになるかは、開かれた順番によります。

ショートカット

キーボード:	[Ctrl]+[F6]


[前のウィンドウに戻る] コマンド (文書コントロール メニュー)

開かれている複数の文書ウィンドウから、以前に開かれていた文書ウィンドウをアクティブにします。どの文書ウィンドウがアクティブになるかは、開かれた順番によります。

ショートカット

キーボード:	[Shift]+[Ctrl]+[F6]


[閉じる] コマンド (コントロール メニュー)

作業中のウィンドウやダイアログ ボックスを閉じます。

コントロール メニュー ボックスをダブル クリックしても閉じることができます。

注意:	1 つの文書に対して複数のウィンドウが開いている場合、文書ウィンドウのコントロール-[閉じる] コマンドを選択しても、閉じられるのはそのウィンドウだけです。同じ文書のすべてのウィンドウを一度に閉じるには、[ファイル] メニューの [閉じる] コマンドを使います。

ショートカット

キーボード: 	[Ctrl]+[F4] (文書ウィンドウの場合)

[Alt]+[F4] (TOFFYウィンドウおよびダイアログ ボックスの場合)


[元のサイズに戻す] コマンド (コントロール メニュー)

最大表示、またはアイコン化されたアクティブ ウィンドウを以前のサイズおよび位置に戻します。


[アプリケーションの切り替え...] コマンド (アプリケーション コントロール メニュー)

現在起動しているアプリケーションの一覧を表示します。この"タスク リスト"で、アプリケーションを切り替えたり終了させたりできます。

ショートカット

キーボード:	[Ctrl]+[Esc]

ダイアログ ボックスのオプション

ダイアログ ボックスで以下のオプションが指定できます。

アプリケーションの切り替え

使用するアプリケーションまたは閉じるアプリケーションを選択します。

切り替え

選択されたアプリケーションをアクティブにします。

アプリケーションの終了

選択されたアプリケーションを閉じます。

キャンセル

ダイアログ ボックスを閉じます。

重ねて表示

起動しているアプリケーションのウィンドウを順々に重ねて、それぞれのタイトル バーが見えるように表示します。アイコン化されているアプリケーションは並びかえられません。

並べて表示

起動しているアプリケーションのウィンドウを互いに重なり合わないように表示します。アイコン化されているアプリケーションは並びかえられません。

アイコンの整列

アイコン化されているアプリケーションを画面の下部に並べて表示します。


[ルーラー] コマンド
[ルーラー] コマンド ([表示] メニュー)

<< アプリケーション固有の情報をここに記述してください。>>


[フォントの指定] ダイアログ ボックス

<< アプリケーション固有の情報をここに記述してください。>>


[色の指定] ダイアログ ボックス

<< アプリケーション固有の情報をここに記述してください。>>


[文字列の検索] コマンド
[文字列の検索] コマンド ([編集] メニュー)

<< アプリケーション固有の情報をここに記述してください。>>


[文字列の検索] ダイアログ ボックス

<< アプリケーション固有の情報をここに記述してください。>>


[文字列の置換] コマンド
[文字列の置換] コマンド ([編集] メニュー)

<< アプリケーション固有の情報をここに記述してください。>>


[文字列の置換] ダイアログ ボックス

<< アプリケーション固有の情報をここに記述してください。 >>


[リドゥ] コマンド
[リドゥ] コマンド ([編集] メニュー)

直前に行った編集の操作を繰り返します。直前の操作が繰り返しできないものであるときは、淡色で [リドゥできません] と表示されます。

ショートカット

キーボード:	[F4]


HID_FILLY_DO
Ｆilly実行 コマンド

Ｆillyを実行します。編集中のTOFFYシナリオがあればコンパイルされた後にＦillyに渡されます。

ショートカット

キーボード: [Ctrl]+D


[削除] コマンド
[削除］コマンド ([編集] メニュー)

<< アプリケーション固有の情報をここに記述してください。 >>


[すべて削除] コマンド
[すべてを削除] コマンド ([編集] メニュー)

<< アプリケーション固有の情報をここに記述してください。 >>


[次のペイン］ コマンド
[次のペイン] コマンド

<< アプリケーション固有の情報をここに記述してください。 >>


[前のペイン］ コマンド
[前のペイン] コマンド

<< アプリケーション固有の情報をここに記述してください。 >>


文書の変更

開いている子ウィンドウにTOFFYシナリオを記述します。 TOFFYシナリオ入門をご覧ください。


ヘルプ項目がありません

ウィンドウのこの領域のヘルプ情報はありません。


ヘルプ項目がありません。

このメッセージ ボックスに関するヘルプ情報はありません。


[印刷]コマンド
[印刷] コマンド ([ファイル] メニュー)

文書を印刷します。印刷したいページや部数、印刷するプリンタやプリンタのオプションなどを設定する[ファイルの印刷]ダイアログ ボックスを表示します。

ショートカット

ツールバー:

キーボード:	[Ctrl]+[P]


[ファイルの印刷] ダイアログ ボックス

文書の印刷に関する以下のオプションが設定できます。

プリンタ

現在選択されているプリンタとプリンタ ポートが表示されます。現在選択されているプリンタやプリンタの接続を変更するには、<プリンタの選択...>ボタンを押してください。

プリンタの選択

[プリンタの設定]ダイアログ ボックスを表示します。プリンタの選択や接続を設定します。

印刷範囲の選択

印刷したいページを指定します。

全ページ	文書をすべて印刷します。
選択した部分	文書の現在選択している部分を印刷します。
ページ指定	2 つのボックスに印刷したいページの範囲を指定します。
部数

印刷したい部数を指定します。

部単位で印刷

複数の部数を印刷する場合、各ページを指定した部数ずつ印刷するのではなく、ページ順に指定した部数を印刷します。

印刷品質

印刷の品質を選択します。一般的には、低い品質で印刷したほうが印刷時間は短くなります。


[印刷中]ダイアログ ボックス

<<YourApp>> が印刷するデータをプリンタに送っているあいだには、[印刷中...]ダイアログ ボックスが表示されます。現在印刷中のページ番号を表示します。

印刷を中止するには、<キャンセル>ボタンを押してください。


[印刷プレビュー]コマンド
[印刷プレビュー] コマンド ([ファイル] メニュー)

作業中の文書を印刷時のイメージで印刷プレビュー画面に表示します。印刷プレビュー画面はメインのウィンドウと入れ代わり、印刷時のイメージを 1 または 2 ページ表示します。画面上部に表示される印刷プレビュー ツールバーを使って、 1 または 2 ページの画面表示の切り替え、表示するページの変更、表示の拡大縮小、印刷の開始などを行うことができます。


印刷プレビュー ツールバー

印刷プレビュー ツールバーには、以下のような操作が行えます。

印刷

[印刷]ダイアログボックスを表示し、印刷を開始します。

次ページ

次のページをプレビューします。

前ページ

前のページをプレビューします。

1 ページ / 2 ページ

印刷プレビュー画面に表示するページ数を切り替えます。

拡大

現在表示しているページを拡大します。

縮小

現在表示しているページを縮小します。

閉じる

印刷プレビュー画面を閉じ、メインのウィンドウに戻ります。


[プリンタの設定]コマンド
[プリンタの設定] コマンド ([ファイル] メニュー)

[プリンタの設定]ダイアログ ボックスを表示します。プリンタの選択や接続を設定します。


[プリンタの設定] ダイアログ ボックス

プリンタの選択や接続、およびさまざまな設定を行います。

プリンタの選択

使用するプリンタを選択します。[通常使うプリンタ] または [その他のプリンタ]が選択できます。システムに 1 台以上のプリンタがインストールされているときには、ドロップダウン リストボックスから使用したいプリンタを選択できます。新たにプリンタをインストールしたり、プリンタ ポートの設定を行いたいときは、コントロール パネルを使ってください。

印刷の向き

用紙に印刷する向きの縦か横かを指定します。

用紙サイズ

文書を印刷する用紙のサイズを指定します。

給紙方法

複数の給紙トレーを持つプリンタの場合、使用するトレーを指定します。

オプション

選択されたプリンタに固有のオプションを設定するダイアログボックスを表示します。


[ページの設定]コマンド
[ページの設定] コマンド ([ファイル] メニュー)

<< アプリケーション固有の機能の説明をここに記述してください。>>