MZPlatformユーザー会

フォーラムへの返信

10件の投稿を表示中 - 291 - 300件目 (全793件中)
  • 投稿者
    投稿
  • 返信先: WebAPI通信・Jsonデータ取り扱いについて #6447
    MZPlatformユーザー会
    キーマスター

    過去にWebAPIにアクセスしてJSONデータを取得する方法についての投稿がありましたので、こちらをご参考になさってください。
    疑問の点等ありましたら、返信いただければ幸いです。

    トピック『他ツールで公開されているAPIの用い方について』
    https://ssl.monozukuri.org/mzplatform/forums/topic/%E4%BB%96%E3%83%84%E3%83%BC%E3%83%AB%E3%81%A7%E5%85%AC%E9%96%8B%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8Bapi%E3%81%AE%E7%94%A8%E3%81%84%E6%96%B9%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/

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

    外部参照機能を設定して開発を進めると、ご要望にあった画面構成部品の位置変更などは共通してできるので便利かと思います。
    しかし、完成後に外部参照機能があるアプリケーションを各ユーザーに配布する場合には、参照元の複合コンポーネントも一緒に配布するか、または共有でアクセスできるフォルダに入れ、そこまでのパスを記述したPlatform.iniを配布しなければなりません。
    そのため、開発終了後には外部参照無しに変更することも多く、お勧めいたしました。

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

    複合コンポーネントには外部参照機能があります。Platform.iniで指定したフォルダに入れたファイルを参照し、参照元のファイルを変更を保存すれば、そのファイルを参照している複合コンポーネントにも反映されます。『アプリケーションビルダー操作説明書』のP118-120をご参照ください。
    1.基本の複合コンポーネントの階層内に入って、「この階層」のみをフォルダに名前を付けて保存します。(Platform.iniでCombinativeComponentsFolderに既定で指定されている保存フォルダはMZPlatform\3.6_64\AP_DATA_COMBです。)
    2.基本の複合コンポーネントをアプリケーションビルダー上でコピー&ペーストします。
      または、アプリケーションビルダー上で右クリック>複合コンポーネント追加で追加します。
    3.複製した複合コンポーネントの属性情報設定ウィンドウを表示し、Referenceの欄に参照元複合コンポーネントファイルの名前(例:test.mzcx)を設定します。
    4.3のコンポーネントを必要数コピー&ペーストし、アプリケーションを保存します。
      参照機能を設定している複合コンポーネントのコンポーネントキーは青色になります。

    複合コンポーネントは複数を画面上に配置してしおき、アプリケーション開発中は基本の複合コンポーネントの参照を行い、アプリケーション完成時に参照機能を「false」にするという方法をお勧めします。
    各複合コンポーネントによって違う処理・設定を加える場合は、完成時に参照無しの状態にしてから行います。以上、ご検討ください。

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

     引数のデータ型を示す文字列について、ご説明が足りず失礼しました。
    数値,String,boolean,void型以外はクラス名を指定してください。Color型の場合には「java.awt.Color」となります。
    それから、引数2に設定する値ですが、ここではColor型のオブジェクトを設定しなければならず、直接文字列によるRGB値で指定はできません。一旦[色格納変数]に設定して、そこからColorオブジェクトを取得するようにします。
    お送りいただいたファイルを少し変更しましたので、ご覧ください。

    返信先: タイマーコンポーネントについて #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文が不十分のように見受けられます。
    こちらはデータを実際に取得して確認したでしょうか。

10件の投稿を表示中 - 291 - 300件目 (全793件中)