通信コンポネント:system.IO.Portsについて

解決


Hiisan  2020-01-23 15:27:19  No: 148470

上記コンポネントは、Delphi10.3で、usesにセットすると、駄目みたいですが、
[1]このコンポネントdelphiでは、標準でないのですか。
[2]代替コンポネントで、FMXとwindowsで無料で使用できる推奨componentは、ありませんか。
   232c、Comport  Library等の、使い勝手が良いcomponentを、お教え願います。


take  2020-01-23 15:54:11  No: 148471

「system.IO.Ports」は「.NET」の仕様なのでDelphiからは無理かと思います。

[1]RS-232CシリアルポートはDelphi標準で用意されていません。

[2]VCLとFMX両方の環境で使いたいなら「Ararat Synapse」かなぁ

参考サイト
Delphi で Arduino につなぐ (シリアル通信)
https://qiita.com/ht_deko/items/9d2ed3fb125b0d06e599


Hiisan  2020-01-23 19:15:38  No: 148472

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でしょうか
宜しくお願いいたします。


take  2020-01-24 09:19:28  No: 148473

ダウンロードサイトはここ
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とかもあるけど
もうサイトがねぇ


Hiisan  2020-01-25 17:46:52  No: 148482

take様、詳細例までお教えいただき、誠に有難うございました。
CommX:懐かしいソフトです。
次は、USBボードの選択です。(日本製(1万5千以上)と中国製(1千以下)でかなり価格差とメンテの問題で苦慮しています)


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加