このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

文字の色を変える関数?

発言者:たくみ
( Date Wednesday, June 16, 1999 17:32:01 )


初めて発言させていただきます。

日付の入力されたフィールドがあります。
そのフィールドの値が今日の日付よりもすぎていた場合
そのフィールドの値を赤で表示させたいのですが
出来ますでしょうか?

文字の色を変える関数というのが思い浮かばなくて困っています。

マシンはMac OS 8.6
ヴァージョンは 4.1です。

藤川 さんからのコメント
( Wednesday, June 16, 1999 17:48:49 )

たくみさん、こんにちは。

これはファイルメーカProの話ですよね?
で、WEBでの表示上で色を変えたいという事でしょうか?
それともファイルメーカProの中のレイアウト上で
ということでしょうか?


たくみ さんからのコメント
( Thursday, June 17, 1999 00:45:25 )

藤川様

レスありがとうございます。

>> それともファイルメーカProの中のレイアウト上で

上記の通りです。
ファイルメーカでスケジュール管理をやりたかったのですが、
入力したフィールド内の日付が当日は「赤」、過ぎていれば「緑」
というふうにしてみたかったのです。

もっと出来るなら「点滅」とか(笑)。

無理でしょうか?
よろしくお願いいたします。

miyake さんからのコメント
( Thursday, June 17, 1999 09:56:35 )

文字の色ではないのですが、、、、
オブジェクトを使ってバックの色を変えると言うのはどうでしょうか?
まず
『赤のバック』グローバルオブジェクト
『緑のバック』グローバルオブジェクト
を作りそれぞれ絵をペーストする。
あとは計算フィールドを作りそこに、、
if(日付の比較式,『赤のバック』,『緑のバック』)  計算結果はオブジェクトにする
とすれば、日付の比較式によってそのフィールドが赤になったり緑になったり
するので、日付を表示してるフィールドと重ねておけばいいと思います。

藤川 さんからのコメント
( Thursday, June 17, 1999 10:27:23 )

以下のようでどうでしょう?

まず、下記のフィールド定義をします。

date:予定日を入力するフィールド(※フィールドタイプは日付)
date_A:予定日が今日を過ぎている場合に表示するフィールド
date_B:予定日がまだ来ていない場合に表示するフィールド

そして
date_Aとdate_Bについて下記のような計算式を指定します。

date_Aの計算式 Case(date < Status(日付), date , date >=  Status(日付),"")
date_Bの計算式 Case(date < Status(日付), "" , date >=  Status(日付), date)

そして計算結果をテキストに指定します。

以上ができたら、レイアウト上でdate_Aフィールドの文字色を赤に
date_Bフィールドの文字色を緑にし、そしてdate_Aフィールドの真上に
date_Bフィールドを重ねて配置します。

これで一応完成です。

dateフィールドの内容(今日の日付前、以降)で
date_A/date_Bを重ねた部分の表示色が変わるように見えませんか?






たくみ さんからのコメント
( Friday, June 18, 1999 12:19:03 )

miyake様 藤川様 レスありがとうございました。

miyake様のやりかたでとりあえずはしのげそうです。
ただ、一行の表レイアウトで一行おきに帯をひいていたので
ちょっと見づらい部分もあるのでそれが難点といえば難点でしょうか‥‥。

藤川様のやり方では文字にカラーを設定出来るので
とてもスマートなのですが、何か計算を間違えているのか
緑のクエスチョンマークが赤文字の上に重なってしまいます。
もう少しこちらの方も工夫してみようと思っています。

貴重なご意見をありがとうございました。
初心者の浅知恵しか持ってないのですが、
もうすこしがんばってみます!

藤川 さんからのコメント
( Friday, June 18, 1999 12:47:46 )

>緑のクエスチョンマークが赤文字の上に重なってしまいます。

フィールド定義で計算結果が「日付」になってませんか?
それを「テキスト」にすれば解決します。

たくみ さんからのコメント
( Saturday, June 19, 1999 14:59:03 )

藤川様 こんにちわ

>>フィールド定義で計算結果が「日付」になってませんか?
>>それを「テキスト」にすれば解決します。

Dateに入力した際に曜日も一緒に表示するようにしたかったので、
計算結果を『日付』でこだわってみました。

date_A(赤文字)  Case(Date = Today,Date)
date_B(緑文字)  Case(出稿日 <  Today,出稿日)

これで日付はクリア出来ました。
しかし時間を連動させるのは難しいんですね(+_+)

本屋さんで関数のハンドブックを探してみたのですが、
エクセルとパールしかないんですね‥‥。
根本的には同じで表記の仕方が違うだけだと思うのですが、
ファイルメーカの関数のハンドブックってどこかにないかなぁ。