データを書き出す際に、4D、XML、SYLK、DIFF、DBF、テキスト、または固定長テキストフォーマットのファイルを作成することができます。これらのファイルは、別のアプリケーションからオープンしたり、読み込むことが可能です。他のアプリケーションで使用するためにデータを書き出す場合は、そのアプリケーションのドキュメントを参照し、データ読み込みに関する情報を調べて、そのアプリケーションと互換性があるファイルフォーマットと区切り文字を選択してください。
場合によっては、目的のアプリケーション用に書き出しファイルを正確に作成するため、1つ以上の書き出しオプションを使用する必要があります。例えば、プログラムのなかには、テキストファイルフォーマットを受け入れるが、最初のレコードがフィールド名でなければならないものもあります。
この場合、オプションエリアのヘッダーオプションを使用して、このレコードを追加することができます。
4Dは現在の並び替え順でレコードを書き出します。テーブルの全レコードを書き出すか、またはカレントセレクションだけにするか選択することができます。
さらに、書き出すフィールドを指定するには、書き出しダイアログボックスで選択したり、またはフォームを選択することができます。フォームを使用すると、フォーム上のフィールドだけが書き出されます。
データの書き出しは、デザインモードにおいては書き出しダイアログボックスを介して行います。アプリケーションモードにおいては、EXPORT DATA コマンドを使ってこのダイアログボックスを表示させることも出来ますが、インポート&エクスポート テーマのコマンドを使って直接ファイルを書き出すこともできます。
4Dでは、さまざまな書き出しオプションが提供され、オプションエリアのタブを使用して、これらのオプションにアクセスすることができます。タブの数、およびその内容は、使用するファイルのタイプや選択したオプションに応じて変わります。
このページは、テキストファイルや固定長テキストファイルの書き出しにのみ使用できます。
このページを使用すると、タイトル、フィールド名の行、レコード数を書き出しファイルに追加することができます:
タイトル : このオプションにより、書き出しファイルにタイトルを出力することができます。チェックボックスの下のエリアにタイトルを入力します。BOM を生成 オプション: このオプションは、書き出しファイルのヘッダーにByte Order Mark (BOM) を付加します。この追加の情報により、BOM をサポートするアプリケーションではテキストの解釈が容易になります。 このオプションはデフォルトで選択されていますが、書き出しにUnicode 文字セットが選択されているときにのみ有効です。そうでない場合BOM は追加されません。列タイトル : このオプションは、書き出しファイルの最初の“レコード”としてフィールド名を書き出します。行番号 : このオプションは、書き出されたレコードである、それぞれの行に番号を付けます。この番号は1から始まり1つずつ増加します。
このページを使用して、テキストファイルと固定長テキストファイルで使用されるフィールド、レコード、ファイルの区切り文字を指定することができます。このオプションはレコードエリアの書き出し先プラットフォーム メニューのレコードエリア 設定によって予め自動設定されています。
区切り文字 (デリミター) については、フィールド、レコード、ファイルの区切り文字 で詳しく説明しています。デフォルトの区切り文字を変更するには、ドロップダウンリストに表示される、各区切り文字として最も頻繁に用いられる値から選択します。また、右側の入力エリアに区切り文字を直接入力して指定することも可能です。 ページ下部にあるドロップダウンリストにより、別の形式 (文字 、10進数 (デフォルト形式)、16進数 ) で区切り文字を表示することができます。ただし、文字形式を選択した場合に、区切り文字が印刷不可文字 (タブ、ラインフィード、リターンなど) だと、何も表示されない点に注意してください。
注: 区切り文字は、デフォルト設定 ボタンをクリックするか、ファイル ページでドキュメントのタイプを変更すると、デフォルト値にリセットされます。
このページのパラメーターは、XML ファイルの書き出しにのみ使用できます。このページを使用し、書き出されるXML ファイルの内容を設定することができます。
XML フォーマットで書き出しを行う際、4Dでは DTD (Document Type Declaration ) を生成するかどうかを選択することができます。DTD には、XML が従わなくてはならない一連の特定規則とプロパティが記録されます。より具体的に言えば、これらの規則により、それぞれのタグの名前と内容、およびその順序が定義されます。要素を形式的に定義することにより、XML 文書が“妥当”であることを確認でき、特に XML 文書内に繰り返し使用されるタグがある場合は、この規則が役立ちます。ただし、DTD は強制ではありません。 DTD の取り扱い方法を定義するために、次のオプションのいずれかを選択しなければなりません:
DTD なし (デフォルトオプション): このオプションを選択すると、書き出し中に DTD が生成されません。書き出し内 で DTD 生成 : 書き出し中に生成された DTD は XML ファイル内に組み込まれます (内部 DTD)。したがって、生成された XML ファイルは独立しています。独立した DTD を生成 : DTD は別ファイル内に生成されます (外部 DTD)。外部 DTD は複数ユーザー間で共有できるため、さまざまなソースから生成された XML 文書の構造を統一することができます。注: 4Dでは、テーブルとフィールドに同じ名前を設定することができます。しかし、XML 言語では異なる要素に対して同じ名前を使用することが禁止されています。したがって、DTD 生成 オプションを使用する場合は、書き出される4Dデータに同じ名前を持つテーブルとフィールドが含まれてはいけません。同じ名前が存在する場合、生成された XML ファイルは妥当ではなくなり、XML パーサーから開けなくなります。DTDを参照 : 関連する参照 (...) ボタンを使用すると、このオプションにより既存の外部 DTD ファイルを指定することができます。4Dは、この DTD への参照を書き出しファイル内に組み込みます。
XSL (eXtensible Stylesheet Language) を使用すると、XML 文書中に定義された各要素の表示スタイルを指定することができます。つまり、この言語を用いて XML 文書の内容の処理や表示に使うスタイルシートを模式的に定義します。詳細は、4Dランゲージリファレンス マニュアルのXSL 変換の管理 を参照してください。
既存のXSL を参照 このオプションを使用すると、関連する参照 ボタンを用いて、書き出されるデータにXSLファイルを関連付けることができます。XSL ファイルを選択した場合は、次の2つのオプションを用いて、書き出されたデータでこのファイルを利用する方法を設定しなければなりません:
XSL 変換を適用 : このオプションを選択すると、4Dはデータ書き出し時に、指定された XSL ドキュメント上で XSL データの変換を直接実行します。XSLファイルへのリンク挿入 : このオプションを選択すると、4Dは書き出された文書内に、指定のXSL への参照を挿入します (変換は行われません)。 したがって、書き出されたXML ファイルには、このXSL ファイルへの参照が含まれます。
空白を置換 : このオプションを選択すると、生成された XML ファイルの要素名フィールドにある“空白”文字が下線 (“_”) で置き換えられます。XML の要素名フィールドでは空白文字が許可されないため、デフォルトとしてこのオプションが選択されています。 ただし、特別な目的のために、必要に応じてこのオプションの選択を解除することができます。もちろんこの場合、生成後のファイルは、XML に関してW3C が定義した一般的な構文規則に準拠しなくなります。バイナリフィールドをBase64でエンコード : このオプションを選択すると、4Dは書き出されるバイナリフィールド (BLOB やピクチャータイプフィールド) に"data:;base64," ヘッダーを追加します。このオプションが選択されていない場合、フィールドはBase64にエンコードされますが、ヘッダーは付加されません。インデントあり : このオプションにより自動インデントが書き出されたデータに適用されます。インデントによりXML 要素の階層が視覚化されます。PNG としてピクチャーをエンコード : このオプションを選択すると、書き出されるピクチャーは元のフォーマットにかかわらず自動で PNG フォーマットにエンコードされます。このオプションが選択されないと、ピクチャーはネイティブフォーマットにエンコードされます。 ピクチャーが SVG で書き出される場合には、ピクチャーのプロパティを保持するために、このオプションは選択しないことをお勧めします。
このページでは、書き出し用フォーマットを設定することができます。このオプションは4Dフォーマットを除くすべてのファイルフォーマットで表示されます。デフォルトで4D標準フォーマットが使用されます。
注: カラムのヘッダーエリアのコンテキストメニューを使用して、カラムの書き出しフォーマットを設定することも可能です (書き出すデータを指定する の手順5を参照してください)。
プレビューエリアから、文字、数字、日付、時間、ブールタイプのフィールドに対し、書き出し用フォーマットを設定することができます。プレビューエリアでカラムを選択すると、データタイプに対応するするコンボボックスが利用可能になります。コンボボックスからフォーマットを選択するか、 (文字、数字、ブールデータタイプの場合は) 独自のフォーマットを直接入力します。4Dの表示フォーマットについての詳細は、表示フォーマット を参照ください。
ISO DateTime フォーマットについて 日付や時間タイプのデータの書き出しに、ISO DateTime 表示フォーマットを使用することができます。このフォーマットは、XML の日付と時間の表現規格 (ISO8601フォーマット) に対応しています。例えば、このフォーマットでは、“May31,2008at1:20p.m.”という日付や時間は、“2008-05-31T13:20:00”と表わされます。 4Dでは、1つのフィールド内に日付と時間の両方を保存することができません。しかし、日付や時間がXML 規格に従って保存されるように、このフォーマットでデータを書き出すことができます。日付の書き出しを行う場合、書き出された値のスタイルは“2008-05-31T00:00:00”になります。一方、時間を書き出す場合、そのスタイルは“0000-00-00T13:20:55”になります。
このページは、固定長テキストファイルにのみ表示されます。このページを使用し、それぞれのデータタイプに対して使用する埋め文字を定義することができます。デフォルトの埋め文字はスペース (空白) です。
固定長テキストファイルフォーマットに関する詳細は、ファイルフォーマット を参照してください。
文字/ブール (ブールフィールドは文字として読み込まれます)、数字 (整数、倍長整数、実数)、日付/時間 という3つのデータタイプに対して、異なる埋め文字を使用することができます。通常、固定長形式のフィールドを埋める場合は空白文字が用いられます。ドロップダウンリストには、それ以外の選択肢が提示されています。右側の入力エリアには、選択した埋め文字が表示されます。他の文字を使用したい場合、その文字を入力エリアに直接入力してください。
このページの上部にあるメニューを使用すると、別のフォーマットで埋め文字を表示することができます。文字 、10進数 (デフォルトフォーマット)、16進数 が使用可能です。文字フォーマットを選択した場合、印刷不可の埋め文字は表示されません。
フォームを使用して書き出しを行いたい場合、書き出しダイアログボックス上部にあるフォーム タブをクリックします。この後、選択したテーブルのフォーム一覧からフォームを選択することができます。
フォームを使用する主な利点は、各レコードが書き出される際に、フィールドや変数に関連付けられたフォームメソッドとオブジェクトメソッドが実行されることです。これにより、書き出し中にデータ処理を行うことができます。フィールドや変数は、フォームの入力順に書き出されます。ただし、これらのメソッドの結果はプレビューエリアに表示されない点に注意してください。
フォームにはボタンを置かないでください。また、サブフォームオブジェクトは無視されます。
4DServer: サーバー上のストアードプロシージャのメソッドを含むフォームを使用して、データを書き出すことはできません。つまり、各イベントはサーバーにより管理されないため、割り当てたメソッドが呼び出されません。