FileMakerでの開発に、”正解”は、ございません。
お世話になっております。
KK・Customizeの久保でございます。
今回は、私が開発を進めていく上で、設定したことのある制御や仕組みを
お伝えしていきたいと思います。
独自の方法でもありますので、これが、”正解”、”正しい”というものではございません。
しかし、開発者様の何か考えるきっかけになればと思います。
文字数制限を行う際、半角や全角が入り混じる~カスタム関数【lengthB】~
お客様のご要望から、入力フィールドに対しての文字数制限を行う必要がございました。
通常、既存の関数「length」を用いれば、文字数を取得して事足りるのですが、
半角と全角が入り混じる場合ですと、正確には文字数を判断することが出来ません。
そこで、良く活用するのが、カスタム関数である【lengthB】になります。
恐らく、length + B(バイト)かと思われる関数名です。
こちらの内容は、指定したフィールドのバイト数を取得します。
例えば、”あいうえおaiueo”に対して、このlengtBを用いると、
結果は、「15」となります。
内訳はこうです。
(全角2byte、半角1byte = あいうえお(10byte) + aiueo(5byte))
となります。
こちらが、lengthですと、「10」という結果になります。
半角だと、あと、5文字も登録できるのに、
lengthで設定すると、エラーとなってしまいます。
文字数制限も様々ですが、意外と使えますので、
ご参考にして頂ければと思います。
改行のカウント
こちらは、特に特殊なことではございませんが、
普段改行は、”¶” マークを使用するかと思います。
こちらも、パターンカウントにて、”¶”を指定することで、数をカウントすることが出来ます。
上記の、文字数制限に付け加え、改行の制御も可能です。
FileMakerは、入力フィールドの幅によって、自動で改行されるように見えます。
がしかし、実際には改行されていないため、改行の制御を行う際には、
上述した、「lengthB」を用いるといいです。
フォントによる画面のズレ
あまり皆さん、気にならない部分かと思います。
FileMakerでは、WindowsとMacOSでは、レイアウトがズレてしまうことは、
ご存知かと思います。
実は、Windows同士でも、微妙なズレが起きてしまうことがあります。
それは、「フォント」によるズレです。
様々なクライアントがいらっしゃる場合には、それぞれご利用頂く環境は様々です。
フォント(特殊なフォント等)を指定していると、クライアントの環境にフォントが、
インストールされていない場合がございます。
その際、FileMakerでは、別のフォントを指定してしまいます。
登録画面などのレイアウトでは問題なくても、
帳票などの印刷物では、軽微なズレが、不具合(印刷数の増加)に
繋がってしまいますので、侮れません。
FileMaker19では、「ヒラギノ角ゴ」が使用できないなど、
発見されておりますので、お気をつけください。
たかがフォント、されどフォントですので、
お手すきの際に、今一度見直されてもいいのではないかと思います。
最後
FileMakerは、考え方ひとつで実現方法がいくつものパターンございます。
冒頭でも述べた通り、”正解”はございません。
クライアントが望んでいる形を実装する何かのお役に立てれば幸いです。