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

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

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

You are not logged in.

Announcement

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


#1 2016-12-27 02:54:37

kj
Guest

画像でのIF構文

フィールド1の画像とフィールド2の画像が一致する場合に
フィールド3に”一致” と表示させることはできますか?

画像の種類は数個なのですべてそれぞれのグローバルFにいれておき
スクリプトでフィールド1、2に入力する予定ですが、
数値ではなく画像なのでIF構文で書くことができずに悩んでいます

FMP14 WIN10です

#2 2016-12-27 03:38:30

Hiro
Member

Re: 画像でのIF構文

Exact関数は、画像も一致比較可能です。
ヘルプ参照→https://www.filemaker.com/help/14/fmp/j … tml#103863

Offline

#3 2016-12-27 06:59:02

ぽんかん
Guest

Re: 画像でのIF構文

フィールド設定で同じソースから入れてるんだから、単に「フィールド1=フィールド2」で比較できるのでは。

#4 2016-12-27 14:40:06

kj
Guest

Re: 画像でのIF構文

画像で = 処理できましたっけ?

#5 2016-12-27 15:00:15

シャチ
Member

Re: 画像でのIF構文

kj wrote:

画像で = 処理できましたっけ?

できちゃいした

Offline

#6 2016-12-27 15:49:40

Shin
Member

Re: 画像でのIF構文

= での処理は、索引テーブルの中で処理されたと記憶しています。テキストフィールドの索引は、各単語または値の先頭 100 文字、数字フィールドは、先頭の 400 桁に対して索引が設定され、オブジェクトフィールドもそのどちらかと同じ様な制限があったと思います。(その資料が見つからないのですが)
Exact関数は、実データを見ますので、その制限は無いはずです。

Offline

#7 2016-12-27 16:04:15

tim
Guest

Re: 画像でのIF構文

=だと(テキスト変換された)ファイル名とかハッシュ値しか比較しない可能性があるってことですね。
この案件では、わざわざ違う画像を同じファイル名にしたりしてなければ、特に問題はなさそう。

#8 2016-12-27 16:11:37

シャチ
Member

Re: 画像でのIF構文

私の検証では
ファイルの読み込みしないで
画像のコピペでほうりこんでます
それでもできてしまったのです

Offline

#9 2016-12-27 16:19:31

tim
Guest

Re: 画像でのIF構文

ほんとだ。Exact関数のヘルプだと、参照と実体の場合は同じ画像でも一致しないと見なすためには関数が必要なようにも読めるけど、=でも同じですね。単に強調してるだけか。

#10 2016-12-27 16:25:29

シャチ
Member

Re: 画像でのIF構文

まぁFMPの柔軟性のなせる技かも

Offline

#11 2016-12-27 16:26:02

チポ
Member

Re: 画像でのIF構文

> = での処理は、索引テーブルの中で処理された
でしょうか?
索引非保存のフィールドでもこの計算は出来ますよね。

ということではないのかな。。

Offline

#12 2016-12-27 19:36:39

旅人
Member

Re: 画像でのIF構文

私のでは同じピクチャをファイル名変えて入れてみたけど
Exactも=もどちらもGetAsTextを比較しているようで
別物になってしまう・・・

Offline

#13 2016-12-27 20:23:28

シャチ
Member

Re: 画像でのIF構文

バージョンによって結果が違うのかも
いやそうでもなさそう
私はMacOS FMP12でしたが
15に変換して新しいデータを挿入したけど
同じ結果だなぁ。。
=もExactも同じ結果返します
Winでは試していないです

Offline

#14 2016-12-28 10:04:55

tim
Guest

Re: 画像でのIF構文

GetAsTextというか、メタデータも保存されてる(同じファイルでもファイルを挿入とピクチャを挿入では別物)んで、ファイル名が違えば別物ですね。
ファイルの中身を比較するにはBase64Encode()が必要。
試した範囲(外部保存は試してない)で=とExact()が違う結果になるケースは、見当たらず。

>索引非保存のフィールドでもこの計算は出来ます
索引は補助的で、索引が違えばその時点で不一致と判断できる、ということかな。
索引に関しては、もっと詳細な資料が欲しいですよね。文字数自体が公式に言明されてる100と400じゃないみたいだし。

#15 2016-12-28 14:30:03

Hiro
Member

Re: 画像でのIF構文

気が付いたことを気ままに列挙!

・「=」でも索引(有効桁数や索引言語)の制約や影響は無いようです。
・「Exact」だけ当初紹介したのは、このオフィシャル解説だけ見つかったからです。
・「=」と「Exact」の主な違いは、大/小文字や言語マルメ文字(漢/洋数字)などを区別するか、のようです。
・ 両者の「実体画像」比較で、バイナリそのものを比較できるのか、内包テキスト部のみを比較するのか、は不明。
・ 仮に「テキスト比較」が仕様なら、(この仕様の方が濃厚な雰囲気!^^;)
・    類型文字「区別」の必要性により「=」と「Exact」を使い分けます。
・    Base64変換でバイナリ画像自体をテキスト化する場合、Base64は大小文字を別視しますから、「Exact」が必須です。

Last edited by Hiro (2016-12-28 15:00:16)

Offline

#16 2016-12-29 11:23:53

旅人
Member

Re: 画像でのIF構文

画像は単純ではないのですね。難しいです。

Offline

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: 526.13 KiB (Peak: 547.03 KiB) ]