フォーラムへの返信
-
投稿者投稿
-
MZPlatformユーザー会キーマスター
追記で失礼いたします。MZプラットフォームお問い合わせ窓口です。
[折れ線グラフ]に設定する[テーブル]のデータが、基本のデータの並び(参考:チュートリアルL8)である場合は、もっと簡便に2つのコンポーネントのスクロール開始位置をメソッドで指定することで設定できます。
項目数が多い[折れ線グラフ]のデータとなる[テーブル]は行数が多く、縦スクロールが表示されているかと思います。[テーブル]の「縦横スクロールイベント」に繋げ、接続先[折れ線グラフ]のメソッド「setItemAxisDisplayStart(int)」を設定します。
スクロールイベントのイベント内包データとして、スクロール位置が取得でき、これは[テーブル]では何行目を表示開始行とするか、[折れ線グラフ]では何項目目が表示開始位置となっているかという整数値です。縦スクロールのみ同期するようイベント番号も設定します。同様に[折れ線グラフ]のスクロールイベントに[テーブル]のメソッド「縦方向のスクロールバーの位置を設定する(int)」を繋げると、どちらかのコンポーネント動かすと同期することになります。
詳しくは添付のサンプルファイルをご覧ください。
ただし、上記方法はテーブルのイベント発生のタイミングのため、テーブルのスクロールバーのドラッグを完了したあとでないと、グラフのスクロールが行われませんので、ご了承ください。
また、基本の折れ線グラフ用[テーブルデータと特に指定している理由は、グラフの項目数と[テーブル]の行数に違いがある場合、表示されない箇所出てくる可能性があるからです。以上、ご不明な点がございましたら、ご連絡いただければ幸いです。
どうぞよろしくお願い申し上げます。添付ファイル:
MZPlatformユーザー会キーマスターお問い合わせありがとうございます。
折れ線グラフにもスクロールバーが配置されていますが、オブジェクトとしてはテーブルに配置されているものと別種となってしまうため、[スクロールパネル]に[折れ線グラフ]を配置し、スクロールして見るということが考えられます。1)1つには単純に[スクロールパネル]上に[折れ線グラフ]と[テーブル]を配置する方法です。個々のコンポーネントはスクロールバーが表示されないように最大幅にしておきます。
[1]「画面編集画面」で[フレーム]上にまず「領域配置」>「Center]の配置方法で[スクロールパネル]を配置します。
[2][スクロールパネル]上に「縦方向整列」等でコンポーネントを配置します。
[3]フレームの配置画面で「自動サイズ設定」のチェックを外し、フレームの大きさを適宜変更します。例えば幅を狭めに設定します。2)2つ目は参考にしていただいた2つの[テーブル]の連動と同様に、スクロールバーのオブジェクトを取得し、共通化するものです。
添付のファイルをご覧ください。[スクロールパネル]のスクロールバーでしたら、[テーブル]と共通化が可能です。ただ、幾つか組み合わせを変えて手元で試したところ、スクロールの移動距離の関係上か[テーブル]と[折れ線グラフ]の幅が大体同じでないと、どちらかのコンポーネントで隠れて表示されない箇所が出てきてしまいました。2つのファイルを添付いたしますので、ご参考になれば幸いです。
ご不明な点がございましたら、どうぞ再度ご連絡ください。
よろしくお願い申し上げます。添付ファイル:
MZPlatformユーザー会キーマスターお問い合わせありがとうございます。
[基本統計処理(数値)]のメソッド「標準偏差を取得する()」の仕様として、
・標準偏差の小数点以下の桁数は、計算結果値の小数点以下桁数が-1のとき、 全データで最も小数点以下の桁数が多いデータの小数点以下桁数 + 1
・計算結果値の小数点以下桁数が-1以外のとき 計算結果値の小数点以下桁数 とする
となっています。小数点以下有効桁数を設定しないときの計算結果は、設定された数値のうち最も小数点以下の桁数が多いデータの小数点以下桁数に左右されるとお考えください。
今回お送りいただいたアプリケーションの[テーブル]は列型を「実数」に設定して頂いていますが、恐らくテーブルセルに値を入力時は整数の形で入力されていると推察します。セルの値を実数であることが担保されるように入力すると計算結果の丸め位置は移動しました。データ値に左右されないようにするには、[基本統計処理(数値)]のメソッド「集計結果値の小数点以下有効桁数を設定する(int)」をお使いください。引数は「固定値」で設定可能です。このメソッド処理を「集計対象データを設定する(PFObjectList)」の処理の前に設定します。
なお、各コンポーネントのメソッドにどんなものがあるか、MZプラットフォームユーザー会の資料「https://ssl.monozukuri.org/mzplatform/mzpf_docs/4.0/reference/index.html」をご覧いただくと一覧となっています。ご参考になれば幸いです。
以上、ご不明な点がございましたら、どうぞ再度ご連絡ください。
よろしくお願い申し上げます。MZPlatformユーザー会キーマスターお問い合わせありがとうございます。
計算を実行するコンポーネントは[関数電卓]となります。[関数電卓]の使用方法については、MZPlatform\4.0\AP_DATA\Sampleフォルダ内にあるサンプルファイル関数電卓.mzaxと説明資料の”MZPlatform\4.0\docs\sample\サンプル (関数電卓).pdf”がご参考になるかと思います。
サンプルファイルでは判りやすいように画面で表示して式設定や変数定義をしていますが、コンポーネントのメソッド及び引数で直接指定して結構です。
全角文字でも変数として使用できます。
サンプルで言いますと「安全係数*標準偏差*sqrt(リードタイム)」と式設定の画面に入力し、右側テーブルの「a」「b」等の代わりに「安全係数」「標準偏差」と入力すると、計算できることが確認できます。以上、ご確認いただき[関数電卓]コンポーネントの使い方にご不明な点がございましたら、どうぞ再度ご連絡ください。よろしくお願い申し上げます。
MZPlatformユーザー会キーマスターお問い合わせありがとうございます。
1.[テーブル]のメソッドでは適当なものが無いため[文字列格納変数]に列名を入れて、メソッド「matches(String)」により列名と検索したい文字列がマッチするかの処理を行うことが考えれられます。true/falseで返値を取得できます。
「matches(String)」の引数には正規表現を使用できるので、あいまい検索のような処理が可能です。
以上を[繰り返し制御(for)]や[等価演算(=)]と組み合わせて例えば[テキストフィールド]に入力した文字と[文字列格納変数]内の文字とを照合します。動作確認のため、簡単なサンプルファイルを添付いたします。ご参考になれば幸いです。
2.[帳票]の[テーブル要素]の列名については、確かに個別に文字位置を設定する属性設定機能は現在のところございません。実現可能か検討いたしますが、難しいかも知れません。
可能であれば、こちらに返信いたします。
ご不便をお掛けいたしますが、よろしくお願いいたします。添付ファイル:
MZPlatformユーザー会キーマスターご連絡ありがとうございます。
メール送受信に関するセキュリティ対策は日々更新されており、対応しきれていないのが現状です。また、弊所内でも認証方式厳格化の影響か、以前検証できたものができなくなっており、個々の環境にも大きく左右されるかと思います。
大変ご不便をお掛けいたします。
現在何らかの形で通知可能な方法があるか検討しておりますが、まだまだ検討段階ですのでご理解いただければ幸いです。
どうぞよろしくお願い申し上げます。MZPlatformユーザー会キーマスターご連絡ありがとうございます。
メール送受信に関するセキュリティ対策は日々更新されており、対応しきれていないのが現状です。また、弊所内でも認証方式厳格化の影響か、以前検証できたものができなくなっており、個々の環境にも大きく左右されるかと思います。
大変ご不便をお掛けいたします。
現在何らかの形で通知可能な方法があるか検討しておりますが、まだまだ検討段階ですのでご理解いただければ幸いです。
どうぞよろしくお願い申し上げます。MZPlatformユーザー会キーマスターお問い合わせありがとうございます。
大変申し訳ございませんが、[日時選択パネル]の画面はそれ自体完成された画面となっていて、編集の自由があまりありません。したがって、原則として特定の日付ボタンの背景色やフォントを変えるといった設定は、できないと考えてください。
1つの案として、「稼働日」の設定を利用されていないようでしたら、日報の未読日を稼働日としてリストで設定し、稼働日の文字色を独自に設定することも考えれます。ただし、フォントや背景色は変わりませんので、文字色を変えてもそれ程目立たないようです。その他にはやはり他の画面構成部品のコンポーネントを追加して、未読日を表示するという方法になるかと思います。
大変ご不便をお掛けいたしますが、ご検討頂きご要望等ございましたら、どうぞ再度ご連絡ください。よろしくお願い申し上げます。
MZPlatformユーザー会キーマスターお問い合わせありがとうございます。
まず、➀と➁のテーブルセルについて別々の列のセルとして回答いたします。
➀列型が文字列型の場合、[テーブル]上で右クリック>列>表示属性(文字列)>パターン文字列…で設定できる属性があるのですが、この場合[マスク入力フィールド]のように「###」が3桁の数字を表すといったことではなく、その文字そのもの(###)を入力しないとセルが赤枠になり、受け付けられません。
列型を日付型に設定し、[テーブル]上で右クリック>列>表示属性(日付)>表示属性>その他…を選び、入力窓に例えば「HH:mm」と入力すると「時間:分」の形式で入力したときのみ受付られるようになります。
H:24時間制での時間、h:12時間制での時間、m:分を表します。桁を2桁で揃えたい時は「HH」のように2桁で入力します。➁列型が文字列型の場合、[テーブル]上で右クリック>列>表示属性(文字列)>セル複数行表示>[する]を選択します。Microsoft EXCELでのセル内での改行と同じように、[Alt] を押しながら[Enter]を押すと改行可能です。
さらに、行の折り返し>[する]を選択すると折り返し表示もできます。改行については、文字列型のセルでしか設定できないため、もし➀と➁を1つのセルで同時に実現したいとなると、簡単に列型と列属性の変更だけでは対応できません。何か処理を挟む必要が出てくると思います。
以上ご検討頂き、ご不明な点がございましたらどうぞ再度ご連絡ください。
よろしくお願い申し上げます。MZPlatformユーザー会キーマスターご連絡ありがとうございます。
該当するフォルダ名が存在する場合に、フォルダー開く処理を既に設定しているので、今回は存在しない場合の処理を設定することになります。
フォルダ名はあいまい検索で探している関係上、[繰り返し処理]で一つずつ照合していますが、フォルダ名が見つかった場合は[整数(BigInteger)格納変数]の値を1増やすことによって、発見のカウンターとすることにします。
[整数(BigInteger)格納変数]の値が0より大きくない場合、つまりファイルが見つからない場合、[ファイル]コンポーネントに作成するフォルダ名を設定し、「ディレックトリ作成()」を行うことになります。先日お送りしたサンプルに、例えば「MZPlatform/5.0」のフォルダを作成する処理を設定しました。新規フォルダの命名規則がさらに複雑な場合は、[文字列格納変数]を使用した処理ここにを追加することになるかと思います。
添付のファイルをご覧いただき、ご不明な点を再度ご連絡いただければ幸いです。
どうぞよろしくお願い申し上げます。- この返信は10ヶ月、 1週前にMZPlatformユーザー会が編集しました。
添付ファイル:
-
投稿者投稿