CopyFileProgress
|
||||||||||||||||||||||
概要: | baCopyFileProgressはファイルをコピーします。その間プログレスダイアログボックスを表示します。 |
|||||||||||||||||||||
シンタックス: | Result = baCopyFileProgress( SourceFile ,
DestFile , Overwrite,
Title, ButtonText,
Flags ) |
|||||||||||||||||||||
パラメータ: | #string, #string, #string, #string, #string, #integer SourceFile コピー元のファイル。 DestFile コピー先のファイル名。 Overwrite 上書き処理の方法を指定します。次のいずれかになります。
ButtonText キャンセルボタンで使用するテキスト。 Flags ダイアログの挙動を変更します。詳細はノートをご覧ください。 |
|||||||||||||||||||||
戻り値: | #integer ファイルのコピーに成功した場合は0を返します。それ以外は下記のいずれかになります。
|
|||||||||||||||||||||
例: | OK = baCopyFileProgress( "c:\data\student.dat"
, "c:\data\backup\student.dat" , "IfNewer", "ファイルをバックアップしています...
", "Cancel", 0 ) |
|||||||||||||||||||||
ノート: | デフォルトでは、既存の読み込み専用ファイルは上書きしません。しかし"Always"オプションと"IfNewer"オプションに"+"を追加すると(例
"Always+"または"IfNewer+")読み込み専用ファイルであっても上書きされます。 戻り値6(コピー先ファイルが存在している)はパラメータOverwriteに"IfNotExist"を指定した場合のみ返されます。 戻り値7(コピー先ファイルがコピー元ファイルよりも新しい )はパラメータOverwriteに"IfNewer"を指定した場合のみ返されます。その他の戻り値はすべてのOverwriteオプションに対して返されます。 "IfNewer"オプションは次のように機能します:2つのファイルが内部にバージョン番号を持つ場合は、その番号を利用して比較します。そうでない場合は2つのファイルの作成日時で比較します。 DestFileはコピー先のフォルダ名だけではなく、ファイル名まで含めて指定してください。 Flagsには7つの値が定義されています。
いずれのフラグも併用してダイアログボックスをカスタマイズすることができます。 コールバックハンドラを設定するにはCP_CALLBACKフラグを使用してください。CP_NODIALOGフラグを併用して、オリジナルのダイアログを組み込むのが一般的でしょう。このフラグを使用するには 'baCopyProgressUpdate'というハンドラを追加する必要があります。このハンドラはムービースクリプトでなければなりません。 またこのハンドラには2つのパラメータが渡されます。これまでにコピーされたパーセンテージおよび現在コピーされているファイルです。このハンドラはコピーされたパーセンテージが1増えるか、新しいファイルがコピーされるごとに呼び出されます。CP_SIZEUPDATEを指定した場合、パーセンテージではなくおよそ64Kのデータがコピーされるごとに呼び出されます。 ハンドラ内で1を返すとコピーを中止することができます。0を返すか、何も返さなければコピーが継続されます。下記はハンドラのサンプルです。update〜ファンクションはオリジナルのプログレスダイアログの更新に使用するものです。 on baCopyProgressUpdate percentage, filename updateProgressBar percentage updateStatus fileName if keyPressed( " " ) then --ユーザがスペースバーを押した場合コピーを中止する return 1 end if end |
|||||||||||||||||||||
関連項目: | baCopyXFilesProgress baXCopyProgress baCopyXFiles baCopyFile baXCopy |