作成した返信
-
著者投稿
-
MZPlatformユーザー会サイト管理者
ご連絡ありがとうございます。
チェックボックスの項目数の変更が頻繁に起こるのであれば、終了時にチェックボックスの項目を削除してしまい、起動時に[テーブル]の行数に合わせて項目を追加することが考えられます。
このとき使用するメソッドは「指定位置へ項目を追加する(int)」、「指定位置の項目を削除する(int)」です。
ただし、チェックボックスの0番目の項目は削除できませんので、注意が必要です。
添付のファイルでは追加、削除とも[繰り返し制御(FOR)]で行っていますが、0番目の項目の追加や削除を行わないので、引数や処理が少しだけ複雑になっています。ファイルをご覧いただき、ご不明な点、ご要望等ございましたら、どうぞ再度ご連絡いただければ幸いです。よろしくお願い申し上げます。
添付ファイル:
MZPlatformユーザー会サイト管理者ご連絡ありがとうございます。
質問がございます。
[繰り返し制御(FOR)]のメソッド「繰り返し処理を実行する」の「終了値」および「終了値を含めるかどうか」の設定はどのようになっているでしょうか。例えば3つの項目がある場合、開始値を固定値「0」とし開始値を含めるかどうかを「true」、終了値は[チェックボックスグループ]の「項目数を取得」し、終了値は含めないように「false」とすると、位置番号「0,1,2」のチェックボックスの項目について繰り返し処理を行えることになります。位置番号は0から始まるので、項目数と位置番号は値が違います。
終了値を含めるかの設定をするためには、メソッド「繰り返し処理を実行する(int,boolean,int,boolean,int)」は5つ引数欄があるものをご使用ください。
繰り返し処理を行う都度項目数を取得するので、直前までの項目数の増減に対応します。
もし上記設定でもエラーとなるとすると、繰り返し処理のタイミングが適切でない、別なコンポーネントの項目数を誤って取得している等が考えられるかと思います。上記ご確認いただいても改善しない場合は、お手数ですが再度ご連絡いただければ幸いです。
よろしくお願い申し上げます。MZPlatformユーザー会サイト管理者ご連絡ありがとうございます。
個人的な意見になりますが、IDが一意に管理できるなら無理にauto_increment設定にする必要は無いですし、IDの代わりに他に一意になるデータ(例:社員番号、電話番号、データ追加日時)があれば、それを主キー列として扱うことも考えられるかと存じます。
金型履歴の複合コンポーネントが流用できるようでしたら、少し改修の必要も生じるかと思いますので、どうぞ今後とも疑問の点はご連絡いただければ幸いです。
MZPlatformユーザー会サイト管理者お問い合わせありがとうございます。
「金型履歴管理システム」のテーブルに基づいて回答いたします。「金型履歴管理システム」内のテーブルには必ず「id」列があり、「auto_increment」属性を設定して自動的に現在カラムに格納されている最大の値に「1」を加算した値を格納しています。任意の値を設定することは可能ですが、通常はデータ追加時に「id」の値を指定せず自動的に連続して設定されるようにします。
MZの処理の中では、検索結果テーブルの「id」列は削除し、表示していません。
新規データ追加の際も「id」値の指定は不要なので、欄を表示していません。また、「auto_increment」値は再利用はしませんので、もしこの「id」値を手掛かりにしたい場合は一旦データベーステーブルのデータを削除して、またテーブル全行を追加する形になるかと思います。全て新規のidになります。
さらに、select文で取得されるデータの並び順は、順番を明示的に指定しない限り、担保されていません。ですので、理論的にはテーブルデータの行の並べ替えを行っても、その順番でテーブル行が取得されることは保証されません。
以上のことから、データベース内のテーブルデータはそのままで、Select文にORDER BY句などで条件を付けてデータ取得することが考えられます。
元々社員番号や製品番号などの一意のデータがテーブル内にあれば、その列をキーに順番を指定できるかと思います。しかし、キーになるデータがなかったり、ランダムに並べ替えたいという場合は、データベース内のテーブルに並べ替え用の番号の列を追加する必要があります。MZ上では『開発チュートリアル(活用編)』にあるように、[テーブル]の選択行を移動させることは比較的簡単にできますが、移動した後の番号の振り直しの処理と、並べ替え用の番号のデータベースへのUpdateの処理を考える必要があります。
以上、まずはデータ取得時の並べ替えをご検討ください。
例えば[作業者マスタ]複合コンポーネント内の[ファンクション(ID:4-1-25 一覧取得)]の接続先処理に、メソッド「SQL実行:自動接続、切断」を行う[MySQL IF(ID:4-1-1-)]複合コンポーネントがあります。この引数の最後の部分「order bystaff
.id
;」のところを「 order bystaff
.number
;」に変更し、マスタ管理ダイアログで表示すると社員番号による並び変え指定が確認できます。「金型履歴管理システム」のマスター表示では[ツリー]と、各マスター用の[複合コンポーネント]を使用していることでかなり複雑になっているので、お手元のデータに適用する場合はもう少し簡略にすることも可能ではあるかと存じます。
ご不明な点。ご要望等ございましたら、どうぞ再度ご連絡ください。
よろしくお願い申し上げます。MZPlatformユーザー会サイト管理者お問い合わせありがとうございます。
申し訳ございませんが[CSV出力]コンポーネントにはファイルの上書き確認をする機能はございません。例えば[ファイル]コンポーネントも追加し、保存前に保存ファイル名を[ファイル]に設定し、「ファイルが存在するかどうかを取得」します。
trueまたはflaseの結果が取得されるので、[等価演算(=)]で演算し、ファイルが存在するtrueの時は[確認ダイアログ]等を出して上書きしてよいか確認するなどの条件分けが必要になるかと思います。ご不便をお掛けいたしますが、どうぞよろしくお願い申し上げます。
ご不明な点がございましたら、再度ご連絡いただければ幸いです。MZPlatformユーザー会サイト管理者お待たせしました。評価用のファイル一式をZIPファイルにして添付します。
ダウンロードしたZIPファイルを展開していただき、その中に含まれる使用手順を参考にお試しいただけますでしょうか。使用方法についてご不明な点があればお問い合わせください。
添付ファイル:
MZPlatformユーザー会サイト管理者回答が遅くなり申し訳ございません。技術的にはWindowsで使用可能ですが、いくつかの制約があり現在は配布版の機能に含めておりません。
・Windowsでは公式のNFCポートソフトウェアを使用する方法が最も簡単
・NFCポートソフトウェアと通信するフリーのライブラリを使用するがその動作が無保証
・使用ライブラリの制約でWindowsでは32ビット版のMZ Platformでのみ動作上記の制約がありますが、もしこちらで作成したテスト版の評価をご希望であれば、準備しますのでもう少々お待ちいただけますでしょうか。
MZPlatformユーザー会サイト管理者ご連絡ありがとうございます。
LooK&Feelを「Nimbus」を変更し、その後他の設定に戻したときに、元の選択時背景色や罫線の設定が残ってしまうことを確認いたしました。
また、LooK&FeeLで「Nimbus」を使用時に画面表示に不具合が生じてしまう現象も見られました。誠に申し訳ございませんが、LooK&Feelは全てJava側の仕様に依ってしまうため、解消の目途が立っておりません。大変ご不便をお掛けいたしますが、解決までに長くお時間を頂きます。
こちらで把握していない現象をお知らせいただき、大変有り難く存じます。
今後ともどうぞよろしくお願い申し上げます。MZPlatformユーザー会サイト管理者お問合せありがとうございます。
ご利用になる機器のOS等によってお勧めする内容が変わりますので、大変お手数ですが、ご使用になる機器の環境(OSのバージョン等)を差し支えない範囲でお知らせいただけないでしょうか。
お手数をお掛けいたしますが、どうぞよろしくお願い申し上げます。
MZPlatformユーザー会サイト管理者お問い合わせありがとうございます。
改行のあるテキストを[テキストエリア]から取得すると[文字列格納変数]に設定されても改行は残っているので、任意の文字列で置換することができます。以下の手順をお試しください。
1)[テキストエリア]の「テキストを取得」します。
2)[文字列格納変数]に「文字列を設定」します。取得方法「メソッド処理結果」で1)の結果を取得し設定します。
3)[文字列格納変数]のメソッド「正規表現に適合する全ての文字列を置換する(Strin.String)」で改行文字を「\n」に置換します。
引数0:「\n」、引数1:「\\n」とします。置換え後の文字の方は「\」をエスケープします。以上で置換されるので、[文字列格納変数]内のテキストを[テキストファイル出力]等で保存します。
なお、[文字列格納変数]のメソッド「指定文字列と一致するすべての文字列を置換する(String,String)」ではうまく置換できません。以上お試しいただき、ご不明な点がございましたら、再度ご連絡いただければ幸いです。
どうぞよろしくお願い申し上げます。 -
著者投稿