問題タブ [tcomport]
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.
delphi - Delphi 10.3 を使用したコンソール アプリケーションの Tcomport
シンプルな Delphi 10.3 コンソール アプリケーションで TComPort (4.11f) を使用していますが、以下を参照してください。しかし、データを取得できません。
VCL アプリケーションで同じコードを使用すると問題なく動作します。何かご意見は?
私の推測では、オブジェクトComDataPacket1
とComPort1
オブジェクトを正しく接続していません。しかし、私はそれを行う別の方法を見つけることができませんでした.
delphi - 16 進数データ (文字列変数に格納されている) を整数値に変換する方法
編集(要約)
Char
/ String
data をByte
一度に 4 バイトずつ解釈しようとしました。これは、ストリーミングされたデータを他のデータ型としてではなく、文字列として解釈するTComport
ことしかできなかったためです。メソッドとイベント ハンドラを TComport で動作させる方法TDatapacket
をまだ知りません。Read
OnRxBuf
問題の概要
Delphi コードを使用して、質量分析計 (MS) からデータを取得しようとしています。機器はシリアル ケーブルで接続され、RS232 プロトコルに従います。コマンドを送信し、MS からのテキストベースの出力を問題なく処理できますが、データ バッファの解釈に問題があります。
バックグラウンド
この機器のユーザーマニュアルから:
「イオン電流値を除いて、RGA の出力は、ラインフィード + キャリッジ リターン ターミネータで終了する ASCII 文字列です。イオン信号は、10^-16 アンペア単位の整数として表され、16 進形式で直接送信されます ( 4 バイト整数、2 の補数形式、最下位バイトが最初) を使用して、最大のデータ スループットを実現します。」
(1) 16 進データを文字列変数に正しく格納できるかどうかはわかりません。また、 (2) Delphiで2の補数を実装する方法と(3)最下位バイトを最初に実装する方法もわかりません。