CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  控件

***还是Mscomm控件***

楼主sunshinecom21(用VB)2002-06-07 10:51:39 在 VB / 控件 提问

Mscomm控件:打开Com1,当端口已经打开时,程序再打开它就会出错,但不用Mscomm控件来打开它就不能往Com读写数据?不知是不是?  
          不知道我意思说明白了没有,假如在我的电脑里有两个程序,就只能有一个程序能打开Com1(Modem),另一个程序就会提示:"端口已打开";如果在另一个程序里我不打开它,试着也往Com1口写数据,就会提示"只用于打开时"?   难道就不能用两个程序同时控制同一个端口?  
            还有当Modem在拨号的时候,程序就不能打开它?,不能打开它,也就不能读取Modem拨号的信息?在线等待  
  问题点数:100、回复次数:28Top

1 楼Jneu(沧海桑田)回复于 2002-06-07 10:56:09 得分 2

是的。Top

2 楼sunshinecom21(用VB)回复于 2002-06-07 11:03:54 得分 0

那我该怎么办?Top

3 楼Jneu(沧海桑田)回复于 2002-06-07 11:10:22 得分 2

自己编写程序控制Modem拨号。Top

4 楼sunshinecom21(用VB)回复于 2002-06-07 11:20:19 得分 0

To:   Jneu(沧海桑田)  
        我主要不是想控控制Modem.  
        我是在想,假如用Mscomm控件读取Com口数据(只是读取不用写),当然Com口已经打开,并且里面有数据。而我又不能用Mscomm来打开读取,那该怎样读取呢?这个问题已经困恼了我很久了?希望高手指点指点!Top

5 楼sunshinecom21(用VB)回复于 2002-06-07 11:39:35 得分 0

应该有办法吧?不然在打卡的时候,怎么读取磁卡的数据!Top

6 楼metin(风浪)回复于 2002-06-07 11:46:39 得分 0

不太了解你们的情况,但我想一段功能完成就可以关闭Mscomm它了,用在开可以保证没冲突的.读通讯信号有先后的问题.我做一些通讯程序都是这么完成的,没出现共占的问题.你们想想程序上是不是有欠妥的地方.Top

7 楼mazhayang(蚂蚱先生)回复于 2002-06-07 11:54:59 得分 2

那是不是要直接读取地址理的数据,Top

8 楼sunshinecom21(用VB)回复于 2002-06-07 12:08:17 得分 0

To:   mazhayang()  
        我是想直接读取地址里的数据呀  
  To:   metin()  
        关闭Mscomm后,缓冲区里的数据还会在吗?  
  Top

9 楼sunshinecom21(用VB)回复于 2002-06-07 12:19:15 得分 0

To:   metin()  
        还有,那些刷卡机是不是刷一次卡时先打开Com口,刷完后再关闭它。  
  那数据就留在缓冲区里,我们就可以用Msomm打开Com口,读取其中的数据,是这样子吗?Top

10 楼load(不是东西)回复于 2002-06-07 12:30:43 得分 2

直接读取地址里的数据用普通程序是不可能的,那要写驱动。  
   
  串口关闭后一般缓冲区就没有数据了,即使有你也不可能读到。  
   
  要两个程序用一个串口只能分时用,同时是用不了的,除非是一个程序里。  
  Top

11 楼metin(风浪)回复于 2002-06-07 12:50:58 得分 20

看你们好象不了解Msomm  
  to   sunshinecom21(用VB):当然不在了,有网卡进行暂时存储就没问题了吧.还有别的方法   .  
  还有,刷卡机当然不关闭COM了,那样不累死它呀!我是这样做的定义一个通讯协议(不知道你们了解吗?通讯协议就是定义硬件和软件的接口动作的)  
  说明白点儿吧,如我定义AH开头的BH结尾的串,我认为是卡号.  
  Top

12 楼metin(风浪)回复于 2002-06-07 13:02:55 得分 0

接上楼,其实这个和硬件有一定的关系,你们想知道的更详细的话,给我MAIL(要对硬件有一定的了解哦)Top

13 楼sunshinecom21(用VB)回复于 2002-06-07 13:43:44 得分 0

To:   metin(风浪)  
          谢谢你的热情参与!  
          我想知道更详细的知识,因为我真的很想知道如何用Mscomm读取刷卡数据,那个"通讯协议"该如何写。  
          我想"定义AH开头的BH结尾的串,认为是卡号"   的前提,还是要先读取它的数据吧?  
  E_mail   :   sunshinecom21@21cn.com  
  你的E_mail呢?,在线等待...Top

14 楼sunshinecom21(用VB)回复于 2002-06-07 14:08:35 得分 0

To:   metin()  
          你还在吗?Top

15 楼metin(风浪)回复于 2002-06-07 14:25:15 得分 40

给你说说如何终止Mscomm(是程序终止而非关闭).它时时刻刻是开着的(不管你刷几张卡),除非退出程序.  
  Private   Sub   MSComm1_OnComm()  
      Dim   strIn  
      Dim   a,   i,   j   As   Integer  
      Dim   TempNumber(10)   As   String  
      Dim   CardLen   As   Integer  
       
      '如果不是返回   值事件退出  
      If   MSComm1.CommEvent   <>   2   Then  
              Exit   Sub  
      End   If  
       
      strIn   =   MSComm1.Input  
      i   =   UBound(strIn)  
       
      Select   Case   MSComm1.CommEvent  
          Case   comEvReceive  
              For   j   =   1   To   i  
                  If   strIn(a)   =   "HD"   Then  
                      CardLen   =   0  
                      Exit   For  
                  End   If  
                  TempNumber(CardLen)   =   Hex(strIn(a))  
                  SBar.Panels(2).Text   =   SBar.Panels(2).Text   &   Hex(strIn(a))   &   "   "  
                  CardLen   =   CardLen   +   1  
              Next   j  
               
              '处理划卡  
               
          Case   comEvSend  
          ...  
          Case   comEvRing  
          ...  
      End   Select  
  End   Sub  
   
  我的是statement@263.netTop

16 楼metin(风浪)回复于 2002-06-07 14:32:46 得分 0

接楼上,看到了吧HD是我认为卡号已经传输完毕.好了现在你可以进行任何操作了.够详细了吧,给我加分哦.嘻嘻...大家都明白了,以后可别抢我的饭碗哦.5555:)Top

17 楼dyx(天火)回复于 2002-06-07 14:34:54 得分 2

是的!当一个串口被一个程序占用时,其他程序就不能对此串口进行操作Top

18 楼metin(风浪)回复于 2002-06-07 14:54:03 得分 0

对了263.net收费了,我很穷不用了,改用statement@263.sina.comTop

19 楼dreameasy(自由哥哥)回复于 2002-06-07 16:00:15 得分 8

你要读卡协议,我刚好有一份!呵呵Top

20 楼sunshinecom21(用VB)回复于 2002-06-07 16:33:14 得分 0

谢谢各位的帮忙,特别是metin(风浪),我刚有点事走开了,分是一定会给的。  
        To:   dreameasy(自由哥哥)   你那份可以给我参考吗?  
  Top

21 楼sunshinecom21(用VB)回复于 2002-06-07 16:39:36 得分 0

谢谢各位的帮忙,特别是Metin(风浪),我刚有点事走开了,分是一定会给的。  
  To:   dreameasy(自由哥哥)         你那份可以给我学习吗?Top

22 楼banweihui(KBoy)回复于 2002-06-07 17:54:01 得分 10

呵呵,看到这份帖子,真高兴:  
  谢谢您们的帮助,我的一些基本问题都迎刃而解,比如把写卡命令传给磁卡机等,但是,对于毒卡命令发出并且刷卡后返回的数值是什么格式的,我还有很大的疑惑,现在用input收到的都是乱码之类的东西,那么应该如何把这些数据转换成10进制的呢?  
  21(vb);你是用的什么磁卡机,我们也来交流一下心得把,我用的暂时是上海润星的jl10x系列,我这几天正在忙着弄这东东,遇到数据返回应如何接收时,不知道如何处理了,哈哈,与我连系啊!!!!QQ:121683833  
        我想做成可以自动也可以手动的刷卡待机模式,你能提供一种简单的方法吗,提示也可以。我先说说我的想法:我想用timer控件对断口进行周期性操作,并用timer的enable属性来控制命领的发出,这是大体思路,不知道有没有更好的方法呢?请指点!  
   
          ^_^我的QQ:65008066   or       121683833         email:jasinow◎sina.com再次感谢您!Top

23 楼metin(风浪)回复于 2002-06-08 10:02:04 得分 0

banweihui(KBoy)    
  当然有了,不过有些为难!其实通讯程序设计和你用什么卡机没有太大的关系.(磁卡,射频卡,光电卡,指纹卡,等等)它们都有自己通讯模式.你想做的"自动和手动的刷卡待机模式"不知道自动是什么意思对于读卡命令发出并且刷卡后返回的数值是什么格式的?应该是2进制机器码吧,不太清楚.用Hex(strIn(a))以后为16进制数据.你在转换10进制应该不是问题了.Top

24 楼sunshinecom21(用VB)回复于 2002-06-08 10:07:20 得分 0

To:   metin(风浪)  
          再次感谢你!  
          我的问题还是没有解决!  
          我目前只有Modem,我想在一个程序里用Mscomm打开它并拨号。而我又想在另个一个程序里读取所拨的数据(当然在一个程序里是可以实现)?有办法吗?  
  上午在线...Top

25 楼metin(风浪)回复于 2002-06-08 10:19:05 得分 0

给你个最简单的方法.你在拨号端做一个过程(此过程完成读取所拨的数据用变量记录数据)然后在传给客户端程序(另一个程序)用WINSOCK就可以了.Top

26 楼metin(风浪)回复于 2002-06-08 10:33:00 得分 0

用WINSOCK通过TCP/IP传数据应该没问题吧.我上午在线帮你Top

27 楼wzsswz(岌岌荆棘)回复于 2002-06-08 10:52:26 得分 2

metin(风浪)在这方面很有见地,应该加分噢,   呵呵。。。Top

28 楼sunshinecom21(用VB)回复于 2002-06-08 11:43:04 得分 0

To:   风浪  
          你的方法应该可以,说白了我还是想用Mscomm  
          顺便问一下,要产生  
  Private   Sub   MSComm1_OnComm()  
  End   Sub  
          事件的前提,是不是一定要在本程序里Mscomm1打指定端口,就是用Mscomm2打开都没用?   如果是这样子的话,在另一个程序里用Mscomm读取Modem的数据就难办了?Top

29 楼sunshinecom21(用VB)回复于 2002-06-08 11:44:25 得分 0

To:风浪  
          不好意思,前段时间网络连不上,所以到现在才.....Top

30 楼metin(风浪)回复于 2002-06-10 08:21:49 得分 10

哎~~~~,如果你真的认为2个程序可以同时对COM操作的话我也没办法帮你了(不要钻牛角尖)程序,程序,何谓程序.打到目的的方法.对Private   Sub   MSComm1_OnComm()操作的前提是对它初始化.打开指定的端口,程序完成可以关闭,在开新的端口.Top

相关问题

  • 求mscomm控件
  • 关于mscomm控件
  • 关于MSComm控件
  • mscomm控件问题?
  • mscomm控件求救!!
  • mscomm控件求救!!
  • MSComm控件问题!~~~
  • 关于MSComm控件
  • 关于MSComm控件
  • 下载MSCOMM控件和 SPCOMM控件

关键词

  • .net
  • 数据
  • 控件
  • 端口
  • 通讯
  • 硬件
  • mscomm
  • 程序
  • metin
  • 读取

得分解答快速导航

  • 帖主:sunshinecom21
  • Jneu
  • Jneu
  • mazhayang
  • load
  • metin
  • metin
  • dyx
  • dreameasy
  • banweihui
  • wzsswz
  • metin

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo