アクセシビリティ
Adobe
サインイン 注文状況 ユーザー登録

TechNote

FileIO Xtra の使い方


FileIO Xtra
Version 1.0. CH


FileIO Xtra for Macromedia Director 6J

FileIO は、Macromedia Director 6J ユーザが Lingo スクリプト言語を使ってファイルにアクセスするメソッドを提供します。

FileIO の使用

Director 6J をインストールすると、FileIO Xtra がアプリケーションの「Xtras」フォルダにインストールされます。また、「Xtras」フォルダになくても、Lingo の openXLib コマンドを使ってこのエクストラにアクセスすることもできます。プロジェクタで FileIO Xtra を使用する場合も、上記と同じ操作を行います。エクストラは、プロジェクタと同じディレクトリにある「Xtras」フォルダをに入れてください。

FileIO の各インスタンスは、開いているファイルをひとつだけ参照することができます。一度に複数のファイルを開くときには、ファイルごとに FileIO の新規インスタンスが必要です。新規ファイルを開く前にファイルが閉じている場合には、ひとつのインスタンスで複数のファイルを開くことができます。新規インスタンスを作成するには、次の例のように new( ) メソッドを使用します。また、インスタンスを消去するには、インスタンスの変数を 0 に設定します。ファイルを読み取ったり、ファイルに書き込んだりするすべてのメソッドは、openFile( ) メソッドでファイルを開いてから呼び出します。同一のインスタンスを使って新規ファイルを開くには、先に closeFile( ) を使ってファイルを閉じておきます。

ファイルは、読み取り、書き込み、読み取り・書き込みの 3 種類のモードで開くことができます。ファイルに書き込む場合には、ファイルのコンテンツが現行の位置から上書きされます。

Lingoの例

set myFile = new(xtra "fileio") -- FileIO のインスタンスを作成する
set fileName = displayOpen(myFile) -- 開くダイアログボックスを表示し、fileName を返す
openFile(myFile, fileName, 1) -- ファイルを開くset theFile = readFile(myFile) -- ファイルを読み取り、Lingo に文字列を返す
closeFile(myFile) -- ファイルを閉じる
set myFile = 0 -- インスタンスを消去する

この例では、まず新規インスタンスを作成して、変数 myFile に保存します。次に、displayOpen( ) メソッドを使って、開くダイアログボックスを表示し、選択可能なファイルを表示します。選択されたファイルは、パスを示す文字列として Lingo に返されます。読み取り専用モードで開いたファイルのコンテンツを読み取ってから、ファイルを閉じます。最後にインスタンスを消去します。

注意事項

createFile( ) メソッドは、相対的なファイル名をサポートしていません。また、パス名では Lingo の演算子「@」を使用することができません。この不具合は、次のバージョンで修正する予定です。displaySave( ) メソッドでは、ユーザが既存のファイルを入れ替えるのかどうかを Lingo に直接伝えることができません。ひとつの手段として、createFile( ) を使ってファイルを作成し、「同じ名前のファイルがあります」エラーメッセージでエラーを確認する方法があります。

以前のバージョン (Director 5.0 英語版に入ったバージョン) との比較

27may96 (v1.0.1)

  • ダブルバイトの文字コードのサポートをできるようになりました。
  • version( ) メソッドが追加され、メッセージウインドウに FileIO Xtra バージョン情報を表示できるようになりました。
  • getOSDir( ) が追加され、Windows のディレクトリまたはシステムフォルダのパスを返すことができるようになりました。

このエクストラの最初のリリースは、バージョン 15mar96 (v1.0.0 Beta) です。

メソッド参照

定義の第1行には、メソッド名のほか、パラメータと値の種類のリストがあります。FileIO Xtra の内部名は fileio です。xtra「fileio」でエクストラを参照するときにはこの名前が使用されます。

メモ: Director およびプロジェクタは filename に URL を指定することによってネット上のファイルを使用できますが、FileIO Xtra にはこの機能は備わっていません。ローカルシステムにマウントされた filesystems を介してアクセスできるファイルに限られます。

新しいメソッドはこの一覧の最後にリストされています。

 

mMessageList( エクストラ参照 )

メソッドとパラメータのリスト、および簡単な説明を返します。

 

new( エクストラ参照 )

FileIO の新規インスタンスを作成するために呼び出されます。エクストラは、名前または番号で参照することができます。インスタンスを参照するときに使用するインスタンス変数を返します。

 

fileName( インスタンス )

現在開いているファイルの fileName 文字列を返します。このメソッドは、ファイルが開いているときに使用します

 

status( インスタンス )

最後に呼び出されたメソッドが返したエラーコードを返します。返される値は整数です。

 

error( インスタンス, int error )

エラーを示す文字列を返します。数値によるエラーコードが2つめの引数に渡されます。次にあげるエラーが返されます。

  • " OK"
  • "メモリの割り当てに失敗しました。"Memory allocation failure"
  • "ファイルのディレクトリがいっぱいです。"File directory full"
  • "ボリュームがいっぱいです。"Volume full"
  • "ボリュームが見つかりません。"Volume not found"
  • "I/Oエラーが発生しました。"I/O Error"
  • "ファイル名が不正です。"Bad file name"
  • "ファイルが開いていません。"File not open"
  • "開いているファイルの数が多すぎます。"Too many files open"
  • "ファイルが見つかりません。"File not found"
  • "指定のドライブがありません。"No such drive"
  • "ドライブにディスクがありません。"No disk in drive"
  • "ディレクトリが見つかりません。"Directory not found"
  • "インスタンスには開いたファイルがあります。"Instance has an open file"
  • "同じ名前のファイルがあります。"File already exists"
  • "ファイルは読み取り専用です。"File is opened read-only"
  • "ファイルは書き込み専用です。"File is opened write-only"
  • "原因不明のエラーが発生しました。"Unknown error"

 

setFilterMask( インスタンス, string mask )

displayOpen( ) および displaySave( ) による呼び出しに使用されます。フィルタマスクは、開くダイアログボックスや保存ダイアログボックスでどのファイルを表示するかを示します。2 つめのパラメータは、設定するフィルタマスクを指定するための文字列です。Windows では、ファイルの種類と拡張子をカンマで区切ってリストします。 (例: "All Files,*.*,Text Files,*.TXT") Macintosh では、ファイルの種類を示します。(例: "TEXTPICT") Windows では、フィルタマスクの文字列が 256 文字、Macintosh では 4 文字で示すファイルの種類が 4 つまでに制限されています。FileIO の新規インスタンスが作成されると、フィルタマスクが「すべてのファイル」を示すように、デフォルトで設定されています。設定が変更されたあとで、「すべてのファイル」にリセットされるようにするには、空白の文字列を使用します。 (例: setFilterMask(me, ""))

 

closeFile( インスタンス )

openFile( ) メソッドを使用して開いたファイルを閉じます。

 

displayOpen( インスタンス )

ユーザがファイルを指定するときに、システムの「開くダイアログボックス」を表示します。パスと fileName を Lingo に返します。ダイアログボックスに表示するファイルの種類を指定するには、setFilterMask( ) メソッドを使用します。

 

displaySave( インスタンス, string title, string defaultFileName )

ユーザがファイルを指定するときに、システムの「保存ダイアログボックス」を表示します。Lingo にパスと fileName を返します。ダイアログボックスに表示するファイルの種類を指定するには、setFilterMask( ) メソッドを使用します。文字列と defaultFileName パラメータには、表示するデフォルトのファイル名と、保存ダイアログボックスのタイトルテキストを指定します。

 

createFile( インスタンス, 文字列fileName )

ファイルを作成します。fileName には、現行のディレクトリに作成する fileName または、パスを含む fileName のいずれかを指定します。Lingo のパス名演算子「@」および相対的なパスはサポートされていません。新規ファイルを作成し、ファイルを開きます。

 

setPosition( インスタンス, 位置 )

現在開いているファイルの位置を指定します。ファイルが開いているときに、このメソッドを使用することができます。

 

getPosition( インスタンス )

現在開いているファイルの位置を示す整数の値を返します。ファイルが開いているときに、このメソッドを使用することができます。

 

getLength( インスタンス )

現在開いているファイルの長さを示す整数の値を返します。ファイルが開いているときに、このメソッドを使用することができます。

 

writeChar( インスタンス, string theChar )

ファイル内の現行の位置に1文字書き込みます。ファイルが読み取り・書き込みモードで開いているときに、このメソッドを使用することができます。

 

writeString( インスタンス, string theString )

ファイル内の現行の位置に文字列を書き込みます。ファイルが読み取り・書き込みモードで開いているときに、このメソッドを使用することができます。

 

readChar( インスタンス )

現行の位置から1文字を読み取り、位置を1文字分だけ次に移動します。この文字は文字列として Lingo に返されます。ファイルが読み取り・書き込みモードで開いているときに、このメソッドを使用することができます。

 

readLine( インスタンス )

現行の位置から CR (改行) までの文字列を読み取り、位置を移動します。文字列が Lingo に返されます。ファイルが読み取り・書き込みモードで開いているときに、このメソッドを使用することができます。

 

readFile( インスタンス )

現行の位置からファイルの最後までの文字列を読み取り、位置を移動します。文字列が Lingo に返されます。ファイルが読み取り・書き込みモードで開いているときに、このメソッドを使用することができます。

 

readWord( インスタンス )

現行の位置から始まる単語を読み取ります。ファイルが読み取り・書き込みモードで開いているときに、このメソッドを使用することができます。

 

readToken( インスタンス, string skipChar, string breakChar )

現行の位置から始まるトークンを読み取ります。skipChar のパラメータに一致する文字は省略され、breakChar まで読み取ります。ファイルが読み取り・書き込みモードで開いているときに、このメソッドを使用することができます。ダブルバイトも読み取りますが、skipChar や breakChar の文字は半角文字にする必要があります。

 

getFinderInfo( インスタンス )

現行ファイルの種類とクリエータを文字列として返します。Windows では、このメソッドを定義しても何も起こりません。ファイルが開いているときに、このメソッドを使用することができます。

 

setFinderInfo( インスタンス, string typeAndCreator )

現行ファイルの種類とクリエータを指定します。TYPEコードとCREATORコードの間に1文字分のスペースが入ります(例:"TEXT TTXT")。Windowsでは、このメソッドを定義しても何も起こりません。ファイルが開いているときに、このメソッドを使用することができます。

 

delete( インスタンス )

現在開いているファイルを削除します。ファイルを開いているときに、このメソッドを使用することができます。

 

version( xtraRef )

メッセージウィンドウに FileIO Xtra バージョンの情報を表示します。オーサリングなどの作業中に、バグレポートを作成するときに便利です。

 

getOSDirectory( )

現在使用している Windows のディレクトリまたはシステムフォルダのパス (Windows/Macintosh) を返します。子インスタンスやエクストラ参照を呼び出す必要はありません。

 

メモ: ご利用いただけるのはテキストのみです。画像の読み込みは Lingo の filename をご利用いただき、リンクして表示していただくとよいでしょう。


追加情報

・ fileIO xtra を使用したサンプルファイルは以下からダウンロードが可能です。

サンプルファイル file_IO.dir

・ 関連文書:How to use the FileIO Xtra(英文)


関連ドキュメント (Related Records)

RELATED RECORDS

AlertThis content requires Flash

To view this content, JavaScript must be enabled, and you need the latest version of Adobe® Flash® Player.

Download the free Flash Player now!

Get Adobe Flash Player

Creative Commons License

サポート情報検索 (Search Support)

ドキュメント情報 (Document Details)

最終更新 (Last Update): 2006-04-22
文書番号 (ID):228541
プラットフォーム (OS):Macintosh, Windows
http://go.adobe.com/kb/ts_228541_ja-jp

関連製品 (Product Affected)

director