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

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

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

You are not logged in.

Announcement

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


#1 2016-12-20 04:27:30

がんぞ
Guest

□□□□□を塗りつぶすにはどうしたらよいでしょうか?

□□□□□
とレイアウトにメーターのような画像を表示して
マウスオーバーするとその範囲まで□が■になり、
クリックで確定する、というようなことはできますか

マウスオーバーで■になるのは視覚的なものなのでなくてもいいですが、
右から2つめをクリックで
■■□□□
4つめで
■■■■□
ということをしたです

FMP15 WIN10です

#2 2016-12-20 04:49:07

Hiro
Member

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

繰り返しオブジェクトフィールドに画像を表示して、OnObjectEnterトリガでクリックした繰り返し位置番号を取得すれば画像変化はできます。
しかし、OnMouseOverイベントトリガ機能はFMに無いので、出来ません。

Offline

#3 2016-12-20 05:07:18

がんぞ
Guest

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

こんな夜中に解答ありがとうございます
さっそくやろうとしましたが
いまいち手順がわかりませんでした
オブジェクトフィールドを作成しオプションで繰り返しを5
にするところまでしかできませんでした。

すみませんド素人なもので
お手数ですが作成手順を教えていただけると助かります。

ちなみに、各レコードやレコード新規作成時の
初期状態では全部□状態を5つ並んだ状態にしたいです

#4 2016-12-20 09:27:16

tim
Guest

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

クリックした結果を何かの値として保存しなくていいんですか?

#5 2016-12-20 10:34:56

チポ
Member

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

テキストタイプで
  ■ = Char (9632)
  □ = Char (9633)
を入力してもいいですよね。

初期値はスクリプトで繰り返し1回から5回まで
  Char(9633)
を入力します。


クリックのスクリプトは、
繰り返し1回からクリックされた繰り返し位置(Get ( アクティブ繰り返し位置番号 )で得られます)
まではChar(9632)を入力、
それ以降、5回まではChar(9633)を入力。

とすればいいでしょう。
スクリプトを作ってみてください。

Offline

#6 2016-12-20 15:27:31

がんぞ
Guest

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

>timさん
検索やソート用に、■の数を数えて数値で保存したいです

>チポさん
Char (9632)と入力するのと、"■"では何か違いがあるのでしょうか?
ちなみに、Windowsでは、□と■は、微妙にサイズが違うことに気が付きました。
そこで、画像でやりたくなってきたのですが、
Charのところを格納した画像のファイル名にかえるだけでいいのでしょうか?
画像の場合、画像はどこに置いておくのですか?

#7 2016-12-20 15:56:07

チポ
Member

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

> Char (9632)と入力するのと、"■"では何か違いがあるのでしょうか
変わりません。

▪= Char(9642)
も有るので・・


> Windowsでは、□と■は、微妙にサイズが違う
今、Winで確認出来ないのですが、
フォントによってではないでしょうか?


画像にするのなら、オブジェクトフィールド・グローバルを二つ作り、
それぞれに四角を入力しておく必要が有るでしょう。

Offline

#8 2016-12-20 16:39:32

旅人
Member

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

黒をチェックすると、それから右は消えるのですよね。
こんなのではダメですか?
http://pupld.net/21/161220/icdbv126hv/index.cgi   
黒チェック.fmp12

Offline

#9 2016-12-20 17:05:33

シャチ
Member

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

ボタンとスクリプトと書式設定での例です
最初は、白で クリックすると そこまで左が黒くなります

http://yahoo.jp/box/Vbe5_a
に置きました。

Offline

#10 2016-12-20 17:22:02

tim
Guest

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

Hiro wrote:

OnMouseOverイベントトリガ機能はFMに無いので、出来ません。

ボタンバーを使うと、Hoverでマウスの下のボタンの色を変えることはできますね。そこから左を全部、は無理かな?何か方法がありそうな。

#11 2016-12-20 19:25:24

Hiro
Member

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

疑似的OnMouseOver動作は、「イベントトリガー・プラグイン」外部関数と
ポップアップ・ヘルプ」のHover機能を組み合わせて、昔行なった記憶があります。
ただ、マウスが外れた時のOnMouseOut動作はどう対処したか記憶がありません。

Offline

#12 2016-12-20 21:56:29

がんぞ
Guest

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

サンプルファイルありがとうございました。

自分でも色々調べていたら、FMではなくAccessで
やりたいことを解説しているページがありました。
このようなことはFMでできるのでしょうか?

http://hatenachips.blog34.fc2.com/blog-entry-429.html

#13 2016-12-20 22:22:57

Hiro
Member

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

画像とか文字とかを使うと設定が色々と面倒なので、
条件付き書式の塗つぶし機能だけで実現する、
非常に簡便な作例です。

●サンプル「塗つぶしバー.fmp12」→ http://yahoo.jp/box/JPV02d

Offline

#14 2016-12-21 01:19:46

がんぞ
Guest

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

>Hiroさん

#pos
というのは何でしょうか?

#15 2016-12-21 02:07:19

Hiro
Member

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

>#pos というのは何でしょうか?
以下です。

   Let([
      #pos=Get(アクティブ繰り返し位置番号)  //←#posは、クリックした繰り返し位置を一時格納するローカル変数です
   ];
      Case(#pos=マスタ::バーグラフ[1]; ""; #pos)
   )

Offline

#16 2016-12-21 02:38:14

がんぞ
Guest

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

>旅人さん

スクリプトについて質問させてください

//変数を設定 で $N という変数の値は Get(スクリプト引数)
$N = スクリプト引数
と定義して
数値というフィールドにそれを入れる、
ということですよね?

スクリプト引数というのはどこから、というか
いつそこになんらかの数値がはいったのですか?
スクリプト引数のことを検索しましたが理解できませんでした

また、
変数を設定 がグレーアウト(//があるからでしょうか?どうやっていれるのですか?)している理由と
フィールド設定の最後の//$Nはなんでしょうか

#17 2016-12-21 11:34:37

旅人
Member

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

私への質問ではないですが・・・
スクリプト引数はボタンなどにスクリプト実行を指定するとき
そのスクリプトパラメータ欄に入れて、 Get(スクリプト引数)
で取り出します。
名前が違うので分かりにくいですね。

Offline

#18 2016-12-21 13:17:03

シャチ
Member

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

私への質問かと思います。
間違って、作成途中ので
// のあるところを削除しないまま
アップしてしまいました。

fmp12のファイルに作り直して
http://yahoo.jp/box/s0CdGu
に置きました

Offline

#19 2016-12-21 16:08:40

がんぞ
Guest

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

すみません
お名前をまちがえてしまいました。

スクリプト引数をどこで設定するのか、やっとわかりました。
ちなみに
スクリプト引数とは
同じスクリプトをある数値だけを変えて使いまわすためにつかうもの
要するに効率化のためにつかうもの
ということであっていますか?

いくつかスクリプトを作っていて
これとこれは同じにできるな、とか
あとから同じような処理が増えた場合に
フィールド指定していた箇所をスクリプト引数にすることもあるのでしょうか?

#20 2016-12-21 16:11:34

シャチ
Member

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

がんぞ wrote:

スクリプト引数とは
同じスクリプトをある数値だけを変えて使いまわすためにつかうもの
要するに効率化のためにつかうもの
ということであっていますか?

間違いございません

がんぞ wrote:

いくつかスクリプトを作っていて
これとこれは同じにできるな、とか
あとから同じような処理が増えた場合に
フィールド指定していた箇所をスクリプト引数にすることもあるのでしょうか?

慣れれば、それも可能だと思います。
私やったことあったかな?忘れました。

Offline

#21 2016-12-21 16:38:29

チポ
Member

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

他の用途としては、例えば、
ポータル行内のボタンでスクリプトを実行した場合、
行ごとにスクリプトを変えることは出来ませんから、
スクリプトパラメータでどの行で実行するのか分けることが出来ますよね。


複数のスクリプトで同じ処理をする場合は、サブスクリプトの考えが出来ます。

その処理だけのスクリプトを作り、
元の複数のスクリプトで、ステップ
  スクリプト実行
でそのスクリプトを呼び出して実行出来ます。

Offline

#22 2016-12-21 17:56:20

Hiro
Member

Re: □□□□□を塗りつぶすにはどうしたらよいでしょうか?

質問内容があらぬ方向へずれているようですが、
本題の件への回答やサンプルについての返答はどうなっているのですか?

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, 7 queries executed - Memory usage: 563.68 KiB (Peak: 584.59 KiB) ]