delphi 自动获取串口

 
https://blog.csdn.net/Nevermore_anger/article/details/79012875
 
 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Nevermore_anger/article/details/79012875

如果PC端串口x存在且没有被占用,我们用TMScomm控件可以顺利打开并且关闭串口x,如果该端口x被占用或者不存在则会出现错误。利用这个原理,通过try强行打开串口x获取可用串口。具体代码如下:

i:integer;

combobox1.items.clear;
for i := 1 to 32 do  //一般PC端串口都小于32 
  begin
    try
      MSComm1.CommPort := i;
      if MSComm1.PortOpen = false then
      begin
        MSComm1.PortOpen := true;
      end;
      MSComm1.PortOpen := false;
      ComboBox1.Items.Add(inttostr(i));
    except
    end;
  end;

最新文章

  1. 自定义Docker容器的 hostname
  2. winApi
  3. HDU 5996 dingyeye loves stone ---BestCoder Round #90
  4. MVC准备前基础知识
  5. Designing CSS Layouts With Flexbox Is As Easy As Pie
  6. 脱离rails 使用Active Record
  7. 1.异步消息Jms及其JmsTemplate的源代码分析,消息代理ActiveMQ
  8. HDU 1686 Oulipo , 同 POJ 3461 Oulipo (字符串匹配,KMP)
  9. Unity3D 集合插件目录
  10. UML学习(一)类图和对象图
  11. undo表空间
  12. 【bzoj2819】Nim
  13. VueJs 权限管理
  14. ES6躬行记(21)——类的继承
  15. tomat 欢迎页面设置在WEB-INF目录下时不显示问题
  16. dedecms给图片加水印覆盖整张图片
  17. 2018.10.26 NOIP模拟 图(最小生成树+线段树合并)
  18. mybatis动态sql——(六)
  19. proc demo
  20. R2学习记录

热门文章

  1. [mysql]错误解决之"Failed to start MySQL Server"
  2. 【原创】大数据基础之SPARK(9)SPARK中COLLECT和TAKE实现原理
  3. 进入js
  4. node express+socket.io实现聊天室
  5. C语言对字符串去重
  6. mysql查看索引与锁
  7. php隐藏手机号指定位数
  8. Spring注解式事务解析
  9. CodeForces 958F3 Lightsabers (hard) 启发式合并/分治 多项式 FFT
  10. 观察者模式(Observer)和发布(Publish/订阅模式(Subscribe)的区别