FTP_MacBinary

4D - Documentation   Fran溝is   English   German   日本語   4D Internet Commandsテーマリスト   4D Internet Commandsインデックス   Back   Previous   Next

version 6.5


FTP_MacBinary (ftp_ID; macBinaryMode) --> 整数

引数Type説明
ftp_ID倍長整数-->FTPログイン参照
macBinaryMode整数-->-1 = 現在の設定を取得, 1 = 有効, 0 = 無効
現在の設定 (-1 を渡した場合)
戻り値整数エラーコード

説明

FTP_MacBinary コマンドは、FTP_SendFTP_Receive使用時のMacBinaryモードを有効/無効にします。ftp_IDでカレントのFTPセッションを特定すると、このコマンドはmacBinaryMode 引数に渡した値に基づき、MacBinary転送をオンまたはオフにします。

MacBinaryプロトコルはしばしば、データフォークとリソースフォークを持つバイナリデータやファイルの転送をおこなうために、Macintosh FTPクライアントとサーバにより使用されます。

Windowsユーザのためのメモ: FTP転送時にWindows上でMacBinaryプロトコルを使用できますが、PCコンピュータ上でMacBinaryファイルをデコードすることには意味がありません。Intelベースのマシンはデータフォークとリソースフォークを持つデータを格納できません。PCプラットフォームでは、このようなファイルを正しく認識できないため、リソースフォークを持つMacintoshファイルはエンコードされていないフォーマットで保存する際壊れてしまうでしょう。

ftp_ID は、FTP_Loginにより確立されたFTPセッション参照です。

macBinaryMode はMacBinary転送をオンにするかオフにしるか指定するための整数値です。コマンドから変更後のMacBinary転送モードが返されるため、この引数は変数であるべきです。1を渡すとMacBinaryが有効になり、0を渡すと無効になります。-1を渡すと、コマンドはmacBinaryMode 引数に現在のMacBinary転送モードを返します (1 または 0)。

警告: すべてのFTPサーバがMacBinaryプロトコルをサポートするわけではありません。このような場合、macBinaryMode 引数の値にかかわらず、FTP_MacBinaryコマンドをコールするとエラー10053が返されます。

例題

この例題では、FTPファイルを受信する前に、MacBinaryプロトコルを有効にします。MacBinaryが有効な状態でファイルの受信に成功すると、オリジナルのフォーマットにデコードされ、MacBinaryドキュメントは削除されます。

   vUseMacBin:=-1
   $error:=FTP_MacBinary (vFTP_ID;vUseMacBin)
   If($error=10053)
      MacBinaryIsSupported:=False `FtpサーバはMacBinaryプロトコルをサポートしない
   Else
      MacBinaryIsSupported:=True
   End if


   vLocalFile:=""
   If(MacBinaryIsSupported)
      vUseMacBin:=1
      $error:=FTP_MacBinary (vFTP_ID;vUseMacBin)  `MacBinaryを有効にする
   End if 
   $error:=FTP_Receive (vFTP_ID;"MyApplication";vLocalFile;cbShowTherm)
   If ($error=0) & (vUseMacBin=1)  `MacBinaryの受信に成功した
      vDecodePath:=""
      If (IT_Decode (vLocalFile;vDecodePath;8)=0)  `MacBinaryデコード
         DELETE DOCUMENT(vLocalFile)  `デコードに成功したら削除する
      End if 
   End if   

参照

IT_Decode.


4D - Documentation   Fran溝is   English   German   日本語   4D Internet Commandsテーマリスト   4D Internet Commandsインデックス   Back   Previous   Next