修正しました(2.0.1323)

投稿者:ゆうと 投稿日:2025/05/28(Wed) 16:19:14 No.2483

こんにちは

> 【一覧:配列】の場合はドキュメント通りですが、【一覧:文字列の配列】の場合は完全一致検索になっているようです。想定した挙動でしょうか。

確認しました。文字列の配列として型を明示した時の「探す」挙動の挙動が完全一致となっておりました。
マニュアルの説明が正となります。
https://produ.irelang.jp/docs/primitive/array.htm#%E6%8E%A2%E3%81%99

2.0.1323(mono版含む)で修正いたしました。

配列からキーワードを探す

投稿者:shogo314 投稿日:2025/05/28(Wed) 10:09:04 No.2482

【一覧:配列】の場合はドキュメント通りですが、【一覧:文字列の配列】の場合は完全一致検索になっているようです。想定した挙動でしょうか。

```
【一覧:文字列の配列】は{「カゲ」,「エリマキトカゲ」,「エリ」}

一覧から「カゲ」を探して、結果とする
結果を表示する
```

了解しました

投稿者:アーク 投稿日:2025/05/23(Fri) 12:43:49 No.2481

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

〉データベースエンジンによって指定できるSQLクエリの書き方が異なります。
〉最新の情報は分かりませんが、SQLiteではTRUNCATE句に対応していないようです。
色々なデータベースで使用可能なSQLクエリは標準化されていると思っていましたが、
データベース毎に対応はまちまちなのですね。

「Access」と「FileMaker」の経験は有るのですが、
何方もマクロを備えているのでSQLクエリを使うのはこれが初めてです。
「TRUNCATE」よりも時間が掛かるようですが「DELETE」で対応する事にします。

丁寧にありがとうございました。

Re: TRUNCATE文でエラー

投稿者:ゆうと 投稿日:2025/05/23(Fri) 04:04:02 No.2480

こんにちは

次のエラーメッセージは、SQLite側の出力したエラーメッセージをそのままプロデルで出力したものです。
プロデル側の問題ではありませんので、SQLiteでの指示が正しいか確認してください。
「near "TRUNCATE": syntax error」となっていますのでSQLのクエリが文法通りではないと思われます。

> 只、TRUNCATE文で全レコードを削除しようとすると下記のようなエラーになります。
>
> SQL logic error
> near "TRUNCATE": syntax error
> SQLiteException SQL logic error
> near "TRUNCATE": syntax error

データベースエンジンによって指定できるSQLクエリの書き方が異なります。
最新の情報は分かりませんが、SQLiteではTRUNCATE句に対応していないようです。
SQLiteのドキュメント等を参照してください。

また、プロデルに含まれているSQLiteのバージョンは、3.37.0となっています。
比較的最近に導入されたSQL句はサポートしていない場合もありますので、注意してください。

-------
SQLiteというSQLiteデータベースを作る
SQLiteのデータソースは「database.db」
SQLiteへ接続する
SQLiteから「SELECT sqlite_version()」を値だけ取得して、結果とする
結果の内容を情報アイコンで表示する
SQLiteから切断する
-------

TRUNCATE文でエラー

投稿者:アーク 投稿日:2025/05/22(Thu) 11:07:39 No.2479

いつもお世話になっております。アークです。

SQLiteを使い始めています。
テーブルを作成してファイルから読み込んだり、
それを表示させる事はできました。
只、TRUNCATE文で全レコードを削除しようとすると下記のようなエラーになります。

SQL logic error
near "TRUNCATE": syntax error
SQLiteException SQL logic error
near "TRUNCATE": syntax error
場所 System.Data.SQLite.SQLite3.Prepare(SQLiteConnection cnn, String strSql, SQLiteStatement previous, UInt32 timeoutMS, String& strRemain)
場所 System.Data.SQLite.SQLiteCommand.BuildNextCommand()
場所 System.Data.SQLite.SQLiteCommand.GetStatement(Int32 index)
場所 System.Data.SQLite.SQLiteDataReader.NextResult()
場所 System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
場所 System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
場所 System.Data.SQLite.SQLiteCommand.ExecuteNonQuery(CommandBehavior behavior)
場所 System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
場所 Produire.Data.データベースエンジン.3(IDbCommand 0)

[エラー番号2] [メイン画面.全レコードを削除する:292行目]
プロデル 2.0.1319 (32)

修正しました(2.0.1319)

投稿者:ゆうと 投稿日:2025/05/17(Sat) 01:45:33 No.2478

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

> 2.0.1318のコンパイラで以下のコードが実行時にエラーになります。

こちら現象再現できました。
早速ですが2.0.1319にて修正反映しました。
ありがとうございます。

配列を匿名手順で並べ替える

投稿者:shogo314 投稿日:2025/05/16(Fri) 11:03:56 No.2477

2.0.1318のコンパイラで以下のコードが実行時にエラーになります。

```
一覧は{「bb」,「ccc」,「a」}
一覧を『
  それを{左,右}とみなす
  左の文字数が右の文字数より小さいなら
    -1を返す
  他で左の文字数が右の文字数より大きいなら
    1を返す
  そうでなければ
    0を返す
  そして
』で並べ替える
一覧を表示する
```

出力
```
エラーが発生しました。
予期しないエラーが発生しました。申し訳ありません。
原因:InvalidOperationException
Failed to compare two elements in the array.


at System.Collections.Generic.ArraySortHelper`1[T].Sort (T[] keys, System.Int32 index, System.Int32 length, System.Collections.Generic.IComparer`1[T] comparer) [0x0003c] in <d636f104d58046fd9b195699bcb1a744>:0
at System.Array.Sort[T] (T[] array, System.Int32 index, System.Int32 length, System.Collections.Generic.IComparer`1[T] comparer) [0x0004d] in <d636f104d58046fd9b195699bcb1a744>:0
at System.Collections.Generic.List`1[T].Sort (System.Int32 index, System.Int32 count, System.Collections.Generic.IComparer`1[T] comparer) [0x0002b] in <d636f104d58046fd9b195699bcb1a744>:0
at System.Collections.Generic.List`1[T].Sort (System.Collections.Generic.IComparer`1[T] comparer) [0x00008] in <d636f104d58046fd9b195699bcb1a744>:0
at Produire.CoreLibrary.配列`1[T].5[0] (System.Collections.Generic.IComparer`1[T] 0) [0x0001b] in <10e5d7ba84e2472a81af39cdd3a57a8a>:0
at Produire.CoreLibrary.配列`1[T].並べ替える (Produire.PDelegate 比較手順, Produire.IScope scope) [0x00008] in <10e5d7ba84e2472a81af39cdd3a57a8a>:0
at Main.広域種類.MainCode () [0x0004a] in <824db43bc73d48d9bf70ac7300e600df>:0
at Main.メイン種類.起動 () [0x0000b] in <824db43bc73d48d9bf70ac7300e600df>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidOperationException: Failed to compare two elements in the array. ---> System.NullReferenceException: Object reference not set to an instance of an object
at Produire.RdrCallSite.3 (System.Object& 0) [0x00039] in <10e5d7ba84e2472a81af39cdd3a57a8a>:0
at Produire.RdrCallSite.GetValue (System.Object target, System.String memberName) [0x00000] in <10e5d7ba84e2472a81af39cdd3a57a8a>:0
at Main.広域種類+Block_1.Invoke[T] (Produire.IScope , System.Object[] args) [0x00004] in <824db43bc73d48d9bf70ac7300e600df>:0
at Produire.RdrCustomComparer`1[T].Compare (T x, T y) [0x00000] in <10e5d7ba84e2472a81af39cdd3a57a8a>:0
at System.Collections.Generic.ArraySortHelper`1[T].SwapIfGreater (T[] keys, System.Comparison`1[T] comparer, System.Int32 a, System.Int32 b) [0x00004] in <d636f104d58046fd9b195699bcb1a744>:0
at System.Collections.Generic.ArraySortHelper`1[T].IntroSort (T[] keys, System.Int32 lo, System.Int32 hi, System.Int32 depthLimit, System.Comparison`1[T] comparer) [0x00028] in <d636f104d58046fd9b195699bcb1a744>:0
at System.Collections.Generic.ArraySortHelper`1[T].IntrospectiveSort (T[] keys, System.Int32 left, System.Int32 length, System.Comparison`1[T] comparer) [0x00013] in <d636f104d58046fd9b195699bcb1a744>:0
at System.Collections.Generic.ArraySortHelper`1[T].Sort (T[] keys, System.Int32 index, System.Int32 length, System.Collections.Generic.IComparer`1[T] comparer) [0x0001c] in <d636f104d58046fd9b195699bcb1a744>:0
--- End of inner exception stack trace ---
at System.Collections.Generic.ArraySortHelper`1[T].Sort (T[] keys, System.Int32 index, System.Int32 length, System.Collections.Generic.IComparer`1[T] comparer) [0x0003c] in <d636f104d58046fd9b195699bcb1a744>:0
at System.Array.Sort[T] (T[] array, System.Int32 index, System.Int32 length, System.Collections.Generic.IComparer`1[T] comparer) [0x0004d] in <d636f104d58046fd9b195699bcb1a744>:0
at System.Collections.Generic.List`1[T].Sort (System.Int32 index, System.Int32 count, System.Collections.Generic.IComparer`1[T] comparer) [0x0002b] in <d636f104d58046fd9b195699bcb1a744>:0
at System.Collections.Generic.List`1[T].Sort (System.Collections.Generic.IComparer`1[T] comparer) [0x00008] in <d636f104d58046fd9b195699bcb1a744>:0
at Produire.CoreLibrary.配列`1[T].5[0] (System.Collections.Generic.IComparer`1[T] 0) [0x0001b] in <10e5d7ba84e2472a81af39cdd3a57a8a>:0
at Produire.CoreLibrary.配列`1[T].並べ替える (Produire.PDelegate 比較手順, Produire.IScope scope) [0x00008] in <10e5d7ba84e2472a81af39cdd3a57a8a>:0
at Main.広域種類.MainCode () [0x0004a] in <824db43bc73d48d9bf70ac7300e600df>:0
at Main.メイン種類.起動 () [0x0000b] in <824db43bc73d48d9bf70ac7300e600df>:0
at Main.メイン種類.Main () [0x00000] in <824db43bc73d48d9bf70ac7300e600df>:0
```

最適のリーダーが有ります

投稿者:アーク 投稿日:2025/04/08(Tue) 14:33:19 No.2476

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

AudioFileReaderやMp3FileReaderはシステムの機能を使っているようなので、
関連ファイルのバージョン違いで機能しないようです。
AudioFileReaderの部分をAiffFileReaderと書き換えるだけで再生される筈です。

私もNAudioを使い始めたばかりで詳しくありませんが…。

Re^2: NAudioでのWAVファイル以外の再生

投稿者: 投稿日:2025/03/28(Fri) 07:16:53 No.2475

お世話になります。

返信が遅くなってしまい、申し訳ありません。

.NET 6をインストールしてみましたが、やはり同じエラーが表示されるようです。
いろいろ調べてもわからないので、これに関してはあきらめようかと思います。
アドバイスありがとうございました。

それでは。

Re: NAudioでのWAVファイル以外の再生

投稿者:ゆうと 投稿日:2025/03/20(Thu) 17:47:32 No.2474

こんにちは

> 「System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a」というファイルが見つかりません。

詳しく調査していませんが、説明では.NET 8をインストールと記載していますが
.NET 6をインストールしてみてください。

▲ページの先頭へ

- WebForum -