; ; HSP help manager用 HELPソースファイル ; (先頭が「;」の行はコメントとして処理されます) ; %type 内蔵命令 %ver 2.61 %note ver2.61標準命令 %date 2004/03/01 %author onitama %url http://www.onionsoft.net/ %index bcopy ファイルのコピー %group ファイル操作命令 %prm "filename1","filename2" "filename1" : コピー元ファイル名 "filename2" : コピー先ファイル名 %inst "filename1"のファイルを"filename2"というファイル名にコピー します。 %href bload bsave %index chdir ディレクトリ移動 %group ファイル操作命令 %prm "dirname" "dirname" : 移動先ディレクトリ名 %inst "dirname"で指定した名前のディレクトリに移動します。 指定したディレクトリが存在しないか、書式が間違っている場合はFile I/O errorとなります。 カレントディレクトリは、システム変数curdirで参照することができます。 %index delete ファイル削除 %group ファイル操作命令 %prm "filename" "filename" : 削除するファイル名 %inst "filename"で指定したファイルを削除します。 指定したファイルが存在しないか、書式が間違っている場合はFile I/O errorとなります。 %index dirlist ディレクトリ一覧を取得 %group ファイル操作命令 %prm p1,"filemask",p2 p1=変数 : ディレクトリ一覧を格納する文字列型変数 "filemask" : 一覧のためのファイルマスク p2=0〜(0) : ディレクトリ取得モード %inst カレントディレクトリのファイル一覧を作成して、変数に代入します。 "filemask"で、一覧を作成するためのファイルマスクを指定します。 ファイルマスクは、「*.*」のようなワイルドカードの形で指定するパラメータです。 たとえば、「*.as」というファイルマスクではasという拡張子を持つファイルすべての一覧を 作成します。カレントディレクトリにあるすべてのファイル一覧を作成する場合は、「*.*」になります。 ディレクトリ一覧は、p1で指定された文字列型の変数に、1ファイルごとに「\n」で区切られた文字列 として代入されます。このデータは、メモリノートパッド命令で扱うことができる形式です。 ^ 変数に指定されたバッファよりも大きなサイズが代入される場合には、 自動的に新しいサイズで確保し直して実行を行ないます(バッファ自動増加機能)。 ver2.55までは、ディレクトリ一覧のためにある程度のメモリ容量を確保しておく必要がありましたが、 ver2.6以降は自動的に確保されるためメモリサイズを気にする必要はありません。 ^ dirlist命令が実行されると、システム変数statに一覧が作成されたファイルの数が代入されます。 ファイルが1つもない場合は、システム変数statに0が代入されます。 p2のモードを指定することによって、取得するファイルの種類を選ぶことができます。 モード値の詳細は以下の通りです。モードが省略されている場合は0になります。 ^p モード 取得される内容 ------------------------------------------ 0 すべてのファイル 1 ディレクトリを除くすべてのファイル 2 隠し属性・システム属性を除くすべてのファイル 3 ディレクトリ・隠し属性・システム属性以外のすべてのファイル 5 ディレクトリのみ 6 隠し属性・システム属性ファイルのみ 7 ディレクトリと隠し属性・システム属性ファイルのみ ^p ("filemask"にDOSのファイル名またはディレクトリ名を指定すると、 長いファイル名・ディレクトリ名に変換することができます。) %sample sdim a,64 dirlist a,"*.*" ; カレントディレクトリの取得 mes a ; 内容の表示 stop %index exist ファイルのサイズ取得 %group ファイル操作命令 %prm "filename" "filename" : サイズを調べるファイルの名前 %inst "filename"で指定したファイルが存在するかをチェックして、 そのファイルサイズを取得します。exist命令が実行されると、 システム変数strsizeに結果が反映されます。 ^ ファイルが存在する場合は、そのファイルサイズがstrsizeに 代入されます。もしファイルが存在しなかった場合は、-1が strsizeに代入されます。 %index mkdir ディレクトリ作成 %group ファイル操作命令 %prm "dirname" "dirname" : 作成するディレクトリ名 %inst "dirname"で指定した名前でディレクトリを作成します。 ディレクトリは1階層先までしか作成することができません。 作成中にエラーが発生した場合はFile I/O errorとなります。 %index bload バッファにファイルをロード %group ファイル操作命令 %prm "filename",p1,p2,p3 "filename" : ロードするファイル名 p1=変数 : 変数名 p2=64〜 : ロードされるサイズ(Byte単位) p3=0〜(-1): ファイルのオフセット %inst ファイルの内容をメモリバッファに読み込みます。 通常は、sdim命令で確保したメモリバッファに対して使用しますが、 通常の変数や、配列変数の内容に対して使うこともできます。 通常は、p2のバッファサイズを指定しなくても、自動的に変数 バッファのサイズに合わせてデフォルトが設定されます。 ^ また、bload命令実行後は、システム変数strsizeに読み込んだ データのサイズが反映されます。 ^ ファイルのオフセット値を指定すると、その値だけファイルの先頭からずらした 場所からが操作の対象になります。たとえば、bload命令でオフセット値を100に 指定すると、通常はファイルの先頭からデータをメモリに読み込むところを、 先頭から100バイト過ぎた場所(100バイトスキップして)からメモリに読み込まれ ます。 ^ これにより、大きなファイルの一部だけを読み込むことや、分割して処理する ことなどが可能になります。 ^ また、サイズに応じてメモリサイズを自動的に調節するnoteload命令も用意されています。 %href noteload bcopy bsave %index bsave バッファをファイルにセーブ %group ファイル操作命令 %prm "filename",p1,p2,p3 "filename" : セーブするファイル名 p1=変数 : 変数名 p2=64〜 : セーブするサイズ(Byte単位) p3=0〜(-1): ファイルのオフセット %inst メモリバッファの内容をファイルに書き出します。 通常は、alloc命令で確保したメモリバッファに対して使用しますが、 通常の変数や、配列変数の内容に対して使うこともできます。 ^ ファイルのオフセット値を指定すると、その値だけファイルの先頭からずらした 場所からが操作の対象になります。 bsave命令でオフセットを指定すると、ファイルの先頭から任意のサイズを過ぎた 場所からセーブを行なうことが可能です。 (この場合は、それオフセットより前のファイル内容は変化しません) ^ これにより、大きなファイルの一部だけを更新することや、分割して処理する ことなどが可能になります。 %href notesave bcopy bload %index memfile メモリストリーム設定 %group ファイル操作命令 %prm p1,p2,p3 p1=変数 : ストリーム対象となる変数名 p2=0〜(0) : バッファのオフセット p3=0〜(MAX) : バッファのサイズ %inst メモリストリーム機能によってファイルの替わりとして扱うメモリ 空間を持った変数を設定します。 p1で指定された変数は、これ以降に「MEM:ファイル名」で 指定されたファイルの読み出し元となります。 p2で、オフセット(読み出す際の先頭位置)を指定します。0が指定されるか 省略された場合は、バッファの先頭から読み出されます。 p3で、読み出す対象となるサイズを指定します。0が指定されるか、 省略された場合は、変数のバッファ全体が対象となります。 メモリストリーム機能を使うことで、「picload "MEM:a.jpg"」と指定 すれば変数バッファの内容を画像ファイルとして扱うことが可能です。 ただし、picload命令やsndload命令など拡張子をファイル種別として判断 している場合には、ダミーのファイル名(「MEM:a.jpg」など)を指定する ようにしてください。また、拡張プラグインに渡すファイル名に関しては、 メモリストリーム機能は適用されませんので注意してください。 ^ メモリストリーム機能は、独自形式のアーカイブや暗号形式を用意して その内容を読み出して画像として展開する場合など、特殊な場面でのみ使われる ことを想定したものです。 %href bload picload sndload