请教个VB MSCvb控件下载问题

您好,请教您一个VB,mscomm控件的问题:-学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
> 信息中心 >
您好,请教您一个VB,mscomm控件的问题:
来源:互联网 发表时间: 16:49:55 责任编辑:王亮字体:
为了帮助网友解决“您好,请教您一个VB,mscomm控件的问题:”相关的问题,学网通过互联网对“您好,请教您一个VB,mscomm控件的问题:”相关的解决方案进行了整理,用户详细问题包括:
Private Sub MSComml_OnComm()
Dim c() As String
Select mEvent
Case comEvReceive
recmsg = MSComm1.Input
c = Split(recmsg, & &)
Text1.Text = c(1)
Text2.Text = c(2)
Private Sub MSComml_OnComm() Dim c() As String Select mEvent Case comEvReceive recmsg = MSComm1.Input c = Split(recmsg, & &) Text1.Text = c(1) Text2.Text = c(2) Text3.Text = c(3) Text4.Text = c(4) Text5.Text = c(5) Text6.Text = c(6) MSComm1.InBufferCount = 0 End SelectEnd Sub端口打学网
及settings等参数设定前面单看段数据接收指令问题何数据传候oncomm事件执行呢问题补充: 接收数据格式: 35 26 89 100
,具体解决方案如下:解决方案1:除通信线连接问题外,必须设置RThreshold 属性RThreshold 属性 MSComm 控件设置 CommEvent 属性 comEvReceive 并产 OnComm 前设置并返要接收字符数说明接收字符若 Rthreshold 属性设置 0(缺省值)则产 OnComm 事件例设置 Rthreshold
1接收缓冲区收每字符都使 MSComm 控件产 OnComm 事件Option Explicit Dim recmsg As StringPrivate Sub MSComml_OnComm() Dim c() As String Select mEvent Case comEvReceive recmsg = MSComm1.Input c = Split(recmsg, & &) Text1.Text = c(0) Text2.Text = c(1) Text3.Text = c(2) Text4.Text = c(3) Text5.Text = c(4) Text6.Text = c(5) MSComm1.InBufferCount = 0 End SelectEnd SubPrivate Sub Form_Load() MSComm1.Settings = &9600,n,8,1& mPort = 1 MSComm1.RThreshold = 23 MSComm1.PortOpen = TrueEnd Sub
3个回答1个回答4个回答1个回答2个回答1个回答4个回答2个回答4个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答
相关文章:
最新添加资讯
24小时热门资讯
Copyright © 2004- All Rights Reserved. 学网 版权所有
京ICP备号-1 京公网安备02号请教VB datagrid控件复制问题?写了个小程序,把数据库的记录显示到datagrid、MSHFlexGrid1等控件中,想实现对datagrid、MSHFlexGrid1中的记录全选并复制到粘贴板,科粘贴至excel等文档中,请教各位不知是否有办法实现?
回答1:一个方法,采用&ADO&Recordset&对象的&GetString&方法,将记录转为字符串。
该字符串以制表符分隔字段,以回车换行符分隔记录。
使用&ClipBoard&对象的&SetText&方法,就可以将上述字符串复制到剪贴板。
在&Excel&Range&对象(VBA)&的&PasteSpecial&方法,可以将剪贴板中的内容粘贴到工作表中。Excel&能自动识别行和列。
yanquanmanwu请教个MAPImessage和MAPIsession控件的问题 -VB- TryCatch
>> Content
请教个MAPImessage和MAPIsession控件的问题
请问:用MAPI控件发送邮件时,它所说的会话是否指的是控件与服务器建立连接?别外这两个控件如何使用?另外下面这个程序,我在VB6中写进去时,它老是出错的.不知什么原因?(在发送邮件程序中,发送邮件时,显示无法建立连接)请问是怎么回事?它这两个程序正确吗?解答一下.多谢!使用VB收发电子邮件中国航空信息中心&吴斌发送和接收电子邮件,对于某些执行特殊任务的应用程序而言,是一个十分有用的功能。例如,一个监视网络服务器资源使用情况的工具软件,如果它具有自动发送电子邮件的功能,那么当它发现服务器的资源使用已经接近事先设定的临界状态时,便可以向系统管理员发送一封告警的电子邮件,从而使系统管理员能够及时地采取措施,以避免重大事故的出现。在Visual&Basic中,应用程序可以通过调用微软公司的MAPI(Messaging&Application&Programming&Interface,消息应用程序编程接口),实现收发电子邮件的功能。笔者将在本文中结合简单实例,向大家介绍在VB程序中实现电子邮件收发功能的编程方法。编制具有收发电子邮件功能的VB程序,必须使用Visual&Basic&4.0以上的版本,因为只有4.0以上的Visual&Basic才带有两个实现电子邮件收发功能的核心控件:MAPI会话控件和MAPI消息控件。MAPI会话控件用于建立和控制一个Microsoft&Mail会话,MAPI消息控件用于创建和收发邮件消息。此外,程序必须运行在采用遵从MAPI的消息系统(如:Microsoft&Exchange、Microsoft&Mail、Outlook等)的环境中。在开始编程之前,首先需要将MAPI控件加入VB工具箱。具体操作是:在VB菜单栏中选择Tools菜单项中的Custom&Controls命令,调出"Custom&Controls"对话框,在其中的"Available&Controls"列表框中选中"Microsoft&MAPI&Controls"表项,然后按"OK"命令按钮退出该对话框。此后,工具箱中将新添两个图标,这就是MAPI会话控件和MAPI消息控件的图标。下面,笔者将以两个简单的VB程序为例,分别介绍发送邮件和接收邮件的程序编制方法。邮件发送程序邮件发送程序的基本处理过程是:根据用户输入信息组成邮件,然后使用MAPI消息控件的Send方法将邮件发出。编程步骤如下:1、新建一个VB项目。2、将缺省窗体Form1的Caption属性设置为"发送邮件"。3、将MAPI控件加入VB工具框。4、在Form1中加入一个MAPI会话控件MAPISession1和一个MAPI消息控件MAPIMessages1。5、在Form1中加入三个文本框控件,将它们的Name属性分别设置为txtSendTo、txtSubject、txtMessage,并将txtMessage的Multiline属性设置为True。这三个文本框控件将分别用于填写邮件的收件人、主题和内容。6、在Form1中加入三个标签控件,将它们的Caption属性分别设置为"收件人"、"主题"和"内容",并将它们放在合适的位置用以标注相应的文本框控件。7、在Form1中加入一个命令按钮控件,将其Caption属性和Name属性分别设置为"发送"和"cmdSend"。8、将下列代码加入Form1的Form_Load事件:Private&Sub&Form_Load()MAPISession1.SignOnEnd&Sub9、将下列代码加入Form1的Form_Unload事件:Private&Sub&Form_Unload(Cancel&As&Integer)MAPISession1.SignOffEnd&Sub10、将下列代码加入cmdSend的Click事件:Private&Sub&cmdSend_Click()With&MAPIMessages1.MsgIndex&=&-1.RecipDisplayName&=&txtSendTo.Text.MsgSubject&=&txtSubject.Text.MsgNoteText&=&txtMessage.Text.SessionID&=&MAPISession1.SessionID.SendEnd&WithMsgBox&"邮件发送完毕!",&,&"发送邮件"End&Sub程序运行后如图3所示。在填写完邮件的收件人、主题和内容后,按"发送"命令按钮,如果没有出现运行时错误提示,那么就表明邮件已经成功地发往目的地了,否则,请检查填写的收件人地址是否准确无误以及系统中运行的消息系统工作是否正常。邮件接收程序邮件接收程序比邮件发送程序稍微复杂一些。首先需要使用MAPI消息控件的Fetch方法读取邮件,这个过程将把用户收件箱中所有未读邮件全部装入MAPI消息控件中。然后,检查MAPI消息控件的MsgCount属性以确定通过Fetch方法读取的邮件的总数。接着,可以通过设置MAPI消息控件的MsgIndex属性来指定具体需要处理哪一封邮件。需要说明的是,MsgIndex属性值的计数是从0开始的,也就是说,第一封邮件的索引号是0,第二封邮件的索引号是1,依次类推。编程步骤如下:1、新建一个VB项目。2、将缺省窗体Form1的Caption属性设置为"接收邮件"。3、将MAPI控件加入VB工具框。4、在Form1中加入一个MAPI会话控件MAPISession1和一个MAPI消息控件MAPIMessages1。5、在Form1中加入三个标签控件和一个文本框控件,将三个标签控件的Name属性分别设置为lblMsgDateReceived、lblMsgOrigDisplayName、lblMsgSubject,将文本框控件的Name属性设置为txtMsgNoteText,并将标签控件的Caption属性和文本框控件的Text属性的内容清空。这四个控件将分别用于显示邮件的日期、发件人、主题和内容。6、将txtMsgNoteText控件的Locked属性和Multiline属性设置为True,ScrollBars属性设置为2&-&Vertical。7、在Form1中再加入四个标签控件用于标注上述四个控件,将它们的Caption属性分别设置为"日期"、"发件人"、"主题"、"内容"。8、在Form1中加入一个标签控件,将其Name属性设置为lblMsgCount,Caption属性设置为"第&0&封邮件,总计&0&封邮件"。该控件用于显示接收的邮件总数以及当前正在处理第几封邮件。9、在Form1中加入三个命令按钮控件,将它们的Name属性分别设置为cmdPrevious、cmdNext、cmdClose,Caption属性分别设置为"上一封"、"下一封"、"关闭"。10、编写一个窗体级子例程FetchNewMail:Public&Sub&FetchNewMail()MAPIMessages1.FetchUnreadOnly&=&TrueMAPIMessages1.FetchEnd&Sub11、编写一个窗体级子例程DisplayMessage:Public&Sub&DisplayMessage()lblMsgCount.Caption&=&"第&"&&&_LTrim(Str(MAPIMessages1.MsgIndex&+&1))&&&"&封邮件,总计&"&&&_LTrim(Str(MAPIMessages1.MsgCount))&&&"&封邮件"lblMsgDateReceived.Caption&=&MAPIMessages1.MsgDateReceivedtxtMsgNoteText.Text&=&MAPIMessages1.MsgNoteTextlblMsgOrigDisplayName.Caption&=&MAPIMessages1.MsgOrigDisplayNamelblMsgSubject.Caption&=&MAPIMessages1.MsgSubjectEnd&Sub12、将下列代码加入Form1的Form_Load事件:Private&Sub&Form_Load()MAPISession1.SignOnMAPIMessages1.SessionID&=&MAPISession1.SessionIDFetchNewMailDisplayMessageEnd&Sub13、将下列代码加入cmdPrevious的Click事件:Private&Sub&cmdPrevious_Click()If&MAPIMessages1.MsgIndex&&&0&ThenMAPIMessages1.MsgIndex&=&MAPIMessages1.MsgIndex&-&1DisplayMessageElseBeepEnd&IfEnd&Sub14、将下列代码加入cmdNext的Click事件:Private&Sub&cmdNext_Click()If&MAPIMessages1.MsgIndex&&&MAPIMessages1.MsgCount&-&1&ThenMAPIMessages1.MsgIndex&=&MAPIMessages1.MsgIndex&+&1DisplayMessageElseBeepEnd&IfEnd&Sub15、将下列代码加入cmdClose的Click事件:Private&Sub&cmdClose_Click()Unload&MeEnd&Sub程序运行后如图4所示。在窗体加载过程中,窗体Load事件中的代码会读取新邮件,如果有新邮件,就显示第一个新邮件。如果有多个新邮件,则可以使用"上一封"和"下一封"命令按钮前后翻阅。接收邮件本例是读取用户收件箱中所有未读邮件,如果要读取收件箱中所有的邮件,那么只需在执行Fetch方法之前,将MAPI消息控件的FetchUnreadOnly属性设置为False。具体接收的邮件是否已经读过,可以通过MsgRead属性来判别。如果邮件的正文或附件曾经被浏览过,那么该邮件就会自动标记为已读,不过只浏览邮件的主题不会标记该邮件已读。邮件附件与处理邮件的方式一样,MAPI也为邮件的附件提供了一个计数器和一个索引。在处理收到的邮件时,可以通过检查AttachmentCount属性来确定该邮件携带了多少个附件,然后可以通过设置AttachmentIndex属性依次处理每一个附件。AttachmentIndex的合法取值范围为0至AttachmentIndex-1。在设置了AttachmentIndex属性值后,可以读取附件的下列属性:AttachmentName:当附件是一个文件时,该属性用于指定文件的名称。当附件是一个OLE对象时,该属性用于指定对象的类型。AttachmentPath:该属性用于指定做为附件的文件的全路径名。AttchmentPosition:该属性用于指定附件在邮件内容部分中的位置。当邮件收发程序显示邮件内容时,将使用该属性提供的信息把附件的标志放在合适的位置。AttachmentType:该属性用于指定附件的类型,其合法取值为三个整数型数值,在VB中分别由下列常量表示:?mapData-附件是一个数据文件?mapEOLE-附件是一个嵌入式OLE对象?mapSOLE-附件是一个静态OLE对象发送邮件时,上述属性的使用方法与接收邮件时相同,只不过由读操作改为写操作了。值得一提的是AttachmentIndex属性,发送邮件时可以将其设置为任意值。而AttachmentCount属性则会自动设置为正确的值,无需人为设置。小结通过分析上述两个程序的代码,可以归纳出具有收发电子邮件功能的VB程序的基本流程如下:1、使用MAPI会话控件建立一个邮件会话。2、使用MAPI消息控件进行邮件的处理工作。3、再次使用MAPI会话控件释放邮件会话。由于上述两个VB程序只是简单的示例,因而略去了一些与本文主题关系不大的细节,如错误处理等。在编制实用程序时,为了保证程序的可靠性,应该考虑加入这些细节部分。&
------Solutions------
这个简单啊,网上搜一下就得到答案了.

我要回帖

更多关于 vb计时器控件 的文章

 

随机推荐