問題タブ [powerbasic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
regex - 行末のコメントを無視するgrep正規表現
変数を探して多くの古い PowerBASIC ソース ファイルを grep しようとしてgrep
いますが、行末コメント内の変数への参照が一致しないようにするのに苦労しています。
例えば:
最初に私は使用していました:
ただし、コメントのない行を無視するだけでなく、まったく使用ANGLE
しないコード行 (行などDELTA
) も出力します。これは、これらの行のコメント (つまり ) にアポストロフィ ( ) が1 つ含まれているためです。'
AREN'T
出力をパイプして、不要な行を削除することを考えました:
ANGLE
しかし残念ながら、コメントにたまたま「」が含まれている、私が望むコード行も削除されます。
grep を取得して、関連する実際のコードの行と一致させ、コメントに一致する行のみANGLE
を無視するにはどうすればよいですか?
syntax - BASIC-256 でリストをサブルーチンに渡す方法
リストをサブルーチンに渡すのに苦労しています (恥ずかしい)。コンパイラ エラーが発生します。配列に関する BASIC-256 ドキュメント ( http://doc.basic256.org/doku.php?id=en:arrays[]
) に従い、必要に応じてサブルーチン引数に括弧を含めました。
コンパイラは、サブルーチン呼び出しの引数部分にエラーがあると文句を言います。
私はこれを修正しようとしました; (i) リストの初期化をチェックします。(ii) サブルーチンの定義とパラメータをチェックします (コンパイラは角かっこも好きではありません)。(iii) 括弧を引数から除外し、[]
(iv) BASIC-256 Facebook ページに連絡してみました。
お時間をいただきありがとうございます....
sqlite - PowerBasic sqlite3 ラッパーで ASCIIZ PTR から BSTR を作成する
いくつかの sqlite3 関数の小さなラッパーを作成しています。
sqlite3.dll には、UTF-16 文字列を返す関数 sqlite3_column_text16() があります。PowerBasic と Windows (および OLE) はネイティブで UTF-16 (BSTR と呼ばれる) を使用するため、これは呼び出すのに適した関数のように思えますが、これを行うと、次のようになります。
ColText には、UTF-16 文字列の最初の文字のみが含まれます。
UTF-16 文字列なので、最初のバイトは有効な ASCII ですが、2 番目のバイトはゼロ (null) であるため、これは理にかなっています (と思います)。最初のヌル文字。この場合、ストリングは「Russ」であるため、UTF-16 のバイトは「R0u0s0s0」です (各 ASCII 文字の後にヌル (0) が続きます)。
では、この UTF-16 文字列を PowerBasic STRING (BSTR) に変換するにはどうすればよいでしょうか。
いくつかの sqlite3 ラッパーをチェックしたところ、次のコード (SQLiteningServer.bas) が見つかりました。
したがって、このコードでは、次のことを行っています。
これは、メモリ内に BSTR を構築しているように見えますが、正確ではありません。有効な BSTR であるためには、先頭の数値は文字列のバイト長を示す INT16 である必要がありますが、上記のコードでは先頭の BYTE を使用しているため、有効な BSTR ではありませんよね? 知らない。
sqlite3_column_text16(ppStmt, 0) によって返された UTF-16 文字列を取り、それを PowerBasic STRING (標準の OLE BSTR) に変換するにはどうすればよいですか。