MZPlatformユーザー会

フォーラムへの返信

10件の投稿を表示中 - 281 - 290件目 (全779件中)
  • 投稿者
    投稿
  • 返信先: タイマーコンポーネントについて #6433
    MZPlatformユーザー会
    キーマスター

    [コンポーネント格納変数]に設定した[ラベル]のテキスト文字列を設定するメソッド名は「setText(String)」です。この英語のメソッド名は、起動メソッド情報ウィンドウで「全メソッド対象」にチェックを入れると確認できます。

    1.「起動メソッド名を設定する(String)」で引数に固定値で「setText」を設定します。
    2.次に「setText(String)」には引数が必要なので「起動メソッドに引数を追加する(String,Object)」の処理を設定します。引数1には固定値で「String」とします。この「引数の型を示す文字列」にはメソッド名の後ろの「()」の中に入っている文字列を指定します。
    引数2には設定したい値を指定してください。
    3.「起動メソッドを実行する()」の処理を設定します。

    ただ[コンポーネント格納変数]を使っても、処理の設定数はあまり変わらないかもしれません。MZPlatformで提供しているサンプルではコンポーネントの値の初期化の処理は[サブルーチン」や[ファンクション」を先頭に処理を纏めていることが多いです。どうぞご参考になさってください。

    返信先: タイマーコンポーネントについて #6428
    MZPlatformユーザー会
    キーマスター

    [リスト格納変数]にコンポーネントを入れ、位置を指定してコンポーネントを取得したいときには、[ファンクション]や[イベント生成]など、任意の数値を引数に指定できるコンポーネントを使うと便利です。
    ただし、コンポーネントを取得した後、そのコンポーネントのメソッドを実行するには一旦[コンポーネント格納変数]等に格納しなければなりません。
    簡単な例を作成しましたので、ご覧ください。また[ファンクション]を使用するなら、[ファンクション]の引数にコンポーネント自体を指定しても良いかと思います。併せて2番目の例もご覧ください。[コンポーネント格納変数]の使い方は少し判りにくいので、疑問の点があればご返信ください。
    処理を纏めるには他にも[複合コンポーネント]に入れるなども考えられます。ご検討ください。

    MZPlatformユーザー会
    キーマスター

    金型履歴管理システムのサンプルアプリケーションには
    1)MZPlatform\3.6_64\AP_DATA\MetalMoldフォルダの中のサンプルとしてのアプリケーションと2)MZPlatform\3.6_64\AP_DATA\Tutorial\金型履歴管理フォルダの中の01~13までの作成例題としてのアプリケーションとがあります。
     MetalMoldフォルダのアプリケーションは、改変を想定しておらずチュートリアルの例よりも複雑になっています。実行時にコンポーネントを動的に画面上に配置し、終了時には画面上から削除する設定になっているため、画面編集画面で見ると何も配置されていないように見えます。

     Tutorialフォルダ内のアプリケーションは、自身で作成できるよう作られています。2)のMZPlatform\3.6_64\AP_DATA\Tutorial\金型履歴管理フォルダの中のファイルをどうぞご覧ください。

    返信先: 折れ線グラフの編集方法 #6417
    MZPlatformユーザー会
    キーマスター

    情報ありがとうございます。
    確かに、SQL Serverの関数にTIME_TO_SECとTIMEDIFFが無いようです。

    代わりにDATEDIFFがあるようなので、お試しください。
    https://docs.microsoft.com/ja-jp/sql/t-sql/functions/datediff-transact-sql?view=sql-server-ver15

    SELECT (DATEDIFF(second,time,'[開始日時]’) DIV 300 + 1)*5 AS timespan, AVG(value), MAX(value), MIN(value) FROM data_table WHERE time>='[開始日時]’ AND time<‘[終了日時]’ AND ..[その他の条件].. GROUP BY timespan; こちらでは動作確認していませんが、MySQLでない場合いろいろ書き替えないといけないと思いますし、GROUP BY等の指定がこれでOKかはわかりません。エラーが出たらメッセージもお知らせいただければ参考になるかもしれません。 また、独自に解決できましたらご報告いただけると助かります。

    返信先: 折れ線グラフの編集方法 #6415
    MZPlatformユーザー会
    キーマスター

    ご質問内容は理解できました。

    確かにForでSQL文の実行を繰り返してご希望のテーブルデータを作成することもできますが、SQL文を工夫する方がMZ側の処理が簡単になります。下記にSQL文例のイメージを書きます。

    SELECT (TIME_TO_SEC(TIMEDIFF(time,'[開始日時]’)) DIV 300 + 1)*5 AS timespan, AVG(value), MAX(value), MIN(value) FROM data_table WHERE time>='[開始日時]’ AND time<‘[終了日時]’ AND ..[その他の条件].. GROUP BY timespan;

    ポイントは、GROUP BYで集約する対象を工夫して作成することです。ここでは、開始日時から終了日時までを5分単位で区切り、その範囲に含まれる値を集約することで一度にテーブルが取得できるようにしています。具体的には、日時の差分を秒単位に変換してから5分を示す300秒で整数の割り算をして、それに1を足してから5をかけると5分単位の経過時間になります。

    なお、上記はMySQLを前提に書いていますが、お使いのDBMSによっては文法が異なることがありますので、その場合はお使いのDBMSに合わせた修正が必要です。(対応する関数が存在しない場合は方法を別に考える必要があります)

    返信先: 折れ線グラフの編集方法 #6410
    MZPlatformユーザー会
    キーマスター

    ご質問内容と添付されたMZアプリだけでは、何を回答すればよいのかわかりません。

    SQL文でどのようなテーブルを取得して、それをどのように簡略化したいのかご説明いただき、そのときForで何をしたくてその実現方法がわからないのかご説明ください。

    なお、添付されたMZアプリを拝見すると、SQL文が不十分のように見受けられます。
    こちらはデータを実際に取得して確認したでしょうか。

    返信先: jdk-11でのjdbc使用方法について #6405
    MZPlatformユーザー会
    キーマスター

    追加情報をお知らせします。

    JDK11でMZの機能がすべて正常に動くとは限りませんが、JDBCドライバについては、MZ側の設定ファイルにパスを追加することで使えるようです。

    MZプラットフォームのインストールフォルダ(3.6の32ビット版であれば標準は C:\MZPlatform\3.6)にあるjarsフォルダにJDBCドライバ(JARファイル)を配置して、同じくetcフォルダにあるPlatformClassPath.iniに
    jars/(JARファイル名)
    と一行追加して起動すれば使用できると思いますので、お試しください。

    返信先: 折れ線グラフの編集方法 #6401
    MZPlatformユーザー会
    キーマスター

    最新のバージョン3.6においても、折れ線グラフは横軸に項目軸を取るグラフですので、対象列が日時データであれば文字列に変換されてすべての日時が項目として表示され、ご報告いただいたようなグラフになります。これに対してグラフ側の設定だけでご希望の表示をすべて実現することはできません。

    グラフ側で変更可能なものは、1と2で、設定するテーブルデータの行数を表示項目数に設定することができ、そうすればスクロールバーは表示されません。実行中の右クリックで表示されるメニュー(項目軸>表示項目数)から設定できますし、日本語化されていないメソッド(setItemAxisDisplayCount(int))を使えば設定可能です。

    3と4と5は、現状SQL文でグラフ表示に必要なテーブルデータに整形する必要があります。日時のデータを指定の文字列で出力するように指定して、必要な間隔のデータとなるように集約(例えば平均化)します。

    一方、指定間隔のデータに集約しても抜けがある場合への対応や、行数が多い時に項目名がつぶれてしまう問題は残るので、MZ側でグラフ表示用に値を埋めたり表示項目名を間引いたりするなどの工夫も必要となります。

    以上のような工夫を駆使して作っているのが、配布版ツールキットに付属のデータ可視化用のサンプル(IoTDBViewer.mzax)ですので、参考にしていただければ幸いです。こちらはかなり複雑なので読むのが難しいと思いますが、ご不明な点を一つずつお問い合わせください。

    返信先: jdk-11でのjdbc使用方法について #6400
    MZPlatformユーザー会
    キーマスター

    JDK9以降ではご指摘の通りextフォルダが無く、JDBCに限らずMZで利用している外部ライブラリをどのように組み込めばよいのか、こちらでは動作確認ができておりません。

    逆に質問させていただきたいのですが、JDK11でMZが動作しているということでしょうか。そうであれば、同じ方法でJDBCドライバも組み込めないでしょうか。

    情報提供していただけると助かります。

    MZPlatformユーザー会
    キーマスター

    データベース接続時の文字コード設定が原因の可能性があります。
    以下の記事をご覧になり、設定を変更してお試し頂けないでしょうか。

    金型履歴管理システムのMYSQL IFについて(メールより転載)

10件の投稿を表示中 - 281 - 290件目 (全779件中)