フォーラムへの返信
-
投稿者投稿
-
MZPlatformユーザー会キーマスター
ファイルを読み込むメソッド「ファイルからブックを読み込んで選択する」と書き出すメソッド「ファイルに現在のブックを書き出す」はxls形式,xlsx形式どちらにも対応しておりますが,相互に変換をするような使用法には対応しておりません.xls形式で読み込んだファイルは,xls形式でしか書き出すことができません.前回お答えした方法では,メソッド「空ブックを作成して選択する(boolean)」により,指定した形式のデータを新たに作成することになりますため,見かけ上xls形式のファイルがxlsx形式に変換されているように見えておりました.また,単純に一か所の修正を例として回答させていただきましたが,ファイル形式に関係する他の箇所の修正も必要に思います.xlsx形式で読み込んだファイルをxlsx形式で書き出した際フリーズするとのことですが,例えばファイル書き出しの処理がxls形式で出力するような処理になっておりませんでしょうか.メソッド「ファイルからブックを読み込んで選択する」と「ファイルに現在のブックを書き出す」では,ファイル名(拡張子)でファイル形式を判断いたしますので,出力する際のファイル名の拡張子がxlsとなるような処理になっておりませんでしょうか.
MZPlatformユーザー会キーマスターExcelファイルアクセスコンポーネントにて,ファイル形式を指定してファイル書き出しするためには,空ブック作成時に形式を選択します.メソッド「空ブックを作成して選択する(boolean)」を実行して,空ブックを作成しますが,引数に「true」を設定しますと,xlsx形式で出力できます.Excelファイルアクセス.mzaxでは,ID:68のファンクションコンポーネントのイベント処理内にて,「空ブックを作成して選択する(XLS形式)」を実行しておりますが,その箇所を上記のメソッドに変更していただけますでしょうか.
MZPlatformユーザー会キーマスター(メールより転記)
SQL文を下記のようにすると計算できるようです。SELECT koutei,CONVERT(kadou_time,REAL)*3 from CSVREAD(‘(CSVファイルパス)’,null,’Shift-JIS’)
こちらの型変換やデータ型についてはH2の機能になりますので、詳細は下記をご
覧ください。
http://www.h2database.com/html/functions.html#convert
http://www.h2database.com/html/datatypes.htmlMZPlatformユーザー会キーマスター(メールより転記)
CSVファイルをデータベースとしてSQL文で検索し計算をする処理を進めています。時間の平均時間を計算したいと思いますが、整数値の場合には「合計」も「平均値」も正常に計算できるのですが、小数点値(例:7.25)になると、エラーになってしまいます。エラー内容としては、型変換エラーみたいなメッセージが出ているので、可能性としては、CSVデータは基本文字なので、「文字→数値」に型を変換してSQL文が処理をする時にエラーになっているのではと考えます。この場合、SQL文の中で「文字→実数」に変換して計算する記述をすることで、計算は可能になりますでしょうか。MZPlatformユーザー会キーマスターグラフ自体にはマウスの位置を取得する機能がありませんので、添付していただいたようにデータ選択イベント処理中に、グラフを配置しているフレーム内でのマウス位置を取得するのが良いと思います。
ただ残念ながら、現状はダイアログを位置指定で表示する機能がありません。ダイアログは何も指定しないと画面中央に、親フレームを指定すると親フレームの中央に表示されます。
もし表示するものがフレームで良ければ、setFrameLocation(Component,Point)を用いて親フレームと親フレーム内でのマウス位置を指定すれば近い動作が得られます。この場合問題となるのは、ダイアログのようにモーダル指定(表示されている間は他への操作をブロック状態にする)ができない点です。モーダル指定が不要であれば、フレームを用いて位置指定で表示するのが良いと思います。
ダイアログとフレームをそれぞれ使用した場合のサンプルを添付しますのでご確認ください。
添付ファイル:
MZPlatformユーザー会キーマスター現状としては、グラフ凡例の文字サイズを自動調整する機能はありません。
また、凡例は表示の有無のみが指定できるようになっていまして、表示する場合の幅はグラフ全体の1/3と割合が固定となっております。凡例の幅を直接取得する機能は提供しておりません。MZPlatformユーザー会キーマスターご指摘ありがとうございます。こちらでも現象を確認しまして、不具合であることを確認しました。修正はソースコード側で必要ですので、もしお急ぎでなければ次期リリースをお待ちください。
もしお急ぎであれば、修正版のパッチをお渡しして反映方法についてご説明しますので、こちらへの返信でその旨お知らせください。
MZPlatformユーザー会キーマスター本ページの構成を修正しまして、こちらの環境では「送信」ボタンが表示されるようになりましたので、ご確認ください。
MZPlatformユーザー会キーマスター残念ながら、MZではマウスのホイール操作を扱うイベントを提供しておりませんので、ご希望の処理を実現することができません。現状では、ボタンや数値カウンタなど他のGUI部品を用いた実現方法についてご検討いただけますでしょうか。
MZPlatformユーザー会キーマスターご迷惑をおかけして申し訳ありません。
産総研でも、Windows 10 Home 32bitの環境ですが、同様の症状を確認しました。
その際に、Webブラウザは標準のEdgeをお使いでしたでしょうか。こちらで把握している症状としては、Windows 10で標準のWebブラウザEdgeを用いて本掲示板に質問を投稿しようとしても、一番下の「送信」ボタンが表示されません。根本的な解決策としては、本ページの構成を修正する必要がありますが、これには少々時間をいただきたく存じます。
現時点での回避策として、別バージョンのOSをお使いいただくか、Windows 10でWebブラウザとしてInternet Explorerをお使いいただくことをご検討ください。Edgeで表示しているページを直接Internet Explorerで開く方法もあり、Edgeの画面右上の「・・・」からメニューが開きますのでお試しください。
-
投稿者投稿