掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
UDPで数値データを送りたいのですが (ID:49499)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
考え方はいろいろあると思います. 数値を文字列にして改行文字で区切って,あるいは指定桁数の文字列にして,文字列として送るとか. 以下は数値をバイトデータで送る例です. バイトデータ (バイト配列) 関係の操作についてはネットで検索してください. 動作確認は Windows 7 U64(SP1) + Delphi 10.2.3 Community (VCL-32) + Indy 10.6.2 procedure TForm1.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread; const AData: TIdBytes; ABinding: TIdSocketHandle); var LStream : TMemoryStream; LDoubleArr : array [0..1] of Double; LDouble : Double; begin LStream := TMemoryStream.Create; try LStream.Write(AData[0], Length(AData)); LStream.Position := 0; LStream.Read(LDoubleArr, SizeOf(LDoubleArr)); for LDouble in LDoubleArr do begin Memo1.Lines.Add(LDouble.ToString); end; finally FreeAndNil(LStream); end; end; procedure TForm1.Button1Click(Sender: TObject); var LDoubleArr : array [0..1] of Double; LStream : TMemoryStream; LIdBytes : TIdBytes; begin LDoubleArr[0] := 111.111; LDoubleArr[1] := 222.222; LStream := TMemoryStream.Create; try LStream.Write(LDoubleArr, SizeOf(LDoubleArr)); SetLength(LIdBytes, SizeOf(LDoubleArr)); LStream.Position := 0; LStream.Read(LIdBytes[0], SizeOf(LDoubleArr)); IdUDPServer1.SendBuffer('127.0.0.1', 12345, LIdBytes); finally FreeAndNil(LStream); end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.