4D v16.3Open document |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Open document
|
Open document ( document {; fileType}{; mode} ) -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
document | 文字 |
![]() |
ドキュメント名、または ドキュメントへの完全なパス名、または 空の文字列の場合、標準のファイルダイアログボックス表示 | |||||
fileType | 文字 |
![]() |
表示されるドキュメントタイプのリスト、または ドキュメントを表示しない"*" | |||||
mode | 倍長整数 |
![]() |
ドキュメントを開くモード | |||||
戻り値 | DocRef |
![]() |
ドキュメント参照番号 | |||||
Open documentコマンドは、documentに渡した名前またはパス名を持つドキュメントを開きます。
documentに空の文字列を渡した場合、ファイルを開くダイアログボックスが表示され、開くドキュメントを選択できます。このダイアログをキャンセルするとドキュメントは開かれず、Open documentはドキュメント参照番号に空値を返し、システム変数OKに0を代入します。
引数fileTypeには、開くダイアログボックスで選択するファイルのタイプを渡します。; (セミコロン) で区切られた幾つかのタイプのリストを渡すことができます。それぞれのタイプセットに対して、ダイアログボックスでタイプを選択する際に使用するメニューに、アイテムが追加されます。
Mac OSでは標準的なMac OSタイプ(TEXT、APPLなど) またはUTI (Uniformタイプ識別子) タイプのどちらかを渡します。ファイルタイプの標準化のニーズを満たすために 、UTIはAppleによって指定されます。例えば、"public.text" は、テキストタイプのファイルのUTIタイプとなります。UTIに関する詳細については、developer.apple.com のWebサイトにある、Introduction to Uniform Type Identifiers Overview page を参照してください。
Windowsでは、標準的なMac OSのファイルタイプ (4Dは内部的に対応を行います) またはファイル拡張子(.txt、.exe など) を渡します。Windowsでは、ダイアログボックスに"*.*"を入力することによって、全てのファイルタイプを表示させることができます。しかしこの場合、4Dは選択されたファイルタイプのチェックを追加して実行します。認識されていないファイルタイプが選択された場合、コマンドはエラーを返します。
表示されているファイルを1つ以上のタイプに限定したくない場合は、文字列"*" (アスタリスク) または".*" をfileTypeに渡します。
任意の引数modeは、ドキュメントがどのように開かれるかを指定することができるようにするものです。4つのオープンモードが指定可能です。4D には下記の定数が "System Documents" テーマで定義されています。
定数 | 型 | 値 |
Get Pathname | 倍長整数 | 3 |
Read and Write | 倍長整数 | 0 |
Read Mode | 倍長整数 | 2 |
Write Mode | 倍長整数 | 1 |
ドキュメントを開くと、RECEIVE PACKETとSEND PACKET コマンドを使用してドキュメントを読んだり、書いたりすることができます。これらのコマンドをGet document position およびSET DOCUMENT POSITION コマンドと組み合わせることにより、ドキュメントのあらゆる箇所へ直接アクセスすることが可能となります。
最後に、開かれたドキュメントに対して、CLOSE DOCUMENTを呼び出すことを忘れないようにしてください。
以下の例を使用して、Note.txtという既存のドキュメントを開き、"Good-bye"という文字列を書き込み、そしてドキュメントを閉じます。ドキュメントの既存の中身は上書きされます:
C_TIME(vhDoc)
vhDoc:=Open document("Note.txt";Read and Write) //ノートというドキュメントを開く
If(OK=1)
SEND PACKET(vhDoc;"Good-bye") //ドキュメントに1語書き込む
CLOSE DOCUMENT(vhDoc) //ドキュメントを閉じる
End if
ドキュメントがすでに書き込みモード開かれていても、読みをおこなうことはできます。
vDoc:=Open document("PassFile";"TEXT") `ファイルが開いている
`ファイルを閉じる前に、読み込み専用モードで検査できる
vRef:=Open document("PassFile";"TEXT";Read Mode)
ドキュメントが正しく開かれると、OKシステム変数に1が代入されます。その他の場合は0が代入されます。呼び出し後、Documentシステム変数には完全なドキュメント名が入っています。
Open documentを3のモードで呼ぶと、関数は?00:00:00? (ドキュメント参照無し) を返します。ドキュメントは開きませんが、DocumentとOKシステム変数は更新されます。
Note: 空の文字列をdocumentに渡した場合はファイルを開くダイアログボックスが表示されます。ドキュメントを選択しOKボタンをクリックすると、documentは選択したドキュメントのパスに設定され、OKに1が代入されます。Cancelボタンをクリックすると、OKに0が代入されます。
プロダクト: 4D
テーマ: システムドキュメント
番号:
264
変更: 4D v11 SQL
ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)