Mac to ISO

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 11 (Modified)


Mac to ISO (text) 文字列

引数説明
text文字列Mac OS ASCIIマップで表されたテキスト
戻り値文字列標準的なWeb文字セットで表されたテキスト

互換性に関するメモ: データベースがASCII互換モードで実行された場合のみ、このコマンドは機能します。Unicodeモードでは、コマンドは何もしません(textの文字列は修正なしで返されます) 。その為、4Dのバージョン11以降、このコマンドはあまり用いられていませんので、その使用はもはやお勧めはできません。CONVERT FROM TEXTコマンド、またはConvert to textコマンドを用いて文字列を変換することをお勧めします。

説明

Mac to ISOコマンドは、Web文字テーブルを使用して表されたtextを、4Dアプリケーションの環境設定のWeb/オプションページのスタンダードセットメニューで指定された文字セットで返します。

通常は、このコマンドを使用する必要はありません。

このコマンドには、Mac OS ASCIIマップを使用して表したテキスト引数が必要です。

4Dは、Webブラウザとの間で送受信する文字を変換します。その結果、操作するテキスト値は、Web接続プロセスの内部では、常にMac OS ASCIIマップを使用して表されます。

通常、Windows上で実行している場合には、このコマンドを使用してASCIIコードを変換する必要はありません。ASCII互換モード(非Unicode) で、4DとWindowsの間でテキストをコピーする、または貼り付けたりする場合や、データを読み込む、または書き出す場合には、4Dは自動的にこのような変換を実行します。ただし、SEND PACKETコマンドやRECEIVE PACKETコマンド等の、ディスクの読み取りコマンドや書き込みコマンドを使用する場合には、ASCII変換を明示的に実行する必要があります。

4D内では、まだ別のASCIIマップに変換していないすべてのテキスト値、フィールド、または変数はMacintosh上およびWindows上の双方ともにMac OSエンコードです。詳細については、付録のASCII Codes節を参照してください。

Windowsでは、この場合には、出力フィルタASCIIマップを使用して文字をフィルタしないでおく必要があります。

したがって、プラットフォームが何であっても、ISO Latin-1を使用してディスク上にHTMLドキュメントを作成したい場合には、Mac to ISOを使用して対象となるテキストを変換するだけですみます。これが、Mac to ISOコマンドの主要な目的です

例題

1. 以下のコードの行では、vtSomeTextに格納されている(仮想の)Mac OSでコード化されたテキストを、ISO Latin-1でデコードされたテキストに変換しています。

   vtSomeText:=Mac to ISO(vtSomeText)

2. 4D Web Serverアプリケーションの開発中にHTMLドキュメントを作成し、後でSEND HTML FILEコマンドを使用してイントラネットまたはインターネット経由で送信しようとしています。これらのHTMLドキュメントの一部は他のドキュメントに参照やリンクを持っています。

以下のプロジェクトメソッドでは、引数として受信したWindowsからのHTMLベースのパス名やMacintoshのパス名を求めています。

      ` HTML Pathname project method
      ` HTML Pathname ( Text ) -> Text
      ` HTML Pathname ( Native File Manager Pathname ) -> HTML HTMLパス名

   C_TEXT($0;$1)
   C_LONGINT($vlChar;$vlAscii)
   C_STRING(31;$vsChar)

   $0:=""
   If (On Windows )
      $1:=Replace string($1;"\";"/")
   Else 
      $1:=Replace string($1;":";"/")
   End if 
   $1:=Mac to ISO($1)
   For ($vlChar;1;Length($1))
      $vlAscii:=Character code($1[[$vlChar]])
      Case of 
         : ($vlAscii>=127)
            $vsChar:="%"+Substring(string($vlAscii;"&$");2)
         : (Position(Char($vlAscii);":<>&%= "+Char(34))>0)
            $vsChar:="%"+Substring(string($vlAscii;"&$");2)
      Else 
         $vsChar:=Char($vlAscii)
      End case 
      $0:=$0+$vsChar
   End for 

Note: On Windowsプロジェクトメソッドは、System Documentsの章の中で示されています。

On Windowプロジェクトメソッドをデータベースに作成した後、特定のディレクトリにあるドキュメントへのFTPリンクのリストを追加したい場合には、以下のように記述できます。

      `On Startupデータベースメソッド内でインタープロセス変数を設定する
   <>vsFTPURL:="ftp://123.4.56.78/Spiders/"
   <>vsFTPDirectory:="APS500:Spiders:" `これはMac OSファイル管理のパス名
      ` ...

      ` ...
   ARRAY STRING(31;$asDocuments;0)
   DOCUMENT LIST(...;$asDocuments)
   $vlNbDocuments:=Size of array($asDocuments)
   jsHandler:=...
   For ($vlDocument;1;$vlNbDocuments)
      vtHTMLCode:=vtHTMLCode+"<P>Char(34)+<>vsFTPURL
                                    +HTML Pathname (Substring($1+$asDocuments{$vlDocument};
                                       Length(<>vsFTPDirectory)+1))+Char(34)+jsHandler+"> "
                                          +$asDocuments{$vlDocument}+"</P>"+Char(13)
   End for
      ` ...

参照

ASCII コード, ISO to Mac, SEND HTML FILE, SEND PACKET, USE CHARACTER SET.


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次