VB学习心得一范文.doc_第1页
VB学习心得一范文.doc_第2页
VB学习心得一范文.doc_第3页
VB学习心得一范文.doc_第4页
VB学习心得一范文.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VB学习心得一范文 VB学习心得(一)1.精确计时TIMer控件不能做精确计时,只能用于粗略计时,这个在VB关于TIMER的控制介绍中明确说明过的,要实现精确计时用下面代码返回开机以来经历的时间(以毫秒计)Public DeclareFunction GetTickCountLibkernel32AliasGetTickCount()As Long或者返回系统当前时间(精确到毫秒)Public DeclareSub GetSystemTimeLibkernel32AliasGetSystemTime(lpSystemTime AsSYSTEMTIME)Public TypeSYSTEMTIME wYearAs IntegerwMonth As Integer wDayOfWeekAs IntegerwDay As Integer wHourAs IntegerwMinute AsInteger wSecondAsIntegerwMilliseconds AsInteger EndType(秒表)2.初识Winsock附上自己写的一个例子,见VB学习心得(二)UDP协议基础UDP(User DatagramProtocol)是一种无连接协议,与TCP操作不同,计算机间并不需要建立一个连接,同时,一个UDP应用可同时作为应用的客户或服务器方。 由于UDP协议并不需要建立一个明确的连接,因此建立UDP应用要比建立TCP应用简单得多。 在TCP应用中,一个Winsock控制必须明确地设置成“监听”,而其它Winsock控制则必须使用Connect方法来初始一个连接。 使用UDP协议,在两个Winsock控制间进行数据的发送,在连接的两端必须完成以下三步1.设置Rem oteHost属性为其它计算机的名称;2.设置Rem otePort属性为第二个Winsock控制的LocalPort属性的值;3.申请Bind方法。 通过使用方法Bind,则可将该Winsock控制捆绑到一个本地端口,以便该Winsock控制使用该端口来进行类似TCP的“监听”功能,并防止其它应用使用该端口。 使用该协议传送数据,首先设置客户计算机的LocalPort属性。 而作为服务器的计算机仅需要设置Rem oteHost属性为客户计算机的I P地址或域名即可,并将其Rem otePort属性设置成客户计算机上的LocalPort属性即可,然后就可通过申请SendData方法来开始信息发送,客户计算机则可在其DataArrial事件中使用方法GetData来获取发送的信息。 下例具体演示了一个“谈话”应用,以允许相互间进行实时的交谈。 UDP应用一建立一个新标准EXE工程文件,拖放一个Winsock控制到表单上,添加两个文本框到表单上,然后进行以下属性的设置表单(Form):Nam e=“frm PeerA”Caption=“UDP Application (1)”Winsock控制Nam e=“udpPeerA”Protocol=“sckUDPProtocol”文本框1(TextBox):Nam e“txtSend”文本框2(TcxtBox):Nam e=“txtOutput”MultiLineTrue ScrollBars=2然后打开代码窗口,分别在相应的事件下输入以下代码Private SubForm_Load()With udpPeerA.Rem oteHost=“197.1.1.2”?要连接到的计算机名.Rem otePort=1010?要连接到的端口号.LocalPort=1011?该Winsock控制将要使用的本地端口号,便于其它端与该Winsock通讯.Bind1011?将该Winsock控制绑定到该本地端口End WithEnd SubPrivate SubtxtSend_Change()udpPeerA.SendData txtSend.Text?发送文本End SubPrivate SubudpPeerA_DataArrival(ByVal bytesTotalAs Long)Dim strDataAs StringudpPeerA.GetData strData,vbString txtOutput.Text=strData End Sub UDP应用二类似建立UDP Server的方法,在表单上添加一个Winsock控制及两个文本框,然后进行以下属性的设置表单(Form):Nam e=“frm PeerB”Caption=“UDP Application (2)”Winsock控制Nam e=“udpPeerB”Protocol=“sckUDPProtoclool”文本框1(TextBox)Nam e=“txtSend”文本框2(TextBox)Nam e=“txtOutput”MultiLine=True ScrollBars=2然后输入以下代码Private SubForm_Load()With udpPeerB.Rem oteHost=“197.1.1.2”?要连接到计算机的I P地址.Rem otePort=1011?要连接到的端口号.LocalPort=1010?该Winsock控制将使用的本地端口号,便于其它方与之通讯.Bind1010?将该Winsock控制绑定到该本地端口End WithEnd SubPrivate SubtxtSend_Change()udpPeerB.SendData txtSend.Text?发送文本End SubPrivate SubudpPeerB_DataArrival(ByVal bytesTotalAs Long)Dim strDataAs StringudpPeerB.GetData strData,vbString txtOutput.Text=strData End Sub要运行该实例,打开两个Visual Basic的事例,然后分别运行这两个工程文件即可。 若要在不同的机器上运行此两例,只需要将两个工程文件中的Rem oteHost改变成相应的计算机的I P地址或域名即可(以上例子在Visual Basic5.0及PWI N97上通过)。 3.API实现无边框窗体移动Private DeclareFunction SendMessageLibuser32_AliasSendMessageA(ByVal hwndAs Long,_ByVal wMsgAs Long,_ByVal wParamAs Long,_lParam AsAny)As LongPrivate DeclareSub ReleaseCaptureLibuser32()Private ConstWM_NCLBUTTONDOWN=&HA1Private ConstHTCAPTION=2拖动窗体移动窗口,想要拖动其他控件移动窗口,只要在控件的MouseMove事件中加入以下代码即可Private SubForm_MouseMove(Button AsInteger,Shift AsInteger,X AsSingle,Y AsSingle)Dim lngReturnValueAs LongIf Button=1Then CallReleaseCapture lngReturnValue=SendMessage(Me.hwnd,WM_NCLBUTTONDOWN,HTCAPTION,0&)End IfEndSub4.声明过程时让参数可省略Private Subprintx(x AsString,Optional muchAsInteger=1)For i=1To muchPrint xNext iEndSub就会这样5.获取光标位置该函数检取光标的位置,以屏幕坐标表示Private DeclareFunction GetCursorPosLibuser32(lpPoint AsPOINTAPI)As Long使用时要先定义一个数据结构Public TypePOINTAPI xAs Longy As Long EndType例如dim biaoas POINTAPIGetCursorPos biao6.窗体前置声明Private DeclareFunction SetWindowPosLibuser32(ByVal hwndAs Long,ByVal hWndInsertAfterAs Long,ByVal xAs Long,ByVal yAs

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论