図A
●検索文字列アンダーラインの概要説明
- 検索文字列に該当した部分にアンダーラインを付加し探しやすくします。
- アンダーラインの色はファイルメーカーで使える色の数だけ指定することが出来ます。
- フィールドの右端で該当文字列が折り返しても問題なく表示できます。
- 簡単な手法で実現出来ます。
●検索文字列アンダーラインの初期設定
- 特に初期設定の必要はありません。
●用意するフィールド
- テキストフィールド:テキスト(比較的スペースの大きなフィールドで、収容文字数の大きなもの。使用するフォントは等幅フォント(固定ピッチフォント)です。)
- アンダーライン表示フィールド:計算(アンダーラインを表示させます。)
- 検索文字列収容フィールド:テキスト(検索文字列を入力しておきます。)
●アンダーライン表示フィールド:計算の詳細説明
- アンダーライン表示フィールドは検索該当文字列を "_"(半角のアンダースコア)に置換します。
- 置換には、substitute関数を用います。
- 実際に用いた式は以下の通りです。
- アンダーライン表示 = Substitute( テキスト, 検索文字列収容 , Rightb( "______________________________" , Lengthb(検索文字列収容) ))
- ここで、検索文字列収容に入った文字列を文字数ではなくバイト数で置換します。これは、2バイト文字と1バイト文字が混在した場合の不具合に対処するためです。
- また、"______________________________"の数は検索文字列の予想される文字数の最大値以上に設定します。
- 文字色は赤に指定しておきます。
- 使用するフォントは等幅フォント(固定ピッチフォント)です。
●アンダーライン表示フィールドとテキストフィールドの合成
- アンダーライン表示フィールドとテキストフィールドをピッタリ重ねあわせます。
- アンダーライン表示フィールドは最背面に配置します。
- これで、検索に該当した文字列があった時のみアンダーラインが引かれます。
●その他の注意事項
- フィールドの右端で検索文字列が折り返した場合にワードラップが有効になっていると文字がズレて見にくくなります。従いましてワードラップは無効に設定してください。
- 使用しているフォント種によってフィールド幅を調整する必要があります。例えば、フィールド右端に1バイト文字が入るスペースが出来ない様に調整してください。
- 検索実行と検索文字列の入力操作をスクリプトで組めば無駄な操作時間を無くすことが出来ると思います。
検索文字列アンダーライン.fmjのダウンロードはこちらへ!
kipwmiのファイルメーカー会議室へお気軽にどうぞ!