怎样得到端口的地址。高分呀。

delphi_user 2002-06-10 04:44:58
我有个程序,是对串口进行操作。首先说明这个程序已经做好,最好不要改动。他对端口的操作是取的端口的地址进行操作的,不是用windows的api。现在很多pos机有8个串口,另外4个是利用自己的驱动增加上去的,顾各家的端口地址都不一样,所以我们的程序要不停的修改,工作量太大。我想问一下大家,有没有取端口地址的函数,这样就不需要修改了。
谢谢大家
...全文
83 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhhahuatian 2002-06-14
  • 打赏
  • 举报
回复
我也在关注
Borlandor 2002-06-14
  • 打赏
  • 举报
回复
这可能是你所需要的:获取串口状态和端口地址的组件,仅限于windows98或95。

http://delphi.icm.edu.pl/ftp/d30free/commst.zip
zhptj 2002-06-14
  • 打赏
  • 举报
回复
学习
jockywin 2002-06-14
  • 打赏
  • 举报
回复
gz$study
delphi_user 2002-06-14
  • 打赏
  • 举报
回复
谢谢:kevincomein(白菜) 你这个方法我会,在delphi中一样行得通。
我的意思是我原来的程序是用汇编写的,是直接对串口地址进行操作,现在他不能改动。我想得到某个串口的地址,然后传给他。譬如:com1 0x3f8
delphi_user 2002-06-12
  • 打赏
  • 举报
回复

谢谢 kevincomein(白菜) ,你这个方法我会。delphi也可以这么做。
我的意思是原来的程序是用汇编写的,不能去改,他需要的是串口的地址。
如:com1:0x3f8,com2:0x2f8。我需要的能够用程序得到这个。
我像应该可以得到吧,因为在系统属性我们看到串口的资源可以这个地址。那程序中一定有可到地址的命令。

谢谢大家的参与。期待高手啊。

kevincomein 2002-06-11
  • 打赏
  • 举报
回复
在vb我是这样做的,不知delphi是如何做,不知对你有没有用。
Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As SECURITY_ATTRIBUTES, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

'// API Structures
Public Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End TypePublic Function COMAvailable(COMNum As Integer) As Boolean
Dim hCOM As Long
Dim ret As Long
Dim sec As SECURITY_ATTRIBUTES

'try to open the COM port
hCOM = CreateFile("COM" & COMNum & "", 0, FILE_SHARE_READ + FILE_SHARE_WRITE, sec, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0)
If hCOM = -1 Then
COMAvailable = False
Else
COMAvailable = True
'close the COM port
ret = CloseHandle(hCOM)
End If
End Function
dreamfan 2002-06-11
  • 打赏
  • 举报
回复
up
iceriver521 2002-06-11
  • 打赏
  • 举报
回复
我知道关于对端口的一些操作,取端口的地址进行操作的办法常见一些外部板卡。但很抱歉,取断口地址我没研究过,不过你也不用每次都改程序啊,可以增加一个设置,让用户自己去配置啊(根据他的地址)
Tiga 2002-06-11
  • 打赏
  • 举报
回复
班主进来看看。
qiandeng 2002-06-11
  • 打赏
  • 举报
回复
还是帮你提前算了
Carfield 2002-06-11
  • 打赏
  • 举报
回复
我不知道,帮你Up一下...
delphi_user 2002-06-11
  • 打赏
  • 举报
回复
高手都到哪里去了
delphi_user 2002-06-11
  • 打赏
  • 举报
回复
期待高手啊。
Re:CCNA_CCNP 思科网络认证 PAT NAT 端口地址转换 与端口映射======================# 本章课程大纲        公网地址和私网地址        NAT应用场景        静态NAT  :static  地址转换        动态NAT  :dynamic地址转换        PAT        :端口地址转换        端口映射 :port map        在Windows上同时实现的NAT和端口映射 # 私网地址三类 A类:10.0.0.0                                255.0.0.0(1网段) B类:172.16.0.0 -172.31.0.0         255.255.0.0(16网段) C类:192.168.0.0-192.168.255.0  255.255.255.0(255网段) # NAT 的使用场景        NAT的最初的目的是允许把私有IP地址映射到公网地址,以减缓IP地址空间的消耗。        当一个组织更换它的互联网服务提供商ISP,但不想更改内网配置方案时,NAT同样很有用途。        以下是适于使用NAT的多种情况:         企业内网接入Internet节省公网地址         单向访问         大方向:内网访问互联网(互联网上主机不能够访问内网主机)         小方向:同单位实现两个网段之间单向访问(涉密部门能够访问其他部门,反之不可)         增加一个网段          避免在主干路由器增加到这个网段的路由         在Windows上实现的NAT和端口映射 # 网络地址转换的类型        下面介绍一下NAT的三种类型。         静态NAT 是为了在私网地址和公网地址间,允许一对一映射而设计的。         或者IPv4和IPv6之间的转换(典型)         不节省公网地址,故公网地址的利用效率不高,         无任何安全性,外网可以通过公网地址直接攻击内网主机,好像只增加路由器的工作         适用场景类似代理,可以较方便的更换主机,而无需修改路由器的配置         故应用不够广泛...         动态NAT 可以实现映射一个未注册 IP地址到注册IP地址池中的一个注册IP地址。         多对一,或多对多         比较PAT优势:避免被误认为攻击而被封ip地址         不太节省地址,应用不广泛         复用是最流行的NAT配置类型,也被称为端口地址映射(PAT)。         通过使用PAT,可实现上千个用户仅通过一个真实的全球 IP地址连接到Internet。         缺点:增加延迟,消耗路由器性能 # 端口映射(port mapping) 允许Internet上的计算机通过企业路由器的公网IP地址访问到内网的服务器------------------------------------------------         

5,391

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧