Re: 単純なプログラムなのですが、エラーが出て実行できません。

投稿者:アーク 投稿日:2024/03/19(Tue) 15:10:06 No.2350

こんにちは。アークです。

これは「カイゼン掲示板」ではなく「新人掲示板」へ書くべき内容です。
勿論、プロデルのバグなどでは有りません。

メイン画面を表示する
待機する

メイン画面とは
  ウィンドウを継承する
  はじめの手順
    初期化する
    ーー貼り付けた部品に対する操作をここに書きます
    監視は、オフ
  終わり
  
  初期化する手順
    ーー自動生成された手順です。ここにプログラムを書き加えても消える場合があります
    初期化開始する
    この実質大きさを{284,68}に変える
    この内容を「メイン画面」に変える
    この文字色を「標準の文字」に変える
    テキスト1というテキストを作る
      その位置と大きさを{121,29,85,19}に変える
      その内容を「HR=」に変える
      その移動順を1に変える
    チェックボックス1というチェックボックスを作る
      その位置と大きさを{25,23,73,28}に変える
      その内容を「心電図」に変える
      その移動順を2に変える
      その文字色を「標準の文字」に変える
    初期化終了する
  終わり
  
  開いた時の手順
    監視は、オン
    テキスト1を3へ移動する
  終わり
  
  テキスト1の内容が変化した時の手順
    もし(監視がオン)かつ(テキスト1の内容が「HR=」でない)なら
      チェックボックス1の状態をチェックに変える
    他でもし(監視がオン)かつ(テキスト1の内容が「HR=」)なら
      チェックボックス1の状態をなしに変える
    もし終わり
    テキスト1を更新する
    もし(テキスト1の内容が「HR=」でない)かつ(テキスト1の文字数が3未満)なら
      テキスト1の内容を「HR=」に変える
      チェックボックス1の状態をなしに変える
    テキスト1を3へ移動する
    もし終わり
  終わり
終わり

何故、この様な処理が必要になるのかは KNIGHT さんならお分かりになると思います。

以上、参考までに…。

単純なプログラムなのですが、エラーが出て実行できません。

投稿者:KNIGHT 投稿日:2024/03/19(Tue) 11:01:29 No.2349

お世話になります。

以下のようなプログラムで、テキスト部品に、何か入力されたら、[心電図]チェックボックス
にチェックを入れるようにした単純なプログラムなのですが、エラーが出ます。しかし、[続ける]をクリックすることで実行することは可能です。

プロデル側のバグではないでしょうか?
よろしくご教授くださいませ。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
メイン画面を表示する
待機する
メイン画面とは
  ウィンドウを継承する
  はじめの手順
    初期化する
    ーー貼り付けた部品に対する操作をここに書きます
  終わり
  初期化する手順
    ーー自動生成された手順です。ここに書き加えたプログラムは消える可能性があります
    初期化開始する
    この実質大きさを{284,68}に変える
    この内容を「メイン画面」に変える
    この文字色を「標準の文字」に変える
    テキスト1というテキストを作る
      その位置と大きさを{121,29,85,19}に変える
      その内容を「HR=」に変える
      その移動順を1に変える
    チェックボックス1というチェックボックスを作る
      その位置と大きさを{25,23,73,28}に変える
      その内容を「心電図」に変える
      その移動順を2に変える
      その文字色を「標準の文字」に変える
    初期化終了する
  終わり
  テキスト1の内容が変化した時の手順
    チェックボックス1の状態は、「チェック」  
  終わり
終わり
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

<エラーメッセージ>
「チェックボックス1」の中身が、無です。作るか変数に値を代入してください。
[エラー番号119] [メイン画面.テキスト1の内容が変化した時:27行目]
プロデル 2.0.1228 (64)

ちなみに、27行目を以下のように変更しても同じエラーが出ます。

    チェックボックス1の状態を、「チェック」に変える  

よろしくお願いいたします。

Re: Windows8以降では無視されます

投稿者:KNIGHT 投稿日:2024/03/15(Fri) 19:24:02 No.2348

ゆうとさま、お返事をありがとうございます。

> 仕様を確認したところ、Windows8以降の仕様により、この設定項目は無視されるようです。
> つまりプロデル側からIMEのモードを変えることは基本的にできません。
あ〜、そうなんですか、残念です。
> なお「無効」だけは有効となります。
冗談のようなお答えですね。「無効だけが有効」とは、これ如何に!?
ありがとございました。

Windows8以降では無視されます

投稿者:ゆうと 投稿日:2024/03/15(Fri) 04:18:36 No.2347

こんにちは

> ウィンドウ内に配置した、テキスト部品やテキスト領域部品で、自動的に入力内容に応じたIME設定にするために、設定項目の[動作]-[IME状態]を設定するのですが、それが、プログラム実行時に反映されません。
> プロデルでは、入力項目のIME状態の制御ができないのでしょうか?
> 修正できるのならば、よろしくお願いいたします。

サンプルプログラムありがとうございます。質問の意図を正確に理解する際にとても助かります。

仕様を確認したところ、Windows8以降の仕様により、この設定項目は無視されるようです。
つまりプロデル側からIMEのモードを変えることは基本的にできません。

なお「無効」だけは有効となりますので、半角英数字でさせたい場合にはこの列挙値で設定してください。
以上です。

修正済みです

投稿者:ゆうと 投稿日:2024/03/15(Fri) 00:23:26 No.2346

こんにちは ゆうとです。
遅くなりましたが、こちらについては最新版で修正済みです。
ご指摘ありがとうございます。

テキスト部品のIME状態の設定について

投稿者:KNIGHT 投稿日:2024/03/09(Sat) 20:51:23 No.2345

御世話になります。

ウィンドウ内に配置した、テキスト部品やテキスト領域部品で、自動的に入力内容に応じたIME設定にするために、設定項目の[動作]-[IME状態]を設定するのですが、それが、プログラム実行時に反映されません。

例えば、以下のようなプログラムで、「身長」、「体重」の入力項目で、『IME状態を「半角英数字」に変える』のですが、IME状態は切り替わることなく、普通に漢字を入力することができてしまいます。
〜〜〜
メイン画面を表示する
待機する
メイン画面とは
  ウィンドウを継承する
  はじめの手順
    初期化する
    ーー貼り付けた部品に対する操作をここに書きます
  終わり
  初期化する手順
    ーー自動生成された手順です。ここに書き加えたプログラムは消える可能性があります
    初期化開始する
    この内容を「メイン画面」に変える
    この文字色を「標準の文字」に変える
    テキスト2というテキストを作る
      その位置と大きさを{76,55,56,19}に変える
      その移動順を3に変える
      そのIME状態を「半角英数字」に変える
    ラベル2というラベルを作る
      その位置と大きさを{23,54,35,15}に変える
      その内容を「体重」に変える
      その移動順を2に変える
      その文字色を「標準の文字」に変える
    テキスト1というテキストを作る
      その位置と大きさを{78,26,55,19}に変える
      その移動順を1に変える
      そのIME状態を「半角英数字」に変える
    ラベル1というラベルを作る
      その位置と大きさを{24,27,35,16}に変える
      その内容を「身長」に変える
      その移動順を4に変える
      その文字色を「標準の文字」に変える
    初期化終了する
  終わり
終わり
〜〜〜

上記プログラムでは、「そのIME状態を「半角英数字」に変える」というスクリプトが自動生成されていますが、プログラム実行時にはIME状態は「半角英数字」にはなりません。

プロデルでは、入力項目のIME状態の制御ができないのでしょうか?
修正できるのならば、よろしくお願いいたします。

文字列の取り出す手順の件

投稿者:ゆうと 投稿日:2024/03/07(Thu) 14:01:50 No.2344

追加でのご質問の件

> 文字列マニュアル には 「内容の先頭から5文字取り出して表示する」 が挙げられていますし プロデルの文法としては 本来 「の先頭から」も通るのでしょうか
> 【文字列】から先頭から という構文は 「から」が繰り返されて日本語的にすっきりしないので できれば 
> 【文字列】の先頭から と書きたいところです

今は「〜の先頭から」を推奨します。
現時点で、文字列種類には「〜の先頭から取り出す」「〜から先頭から取り出す」の2つの書き方が定義されています。「〜から〜から」の定義は、過去バージョンとの互換性のために維持されていますが、どちらを使っても問題ありません。

逆引きの文字列の説明は、意図せず古い書き方(〜から〜からの構文)になっていましたので、こちらは修正しました。

歴史的な経緯もあり、マニュアルでの表記が統一されていませんでした。
ありがとうございます。

意図しない変更、修正しました

投稿者:ゆうと 投稿日:2024/03/07(Thu) 13:53:23 No.2343

こんにちは お世話になっております。

プログラムありがとうございます。
エラーメッセージが表示される点、確認しました。

調査しましたところ、確かに2.0.1226での修正が意図せず影響していたようです。
元々のプログラムには誤りはありません。
最新版でバグを修正しましたので、ダウンロードしてお試しください。

Re: 修正しました

投稿者:schutzen 投稿日:2024/03/03(Sun) 19:17:18 No.2342

最新版で確認いたしました。ご対応ありがとうございました。

> お世話になっております。
>
> https://produ.irelang.jp/docs/data/grid/gridcellstyle.htm#%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E3%82%B3%E3%83%BC%E3%83%89
> > を実行するとエラーになります。
>
> 再現できました。
> 1.9.1226/2.0.1226で修正しましたので、最新版でお試しください。
>
> ご指摘ありがとうございます。

自己レス

投稿者:和泉P 投稿日:2024/03/02(Sat) 12:11:39 No.2341

ゆうとさま お世話になります
自己レスです
文字列-逆引き辞典
https://produ.irelang.jp/docs/lookup/string_lookup.htm#string1
を見て、
サブフォルダStr=(抽出用見積番号)の先頭から3文字取り出す 

サブフォルダStr=(抽出用見積番号)から先頭から3文字取り出す 
に直すことで エラーがおさまりました

文字列マニュアル https://produ.irelang.jp/docs/primitive/string.htm#%E5%85%88%E9%A0%AD%E3%81%8B%E3%82%89%E5%8F%96%E3%82%8A%E5%87%BA%E3%81%99
には 「内容の先頭から5文字取り出して表示する」 が挙げられていますし プロデルの文法としては 本来 「の先頭から」も通るのでしょうか
【文字列】から先頭から という構文は 「から」が繰り返されて日本語的にすっきりしないので できれば 
【文字列】の先頭から と書きたいところです

▲ページの先頭へ

- WebForum -