FileMakerで作った色テーブルにWebSafeColorのレコードを自動生成する
とある顧問先のお仕事で、HTMLで表をいくつか書くことになったんですけどね。「面倒くさいから、FileMaker*1 で Tabe メインのHTMLを自動生成するってのが、後々ラクチンじゃね?」ということで、ごねごねしてみることに…。thの background-color とか、H2の color とかも汎用性を持たせた方がよかんべなーと考えると、やっぱ、color のテーブルを作って、そこから引っ張ってきて、各々の色をConfigureしてやるのが常道だろうと…。なんぼFilemakerが使いやすくなったからと言って、Color Wheel まで使えませんので、そこそこの色レコードを先に入れておいた方がよかんべなと。じゃ、どんな色を入れておくかということで…。Web Safe Color (ウェブセーフカラー)ってのあるじゃないですか。環境に左右されずに、同じように見える色ってやつ…。あれくらいは、全部入れておこうかなと…。Web Safe Color ってのは、ご存じのように、RGBそれぞれの要素で、“00”,“33”"66“,”99“,”"cc“,”ff"の6段階のみを使用した216種類の色ですが、んなものなんか法則性があるに決まってますから、その法則性に従って、スクリプトで、レコードを生成したいなと…。で、ごにょごにょと、並べてみました。0,3,6,9,c,f,30,33,36,39,3c,3f,60,63,66,69,6c,6f, …ん?これって、2桁になるのって7種類めからなのね。つまりは、6進法?6進法とWebSafeColorの関係
- 注1現行のファイルメーカー8.5ってやつは、計算式内で簡単に変数を使えますし、let関数なんてのが使えます。Developer版に至っては、でバックモードをonにして、データビューアってやつで、値の監視をしながら、スクリプトのでバックができます。極めつけに、カスタム関数ってのが定義できますから、開発がしやすくて、大変助かります。
といことで、簡単なカスタム関数を作りました。*2
Case (num < 6 ; “” ;xSentoHEX ( Int ( num / 6 ) ))& Choose ( Mod ( num ; 6 ) ; “00”; “33” ; “66” ; “99” ; “cc” ; “ff” )
xSentoHEX ( 101 ) とかやってやると、66ccff なんて具合に返します。
- 注2関数名:xSentoHEX 、パラーメータ:num
0コメント