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

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

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

You are not logged in.

Announcement

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


#1 2019-11-03 13:44:57

クネ〜ル
Member

フォントのカラーを返す関数

17 Advanceです。

テキストフィールドのフォントのカラーを返す関数はありますか。

Aフィールド あいうえお (赤文字)
Bフィールド   赤  もしくは  RGB ( 255 ; 0 ; 0 ) など

よろしくお願いします。

Offline

#2 2019-11-03 17:09:12

Shin
Member

Re: フォントのカラーを返す関数

GetAsCSS() で求められます。

Offline

#3 2019-11-03 21:55:04

Hiro
Member

Re: フォントのカラーを返す関数

テキストフィールドの使用「文字色」を「RGBコード」で返す計算式。

【 計算手順 】(「赤色テキスト」 → 「RGB(255;0;0)」を得る)

  1. GetAsCSS関数でHTML変換してCSS情報を得る。

  2. そのHTML/CSS構文の中から文字カラー情報部を切り出す。

  3. その得られた16進のCSSカラーコード「#FF0000」を
    10進のRGBコード「255 0 0」へ進数変換

  4. 最後に「RGB(255;0;0)」と整形して、お終い。


Let(
[
   #css=GetAsCSS(テキストフィールド);      // ← ①
   #css=GetValue(Substitute(#css; ["color: #";¶]); 2);      // ← ②
   $css=List(Middle(#css;1;2);Middle(#css;3;2);Middle(#css;5;2));
   $i=0;
   $res="";
   $LOOP=      // ← ③用のループ関数を定義
      "Case($i=3; $res;
            Let([
               $i=$i+1;
               #hex=GetValue($css;$i);
               #dec1=Substitute(Left(#hex;1);[""A"";10];[""B"";11];[""C"";12];[""D"";13];[""E"";14];[""F"";15]);
               #dec2=Substitute(Right(#hex;1);[""A"";10];[""B"";11];[""C"";12];[""D"";13];[""E"";14];[""F"";15]);
               $res=List($res; #dec1*16+#dec2)
            ]; Evaluate($LOOP))
      )";
   #rgb=Substitute(Evaluate($LOOP); [¶;";"])      // ← ③
];
   "RGB(" & #rgb & ")"      // ← ④
)

Last edited by Hiro (2019-11-04 00:17:36)

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 505.98 KiB (Peak: 516.2 KiB) ]