上記コンポネントは、Delphi10.3で、usesにセットすると、駄目みたいですが、
[1]このコンポネントdelphiでは、標準でないのですか。
[2]代替コンポネントで、FMXとwindowsで無料で使用できる推奨componentは、ありませんか。
232c、Comport Library等の、使い勝手が良いcomponentを、お教え願います。
「system.IO.Ports」は「.NET」の仕様なのでDelphiからは無理かと思います。
[1]RS-232CシリアルポートはDelphi標準で用意されていません。
[2]VCLとFMX両方の環境で使いたいなら「Ararat Synapse」かなぁ
参考サイト
Delphi で Arduino につなぐ (シリアル通信)
https://qiita.com/ht_deko/items/9d2ed3fb125b0d06e599
takeさま、「Delphi で Arduino につなぐ (シリアル通信) 」紹介有難うございました。
[1]Ararat Synapse:Delphi10.3で使用可能でしょうか
[1-1]実際の使い方を書かれたsampleのurlを、お教えねがいませんか
[2]https://wiki.freepascal.org/Synapse:検索していたら有り、Pascalのsampleも記載されたいるのですが、
(a)VCLとFMX:使用できませんか
(b)FreeWareでしょうか
宜しくお願いいたします。
ダウンロードサイトはここ
http://synapse.ararat.cz/doku.php/download
ダウンロードするファイルはこれ
2012-04-23 - release no. 40 synapse.zip (898.65 KiB, 7682 downloads)
シリアル通信するクラスは
synaser.pas ファイル内の TBlockSerial っていうクラス
[1-1]ソースをダウンロードして中身見て見た限りLinux対応も考えられているみたいですし
漢字コードをShift-JISで送る限りは使えそうです。
ソース内にサンプル付いてたのでわかりやすく改変
var
ser : TBlockSerial;
s : AnsiString;
begin
ser:=TBlockSerial.Create;
try
ser.Connect('COM3'); // COM3を使用
ser.config(9600,8,'N',0,false,true); // 9600 8bit パリティ無し 1StopBITと思う ソフトフロー制御無し ハードフロー制御ありで開く
ser.SendString('Test' + #$0D); // データ送信
s := ser.RecvString(90); // 受信待ち、かっこ内は待ち時間
finally
ser.free;
end;
受信待ちでは無くイベント発生で受信したい場合はOnStatusを使う
[a]対応環境は
Win32 operating system (Win9x, WinNT, WinME, Win2k, WinXP,… Not Win32s or WinCE!!!) or Unix/Linux operating system.
Delphi 3-7, Delphi 2005-2006, C++Builder, Kylix 1-3 or FreePascal 2.0.4
experimental .NET in Delphi 8
VLCを使っているわけではないのでFMX環境でも動作するでしょう
[b]ライセンス関係
英訳をまとめると
ソースごと再配布するなら改変しないでね
実行ファイルを配布するならドキュメントのどこかに
シリアル通信クラス Copyright (c)2001-2002, Lukas Gebauer を使っています。て書いておいてね。
無料で使えるけど寄付があるとうれしいな
あと英語の説明だと難しいなら CommXとかもあるけど
もうサイトがねぇ
take様、詳細例までお教えいただき、誠に有難うございました。
CommX:懐かしいソフトです。
次は、USBボードの選択です。(日本製(1万5千以上)と中国製(1千以下)でかなり価格差とメンテの問題で苦慮しています)