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

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

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

You are not logged in.

Announcement

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


#1 2013-11-12 23:23:23

tamatama
Member

テキストフィールド内の行数を知る

よろしくお願いします。Windows7 FM12です。
フィールド内に記載されたテキストの行数を知る方法を教えて下さい。
  同じフィールドを違うレイアウトで使用しています。一つのレイアウトで記載した場合、他のレイアウトではみ出さないようにしたいのです。 記載するフィールドは、レイアウト上実際に印刷するレイアウトより、小さくなります。 記載なしの改行も1行と数えたいのですが。
  lengthは空白、改行を1文字と数えますし、valuecountは一つの文が改行せず記載をした場合、無意味です。
よろしくお願いします。

Offline

#2 2013-11-13 09:01:37

チポ
Member

Re: テキストフィールド内の行数を知る

質問がよくわかりませんが、、


PatternCount関数で
改行コード「¶」を数えることはできます。

しかし、
フィールド枠で折り返されているのは無理でしょう。

Offline

#3 2013-11-13 09:07:51

Shin
Member

Re: テキストフィールド内の行数を知る

表示が等幅系のフォントならば、バイト数を数えていけば行数は出せないことは無いですが、まず、バイト数を数える関数が無いので、かなり難しいでしょう。
印刷時に問題となるのでしたら、そのフィールドを十分大きくしておき、スライド機能を使ってスペースを詰めるといいでしょう。

Offline

#4 2013-11-13 10:33:35

himaganee
Guest

Re: テキストフィールド内の行数を知る

印刷する幅で、縦は少し大きくしたフィールドに縦のスライド設定をして、条件付書式を設定します。
条件
Let ( $$h[Get ( レコード ID )]=GetLayoutObjectAttribute ( "そのフィールドのオブジェクト名" ; "height" ) ; $$h[Get ( レコード ID )] )
書式は何でも適当に。

このレイアウトをプレビューすると、変数にスライド後のフィールドの高さが入るので、印刷したい高さより大きいものは「はみ出している」

#5 2013-11-13 15:06:42

himaganee
Guest

Re: テキストフィールド内の行数を知る

ブラウズモードで計算しないように
Case(Get(ウィンドウモード)=2; 計算式 )
とした方がいいですね。

これをデータの入力時のチェックに使うのは、他のテーブルに値をコピーするとかしないと難しそうです。(確定しないとプレビューできないので)

行間が変わらなければ行数に変換もできますが。
フィールド高さが0になるまで文字数を減らしていって、途中でフィールド高さが変わった回数=行数、で出せるかな。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 508.02 KiB (Peak: 514.64 KiB) ]