4DLinkファイルを作成するメソッド
日付 | 2010/06/25 |
---|---|
ID | 76105 (英語原文参照) |
バージョン | v11 |
プラットフォーム | Mac/Win |
下記のメソッドは, 4DLinkファイルを手早く作成するためのものです。ストラクチャファイル(4DBまたは4DC)の場所を指定し, データファイル(4DD)の場所を指定し, リンクファイルの名前(拡張子を除く)を入力するだけで簡単に4DLinkファイルが作成できます。
`***************************************************************************** `// `// Create4DLinkFile `// `// Purpose: To create a 4D .4DLink file `// `***************************************************************************** C_TEXT($MethodName_T) $MethodName_T:=Current method name `===================== Declare Variables ================================== `local_variable_declarations C_TEXT($XML_T;$Path_Struct_T;$Path_Data_T;$Doc_T;$Folder_T;$Delim_T) C_TIME($DocRef_T) C_LONGINT($Platform_L) `====================== Initialize and Setup ================================ $Delim_T:=Get 4D folder[[length(Get 4D folder)]] `日本語チームによる互換性を高めるための変更 $XML_T:="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r" $XML_T:=$XML_T+"<database_shortcut structure_opening_mode=\"0\" " $XML_T:=$XML_T+"structure_file=\"file:///Volumes/" `======================== Method Actions ================================== ` Get the path to the 4D Structure file ` $Path_Struct_T:=Select document("";"4DB;4DC";"Select structure";Package open ) If (OK=1) If (($Path_Struct_T="@.4DB") | ($Path_Struct_T="@.4DC")) ` ` Use the 4D variable "document" to get the full document path ` $Path_Struct_T:=Replace string(document;$Delim_T;"/") $XML_T:=$XML_T+$Path_Struct_T+"\" " $XML_T:=$XML_T+"data_file=\"file:///Volumes/" ` Get the path to the 4D data file ` $Path_Data_T:=Select document("";".4DD";"Select the data file";Package open ) If (OK=1) If ($Path_Data_T="@.4DD") $Path_Data_T:=Replace string(document;$Delim_T;"/") $XML_T:=$XML_T+$Path_Data_T+"\"/>" ` Get the name for the 4DLink file ` $Doc_T:=Request("4DLink file name")+".4DLink" If (OK=1) $Folder_T:=Select folder("Select location to save the file") $Folder_T:=$Folder_T+$Doc_T ` Create and write the file ` $DocRef_T:=Create document($Folder_T;"utf8") If (OK=1) SEND PACKET($DocRef_T;$XML_T) ` Write one word in the document CLOSE DOCUMENT($DocRef_T) ` Close the document End if End if End if End if End if End if