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

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

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

You are not logged in.

Announcement

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


#1 2020-06-18 18:04:55

めい吉
Member

テキストフィールドを別のテキストフィールドにコピーした際にスペースを挿入したいです。

いつもお世話になっております。

[内容]というテキストフィールドに

株式会社○○○
住所 東京都新宿区
電話番号 123-456

というデータがあり、
これをスクリプトで、「フィールド設定[本文;内容]」を実行したさいに、
[本文]フィールドでは(■はスペースの意味です)

■■株式会社○○○
■■住所 東京都新宿区
■■電話番号 123-456

と各行先頭にスペースが2つ入るようにしたいです。
また、

■■株式会社○○○■■■
■■住所 東京都新宿区

のように行の最後にスペースがある場合は

■■株式会社○○○
■■住所 東京都新宿区
」と取り除きたいです。


テキストフィールド内で、
・行の先頭にスペースを2つ挿入したい
・行末にスペースがある場合は取り除きたい

こういったことは可能でしょうか。
宜しくお願い致します。

Last edited by めい吉 (2020-06-18 18:17:00)

Offline

#2 2020-06-18 19:30:31

KGhige
Guest

Re: テキストフィールドを別のテキストフィールドにコピーした際にスペースを挿入したいです。

私ならこうします、って言うのを投稿させて頂きます。
自分の勉強の意味も込めてなので、上手く行かなかったら、ゴメンなさい。。。

フィールド設定の計算結果に、

"  " & Trim ( GetValue ( 内容 ; 1 ) ) & ¶ &
"  " & Trim ( GetValue ( 内容 ; 2 ) ) & ¶ &
"  " & Trim ( GetValue ( 内容 ; 3 ) )

上記でどうでしょう?

#3 2020-06-18 22:21:19

Hiro
Member

Re: テキストフィールドを別のテキストフィールドにコピーした際にスペースを挿入したいです。

任意行数の入力内容に対応できる汎用式例(ループ式):

Let(
[
   $LOOP=
         "Case(
            $i=ValueCount($txt)
            ; $res
            ; Let([$i=$i+1;#itm=Trim(GetValue($txt;$i));$res=List($res;Char(1228812288)&#itm)]; Evaluate($LOOP))
         )"
];
   Let([$txt=内容フィールド;$i=0;$res=Char(0)]; Evaluate($LOOP))
)

Offline

#4 2020-06-19 08:50:22

himadanee
Guest

Re: テキストフィールドを別のテキストフィールドにコピーした際にスペースを挿入したいです。

印字上の都合なら、フィールドの左マージンで調節できますが...

#5 2020-06-19 14:11:16

めい吉
Member

Re: テキストフィールドを別のテキストフィールドにコピーした際にスペースを挿入したいです。

Hiro様
ありがとうございます。うまくできることができました!!

なぜこれでループ処理ができるのでしょうか。


Hiro wrote:

任意行数の入力内容に対応できる汎用式例(ループ式):

Let(
[
   $LOOP=
         "Case(
            $i=ValueCount($txt)
            ; $res
            ; Let([$i=$i+1;#itm=Trim(GetValue($txt;$i));$res=List($res;Char(1228812288)&#itm)]; Evaluate($LOOP))
         )"
];
   Let([$txt=内容フィールド;$i=0;$res=Char(0)]; Evaluate($LOOP))
)

Offline

#6 2020-06-26 10:27:12

himadanee
Guest

Re: テキストフィールドを別のテキストフィールドにコピーした際にスペースを挿入したいです。

Evaluate($LOOP)の計算をすると、その式中にEvaluate($LOOP)があるからです。ループというか、再帰呼び出しです。
Case()でEvaluate($LOOP)が呼ばれない方が選択されるまで繰り返し(ループ)、という感じ。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 513.34 KiB (Peak: 517.88 KiB) ]