初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2019-05-28 19:15:18

qb_dp
Member

【情報】FileMaker SHIFT_JIS でURLエンコード(Code:127以下は%エンコードしない)

スクリプト:URLから挿入 で、Windowsの場合、プロトコル「file://」や「smb://」を使う場合、日本語(全角混じり)のパスでも通るように以下の式で変換できます。
FileMaker Pro 16.0以降

Let(
[
   $Val = $arg ;
   $MAX = Length ( $Val ) ;
   $n = 1 ;
   $fnc0=
      "Case ( $n > $MAX ; $Result ;
         Let(
         [
         $text=Middle ( $Val ; $n ; 1 );
          $Result = $Result  & if(Code ( $text )>127;
        
Let(
[
   $txt = HexEncode ( TextEncode ( $text ; \"shift_jis\" ; 1 ) ) ;
   $pos = Length ( $txt ) - 1 ;
   $fnc=
      \"Case ( $pos < 0 ; $txt ;
         Let(
         [
            $txt = Replace ( $txt ; $pos ; 0 ; \\\"%\\\" ) ;
            $pos = $pos - 2
         ];
            Evaluate($fnc))
      )\"
];
   Evaluate($fnc)
)

           ;
            Middle ( $Val ; $n ; 1 )
           );
            $n = $n + 1
         ];
            Evaluate($fnc0))
      )"
];
   Evaluate($fnc0)
)

/*
%エンコード部分の再帰式は、Shinさんが書いたモノです。
https://fm-aid.com/bbs2/viewtopic.php?pid=50129#p50129
*/

Last edited by qb_dp (2019-06-06 18:06:59)

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 8 queries executed - Memory usage: 508.8 KiB (Peak: 513.7 KiB) ]