おそらくエクスフローラのキャッシュ

投稿者:ゆうと <yutopia あっとまーくutopiat.net> 投稿日:2024/04/03(Wed) 03:18:30 No.2978

こんにちは

すでに作成した実行可能ファイルの場合、エクスプローラが以前のアイコンを記憶しているため
アイコンがすぐに変わらないことがあります。

その場合、右クリックで「最新の情報に更新」もしくF5キーを押して、更新してください。
またはプロパティでアイコンを確認してください。

確認いたしました。修正ありがとうございました。

投稿者:KNIGHT 投稿日:2024/03/08(Fri) 06:59:52 No.2974

「配列化」手順のバグ修正をありがとうございます。
これで姑息的な置換作業をしなくて済みます。

文字列から配列化した時に改行コードが変わる

投稿者:ゆうと <yutopia あっとまーくutopiat.net> 投稿日:2024/03/07(Thu) 14:12:03 No.2973

こんにちは プログラムありがとうございます。
状況再現できました。

> どうも、44行目の
>     文章配列は、「テスト.txt」から読み込んだものを配列化
> の「配列化」した時点で、[改行]⇒[&H0Dのみ]となっているようです。

ご指摘の通り、文字列を「配列化」した時の動作に意図しない変更がありました。
「配列化」手順にバグがありましたので、最新版1.9.1227 で修正しました。

最初の投稿では、単に配列へ改行を含む文字列を追加すると&H0Dだけに変わる、という旨に読み取れました。思い込みもあるかと思いますが、簡単なプログラムを作って事前に調査頂けると嬉しいです。

なお、配列化の使い方は問題ありませんが
> 文章配列は、{[テキスト領域1の内容]、[テキスト領域2の内容]}を配列化
と書くと、配列を配列化しようとしていますので、エラーとなります。
配列化できるのは文字列の場合(と画像)だけとなります。


ご確認ください。

Re: 「sed」の件

投稿者:ゆうと <yutopia あっとまーくutopiat.net> 投稿日:2024/03/07(Thu) 14:04:05 No.2972

こんにちは ご返信ありがとうございます。

機能的に足りていないということではなく
sedで動く使い慣れた既存の資産を活用しているということですね。

ありがとうございます。

Re: 連投はご遠慮ください

投稿者:KNIGHT 投稿日:2024/03/03(Sun) 20:18:13 No.2971

ゆうとさま、お返事ありがとうございました。
> 使えたらラッキー。くらいの認識でお願いします。
> これ以上の連投はやめてください。
> あとは試行錯誤して頂くようお願いします。
分かりました。ここしか相談できる場所がなかったものですから・・・
たいへんご迷惑をおかけしてすみませんでした。

連投はご遠慮ください

投稿者:ゆうと <yutopia あっとまーくutopiat.net> 投稿日:2024/03/03(Sun) 13:12:48 No.2970

こんにちは。
バーコード表示については、Accessのおまけ機能を活用するものですので
確実に利用できるものではありません。状況により利用できない場合があります。
使えたらラッキー。くらいの認識でお願いします。

細かくは説明できませんが基本的には
・regsvr32でどこかにあるMSBCODE9.OCXをレジストリに登録する(レジストリに正しく登録されていないとプロデルから部品を作れません)。「regsvr32 /u」で一度登録を解除することもできます。
・Officeとプロデルの動作ビット(64bit版か32bit版か)の組み合わせを合わせる
例えばMSBCODE9.OCXがあるOfficeのパスにx86が含まれていればOfficeが32ビットですので、プロデルも32ビット版プロデルデザイナで起動してください。パスにx86の表記がない場合は通常のプロデルを使います。(64ビット版のWindowsの場合です)

本件については、プロデルに直接関係がなく、おまけ機能という意味合いもありますので
これ以上に説明できません。すみませんが、これ以上の連投はやめてください。
あとは試行錯誤して頂くようお願いします。

(さらに続きです)

投稿者:KNIGHT 投稿日:2024/03/03(Sun) 09:57:40 No.2969

御世話になります。
以上の「クラスが登録されていません・・・」エラーは、職場で使用しているWindows11での挙動でした。

ところが、自宅で使用しているWindows10では、すんなりバーコードが表示されました。ただ、QRコードは表示できませんでした。使用していMS-Office が 2010 で古いせいかと思い、念のため「Microsoft Access 2016 Runtime」もインストールしてみましたが、今度は、
「regsvr32 "C:\Program Files\Microsoft Office\Office16\MSBCODE9.OCX"」を起動する
で、パスにもファイル名にも絶対にミスがないのに、読み込みに失敗するエラー(画像)が出て「MSBCODE9.OCX」を登録できませんでした。

ウィンドウ内に表示されたバーコードを画像ファイルとして保存したいのですが、そのためにはどういうプログラムを書けばよいのか・・、さっぱり分かりません。

ご教授いただけないでしょうか?
よろしくお願いいたします。

(さらに続きです)

投稿者:KNIGHT 投稿日:2024/02/29(Thu) 13:31:39 No.2968

その後、今度は、コマンドプロンプトを管理者権限で起動して、
regsvr32 "C:\Program Files (x86)\Microsoft Office\Office16\MSBCODE9.OCX"
を実行したところ、うまく登録できたようなメッセージが出ました(画像)。

にもかかわらず、相変わらず「クラスが登録されていません・・・」の同じエラーが出ます。

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

Re^2: 配列に入れた改行を含む文字列の復元は?

投稿者:KNIGHT 投稿日:2024/02/29(Thu) 08:55:46 No.2967

こんにちは、お世話になります。
> 現在も以前のプロデルも、プログラム上で改行コードを変更することはありません。
そうですか・・・

以下のようなプログラムで、以前は、きちんと[改行]が復活していたのですが、
プロデルを新しいものにしたタイミングで、[改行]が復活しなくなったので、バイナリーエディタで確認したところ、[改行]に相当する部分で、[&H0D]のみになっていたのです。
それで、配列内での[改行]コードの取り扱いが変わったのかなと思いました。

〜〜〜〜
メイン画面を表示する
待機する
メイン画面とは
  ウィンドウを継承する
  はじめの手順
    初期化する
    ーー貼り付けた部品に対する操作をここに書きます
  終わり
  初期化する手順
    ーー自動生成された手順です。ここに書き加えたプログラムは消える可能性があります
    初期化開始する
    この内容を「メイン画面」に変える
    この文字色を「標準の文字」に変える
    ボタン2というボタンを作る
      その位置と大きさを{159,199,86,33}に変える
      その内容を「配列から復元」に変える
      その移動順を2に変える
      その文字色を「標準の文字」に変える
    ボタン1というボタンを作る
      その位置と大きさを{22,198,103,34}に変える
      その内容を「配列に保存」に変える
      その移動順を1に変える
      その文字色を「標準の文字」に変える
    テキスト領域2というテキスト領域を作る
      その位置と大きさを{35,127,193,47}に変える
      その内容を「ここにも文章を
改行を入れて
入力します。」に変える
      その移動順を4に変える
    テキスト領域1というテキスト領域を作る
      その位置と大きさを{36,39,193,65}に変える
      その内容を「改行を含む
文字列を
テキスト領域に入力します。」に変える
      その移動順を3に変える
    初期化終了する
  終わり
  ボタン1がクリックされた時の手順
    文章配列は、{[テキスト領域1の内容]、[テキスト領域2の内容]}
    文章配列を、「テスト.txt」へ保存
  終わり
  ボタン2がクリックされた時の手順
    文章配列は、「テスト.txt」から読み込んだものを配列化
    テキスト領域1の内容は、文章配列(1)  
    テキスト領域2の内容は、文章配列(2)  
  終わり
終わり
〜〜〜

39行目を以下のように
    文章配列(1)は、テキスト領域1の内容
    文章配列(2)は、テキスト領域2の内容
と変更しても最初と同様に、読みだした文章の「改行」は、「&H0D」のみになってしまいます。
また、39行目を

  文章配列は、{[テキスト領域1の内容]、[テキスト領域2の内容]}を配列化

のように変更すると、以下のようなエラーメッセージが出てどうすればよいの分かりません。

〜〜〜[エラーメッセージ]〜〜〜〜
「配列化」という手順が複数あり、どの手順を実行するか決められません。
引数の助詞や型が合うように指定してください。

手順の候補:
[文字列]を配列化
[画像]を配列化

[エラー番号117] [メイン画面.ボタン1がクリックされた時:39行目]
プロデル 2.0.1226 (64)
〜〜〜[以上、エラーメッセージ]〜〜〜〜

どうも、44行目の
    文章配列は、「テスト.txt」から読み込んだものを配列化
の「配列化」した時点で、[改行]⇒[&H0Dのみ]となっているようです。

以下のプログラムを実行してみたところ、[エンター]⇒[&H0Dのみ]となっていました。
〜〜〜〜
データは「{AA[エンター]A,BBB,CCC}」を配列化
データ(1)を表示する
データ(2)を表示する
データ(3)を表示する
データを「テスト3.txt」へ保存する
〜〜〜〜

ちなみに、「テスト3.txt」をメモ帳で開くと、自動的に[0D]⇒[0D0A]に変換されてしまって、問題ないかのように見えてしまいます。・・・が、テキスト領域に読み込むと、問題があることが露呈します。

テキスト領域を含む複数の部品の内容を、配列化して、ファイル保存し、またファイルを読みだして、テキスト領域を含む複数の部品の内容を復元するにはどうすればよいのでしょうか?
よろしくお願いいたします。

(続きです)

投稿者:KNIGHT 投稿日:2024/02/29(Thu) 08:04:43 No.2966

MSBARCODEが登録されていないのかなと思い、MSBCODE9.OCXの所在を確認して、その所在パスに変更して、以下を実行したのですが、

//32ビット版Officeの場合
「regsvr32 "C:\Program Files (x86)\Microsoft Office\root\Office16\MSBCODE9.OCX"」を起動する

画像のようなエラーメッセージが出ました。
このメッセージに対する対処は、エラーが発生した状況やタイミングによってさまざまあるようで、いろいろと調べてみたのですが、どうすればよいのか分かりません。ご教授いただければ幸いです。

▲ページの先頭へ

- WebForum -