みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
よろしくお願いします。Windows7 FM12です。
フィールド内に記載されたテキストの行数を知る方法を教えて下さい。
同じフィールドを違うレイアウトで使用しています。一つのレイアウトで記載した場合、他のレイアウトではみ出さないようにしたいのです。 記載するフィールドは、レイアウト上実際に印刷するレイアウトより、小さくなります。 記載なしの改行も1行と数えたいのですが。
lengthは空白、改行を1文字と数えますし、valuecountは一つの文が改行せず記載をした場合、無意味です。
よろしくお願いします。
Offline
質問がよくわかりませんが、、
PatternCount関数で
改行コード「¶」を数えることはできます。
しかし、
フィールド枠で折り返されているのは無理でしょう。
Offline
表示が等幅系のフォントならば、バイト数を数えていけば行数は出せないことは無いですが、まず、バイト数を数える関数が無いので、かなり難しいでしょう。
印刷時に問題となるのでしたら、そのフィールドを十分大きくしておき、スライド機能を使ってスペースを詰めるといいでしょう。
Offline
印刷する幅で、縦は少し大きくしたフィールドに縦のスライド設定をして、条件付書式を設定します。
条件
Let ( $$h[Get ( レコード ID )]=GetLayoutObjectAttribute ( "そのフィールドのオブジェクト名" ; "height" ) ; $$h[Get ( レコード ID )] )
書式は何でも適当に。
このレイアウトをプレビューすると、変数にスライド後のフィールドの高さが入るので、印刷したい高さより大きいものは「はみ出している」
ブラウズモードで計算しないように
Case(Get(ウィンドウモード)=2; 計算式 )
とした方がいいですね。
これをデータの入力時のチェックに使うのは、他のテーブルに値をコピーするとかしないと難しそうです。(確定しないとプレビューできないので)
行間が変わらなければ行数に変換もできますが。
フィールド高さが0になるまで文字数を減らしていって、途中でフィールド高さが変わった回数=行数、で出せるかな。
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 508.02 KiB (Peak: 514.64 KiB) ]