VB (visual basic 6.0下载) 代码解释 请解释一下每一句的意思和功能

一个VB源代码解释问题,请解释一下,越详细越好!!!_百度知道
一个VB源代码解释问题,请解释一下,越详细越好!!!
ByVal Scode As L Then &#39.State = 0 Then Exit For End If Next i If sckServer(i), CancelDisplay As Boolean) sckServer(Index);Channel &quot.SendData &quot, 3.Close sckListen, ByVal HelpContext As Long.State = 7 Then sckServer(i), CancelDisplay As Boolean) sckL & Index & &quot!&判断是否为悄悄话; & Index & &quot.Close sckB如果所有Winsock都用完则由专门的“忙”Winsock接受请求, ByVal bytesTotal As Long) Dim s As String Dim i As Integer sckServer(Index), ByVal Scode As Long.Accept requestID End Sub Private Sub sckListen_Error(ByVal Number As Integer, 3.Listen End Sub Private Sub sckServer_Close(Index As Integer) sckServer(Index);PT&quot,点对点方式 If IsNumeric(Mid(Trim(s), 1)) Then i = Mid(Trim(s); DoEvents End Sub Private Sub sckListen_ConnectionRequest(ByVal requestID As Long) Dim i As Integer &#39, Description As S & & Right(Trim(s);Channel &决定由哪一Winsock接受请求 For i = 0 To MaxChan - 1 If sckServer(i).AddItem &quot.Close End Sub Private Sub sckServer_DataArrival(Index As Integer, Len(Trim(s)) - 3) DoEvents End If Else &#39, ByVal HelpFile As String.SendData &quot。 第一段 Private MaxChan As Integer Private Sub cmdexit_Click() End End Sub Private Sub Form_Load() Dim i As Integer MaxChan = 15 For i = 1 To MaxChan - 1 Load sckServer(i) Next i sckL & & Trim(s) DoEvents End If Next i End If lstReceive.Accept requestID Exit Sub End If &#39,请稍后再连接, 1) sckServer(i), Description As String,最好一条一条说明, ByVal HelpFile As String, ByVal HelpContext As LChannel &quot.Close End Sub Private Sub sckBusy_DataArrival(ByVal bytesTotal As Long) sckBusy.GetData s If UCase(Left(Trim(s); & Trim(s) End Sub Private Sub sckServer_Error(Index As I利用winsock的State属性给所有连接在服务器上的客户发消息 If sckServer(i).Listen End Sub Private Sub sckBusy_Close() sckBusy.LocalPort = 1000 sckListen, 2)) = &广播方式 For i = 0 To MaxChan - 1 &#39, ByVal Number As I服务器忙, ByVal Source As String, ByVal Source As S & Index & &quot.State = 0 Then sckServer(i),以免用户要求得不到响应 sckBusy请详细一点.LocalPort = 1001 sckListen.SendData & &quot
提问者采纳
决定由哪一Winsock接受请求 For i = 0 To MaxChan - 1 ’循环检查所有winsock控件数组中的元素 If sckServer(i),发送给客户端&Channel &这个过程是当winsock控件数组中的某个控件关闭时 sckServer(Index);避免出错;判断是否为悄悄话, ByVal HelpContext As Long.Listen ’开始监听端口 End Sub Private Sub sckBusy_Close() 'Channel &quot, ByVal Source As SPT&quot,程序结束 End End Sub Private Sub Form_Load() Dim i As Integer MaxChan = 15 ’给maxchan赋值 For i = 1 To MaxChan - 1 &#39, 1)) Then &#39,也就是说;scklisten这个控件的connectionrequest过程 Dim i As Integer ' &quot, Len(Trim(s)) - 3) 转发给i这个数字的客户端这个消息.State = 0 Then 'Channel &quot.LocalPort = 1000 sckL保存这条接受到的消息到lstreceive,就是同意客户端连接请求.Accept requestID '循环 Load sckServer(i) ’加载winsock控件数组中的元素 Next i sckListen,下面一句的意思是, ByVal Scode As Long, ByVal Number As Integer,点对点方式 &#39.Close &#39,接受客户端信息; & Index & &当控件数组中的控件收到客户端发来的消息时 Dim s As String Dim i As Integer sckServer(Index), 3;当客户端的状态是已连接时 sckServer(i)。 DoEvents End If Else '设置名为scklisten的本地端口为1001 sckL提取消息 If UCase(Left(Trim(s), Description As S控件数组除错过程 sckServer(Index).Close '这个过程是scklisten的除错过程 sckListen.SendData &服务器忙这是一个聊天室的服务器端;当控件数组中的某个元素没有连接时 Exit For &#39,就是广播方式;利用winsock的State属性给所有连接在服务器上的客户发消息 If sckServer(i).Close '以上两步是重置上面这句中&quot,请稍后再连接; & Index & &如果提取到的消息中间的第三个字符是数字 i = Mid(Trim(s), 1)&#39,以免用户要求得不到响应 sckBusy.State = 0 Then '结束scklisten的监听 sckListen!&quot.Close &#39.State = 7 Then &#39.LocalPort = 1001 '关闭这个连接 End Sub Private Sub sckServer_DataArrival(Index As Integer.Accept requestID '如果所有Winsock都用完则由专门的“忙”Winsock接受请求; & Index & &quot,先断开一次sckbusy控件 sckB广播方式 &#39.Close End Sub Private Sub sckBusy_DataArrival(ByVal bytesTotal As Long) &#39.Listen '是编程者自编的一个特定代码!&quot.SendData &quot, ByVal Scode As Long,是个list控件 End Sub Private Sub sckServer_Error(Index As I DoEvents End Sub Private Sub sckListen_ConnectionRequest(ByVal requestID As Long) &#39.GetData s &#39。 End Sub Private Sub sckListen_Error(ByVal Number As Integer, CancelDisplay As Boolean)&#39,并且让它重新开始监听 End Sub Private Sub sckServer_Close(Index As Integer) &#39, ByVal bytesTotal As Long) '这个过程是当sckbusy这个winsock接受到客户端发送来的数据时过程;退出循环 End If Next i If sckServer(i); & Trim(s)’转发消息 DoEvents End If Next i End If lstReceive,就是悄悄话; & Right(Trim(s);服务器忙;循环 &#39, Description As String。 If IsNumeric(Mid(Trim(s);同意客户端连接 Exit Sub End If ' &quot。Private MaxChan As Integer '否则,就是要转发给所有客户端 For i = 0 To MaxChan - 1 &#39。 sckBusy,其结果就是关闭 sckBusy, 2)) = & & Trim(s) &#39,转发和广播的功能, ByVal HelpContext As Long, CancelDisplay As Boolean) ' Then '这个过程就是当按了cmdexit这个按钮时, ByVal Source As String.AddItem &用这个数字给i赋值 sckServer(i)? Private Sub cmdexit_Click() '让sckbusy与客户端握手, ByVal HelpFile As String, 3; &这个过程是当sckbusy这个winsock控件结束时运行的, ByVal HelpFile As S如果这个winsock没有连接 sckServer(i).SendData &这句话,请稍后再连接,具有登录;PT&这个不用解释了吧,消息的前两个字符是PT的话
提问者评价
其他类似问题
为您推荐:
源代码的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求VB大神帮忙解释一下 每一句的意思
十分感谢?
&div class=&highlight&&&pre&&code class=&language-text&&Option Explicit
Private L(7) As Integer
Private Jd(7) As Double
Private zj As Double
Private Sub Form_Load()
Dim i As Integer
For i = 1 To 7
Me.Circle (), i * 500
Shape1(i - 1).Top = 4000 - 90
Shape1(i - 1).Left = 4000 + i * 500 - 90
L(i) = i * 500
HScroll1(i - 1).Max = 1000
HScroll1(i - 1).Min = 100
HScroll1(i - 1).Value = 100
HScroll1(i - 1).SmallChange = 5
HScroll1(i - 1).LargeChange = 100
zj = 10 / 180 * 3.
Private Sub HScroll1_Change(Index As Integer)
Timer1(Index).Interval = 1100 - HScroll1(Index).Value
Private Sub Timer1_Timer(Index As Integer)
Jd(Index + 1) = Jd(Index + 1) + zj
Shape1(Index).Left = 4000 + L(Index + 1) * Cos(Jd(Index + 1)) - 90
Shape1(Index).Top = 4000 - L(Index + 1) * Sin(Jd(Index + 1)) - 90
&/code&&/pre&&/div&
Option Explicit
Private L(7) As Integer
Private Jd(7) As Double
Private zj As Double
Private Sub Form_Load()
Dim i As Integer
For i = 1 To 7
Me.Circle (), i * 500
Shape1(i - 1).Top = 4000 - 90
Shape1(i - 1).Left = 4000 + i * 500 - 90
L(i) = i * 500
HScroll1(i - 1).Max = 1000
HScroll1(i - 1).Min = 100
HScroll1(i - 1).Value = 100
HScroll1(i - 1).SmallChange = 5
HScroll1(i - 1).LargeChange = 100
zj = 10 / 180 * 3.
Private Sub HScroll1_Change(Index As Integer)
Timer1(Index).Interval = 1100 - HScroll1(Index).Value
Private Sub Timer1_Timer(Index As Integer)
Jd(Index + 1) = Jd(Index + 1) + zj
Shape1(Index).Left = 4000 + L(Index + 1) * Cos(Jd(Index + 1)) - 90
Shape1(Index).Top = 4000 - L(Index + 1) * Sin(Jd(Index + 1)) - 90
谢邀,这问题看到了很久,但是都是MSDN里面有的,所以一直不想回答。给个大概思路吧:建议查看MSDN98或者2001版,网上可下载,安装后在具体代码上按F1。每一句都解释是不可能的,随便说说:Circle 是画一个圆Shape1(i - 1).Top 是调Shape1这个图形的位置,其他Left等等都是如此HScroll1诸句是设置滚动条的几个属性,最大值,单步多少,等等.VB6内置的内码转换功能-Visual Basic教程
VB6内置的内码转换功能
发表日期:
嘿嘿,看到这个题目,想必吓了一大跳吧,或者是摆出一副不相信的?不用着急,请听我慢慢道来。话说这个VB6,很是无耻,居然内置了支持Unicode的功能,也就是说,当你读入一个字符串时,它根据本地缺省语言的对应关系将之转换为Unicode,输出时,再从Unicode转换为本地编码。一方面,它当然方便啦,随便出个什么语言的版本都好方便的,而且在Unicode的系统上,如NT,那它可就如鱼得水,Unicode毕竟是软件发展的方向,像现在Win9X使用的GBK内码,实际上就是向着Unicode走了一大步。可是在另一方面,这种支持实际上极大地延缓了字符串的处理时间!想想看,如果我们从文件里读一行并显示,本来是很简单的事情,可是在VB6里面,实际上多了一段转换到Unicode的时间,如果我们用字符串从原文件里读一行,然后分析,再写到目的文件里去,实际上就多了两重的时间(本地到Unicode,unicode到本地)。当然对于这种小事,高手们想必也都有处理的办法(如用byte数组来代替字符串)说了这么一大堆Unicode的坏话,还没说到正题呢,由于VB6内置对Unicode的支持,而Unicode里面分别和GBK以及Big5都有对应关系,所以要实现转换也只是一件小事,下面我们就有请本次女主角出场。(哗哗哗哗……掌声不绝。)函数strConv!这个美眉大家可能在VB5里面也都见过的,她有一些,可以帮她把字符串在Unicode和本地编码之间转换,而在VB6里面呢,strConv又多了一个保镖!大家请仔细看:strConv(string,conversion)`VB5StrConv(string,conversion,LCID)`VB6string呢,就是预转换的字符串了(提示一下,也可以使用byte数组)。conversion:是一个整数,只决定转换方式,VB里定义了一些常量,如VBFromUnicode、VBUnicode等等,这些不用我解释大家应该也明白了吧。LCID:哈,这可是VB6新加入的参数了,长整数,可以指定编码方式,如&H404,即Big5码,&H804即GBK码,合理运用这个参数,就可以写出一个非常简单的内码转换工具!什么?你还不明白,哎,就把给你看看吧。DimiReadNumberAsInteger`读文件号DimiWriteNumberAsInteger`写文件号Dimmem()AsByte`byte数组DimstrFileNameAsString`文件名DimlLengthAsLong`文件长度`将文件内容读入membyte数组iReadNumber=FreeFilestrFileName=TextFileName.TextlLength=FileLen(strFileName)ReDimmem(lLength)AsByteOpenstrFileNameForBinaryAs#iReadNumberGet#iReadNumber,,memClose#iReadNumber`将mem数组转换为Big5码所对应的Unicode码mem=StrConv(mem,vbUnicode,&H404)`再将Unicode码转换为GBK编码mem=StrConv(mem,vbFromUnicode,&H804)`写到源文件里去iWriteNumber=FreeFileKillstrFileNameOpenstrFileNameForBinaryAs#iWriteNumberPut#iWriteNumber,,memClose#iWriteNumber`结束(笔者用的是VB6ofessional版+servicepack3。)怎么样,方便吧?短短几行就把Big5码转换到GBK了。不过方便是方便了,但是呢,也有它自己的缺陷,老实说,用这种方法来转换GB\GBK到Big5码是非常好的,可是把Big5码转过来的话,结果居然是繁体的!看起来真的是很不爽,哎,这也没有办法,Unicode里面就是这个对应关系;此外呢,这样转换毕竟是走了两步路,所以呢,从理论上来说,比别的转码软件慢了一倍!但是这样转过来可是有两大好处的,一,不会有错误的码,这可是国际标准哟,你想什么?二,不会有缺字,就像现在的很多转码软件都是从Big5转到GB码,想想看15000字转到六七千字,一一映射,没有缺字才怪!-&上一篇:
(人气:5347)
┃&教程搜索服务
┃&本月文章推荐
┃&项目外包信息
┃&网络编程文章分类
站长工具:
实用工具:
Visual Basic教程1131人阅读
& & & & & C#是一种高级程序设计语言,是一种安全、稳定、简单、优雅的编程语言,它与Visual Basic有很多相同的地方,同时也有很多不同的地方。我们今天这篇博客本着学习C#的原则,着重介绍一下C#与Visual Basic的相同点和不同点。从几个方面分别阐述。限于篇幅的原因,我们可能会分成几个部分,以几篇博客的形式呈现出来。希望大家多多关注,多提宝贵意见,我们共同进步!下面进入正题——
& & & & & C#与Visual Basic一样,是一种面向对象的可视化程序设计语言。C#以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持,成为.NET开发的首选语言。基于对C#更好更全面地的学习,我们将C#与Visual Basic语言等同起来,比较一下二者的异与同。
& & & & & 产生:
& & & & & 要说一门语言,首先不能放过的自然是它的产生。虽然就程序设计而言,一门语言的产生并不是这门语言的重头戏,但却也是不可忽略的一部分。追溯其根源及其产生发展,有利于我们更好的了解、学习、掌握这门语言。这里我们简单介绍一下。
& & & & & 先说Visual Basic,简称VB,是美国微软公司(Microsoft)推出的基于Windows操作系统环境下的软件开发工具,是一种功能强大的高级程序设计语言。可以说,Visual Basic是所有程序设计语言中最为基础的一门语言,可能很多人对它的学习不屑一顾。但是,正因为基础,它的学习才会为以后学习其他编程语言打下良好的基础,你会发现再接触一门新的程序设计语言时,不会那么困难。(后面我会专门写一篇文章介绍关于VB的基础学习对于学习其他编程语言的重要性,这里不再赘述)
& & & & & 再说一下C#,C#读作C Sharp,它是微软公司2000年发布的一种新的编程语言,是主要由AndersHejlsberg主持开发的,是第一个面向组件的编程语言。它是由C和C++衍生出来的,并在C和C++的基础上强大了一些功能,同时也去掉了一些它们的复杂特性,综合了VB简单的可视化操作和C++的高运行效率。
& & & & &&
& & & & & 举个例子:
& & & & & 这是一个显示“Welcome to the C# learning!”的程序,下面展示的是这个相同的程序在C#中和在VisualBasic中的代码及界面显示。我们来逐一分析一下。
& & & & &这是C#的运行窗体界面
& & && & & &
using System.Collections.G
using System.L
using System.T
namespace 我的例子Hello_World
class Program
static void Main(string[] args)
Console.WriteLine(&Welcome to the C# learning!!!&);
}& & & & & 这是C#实现上述界面的代码部分
& & & &&这是VB的运行窗体界面
Private Sub Form_Load()
Me.AutoRedraw = True
FontSize = 18
FontBold = True
Print &Welcome to the C# learning!!!&
End Sub& & & & && & & & &
Private Sub Form_Click()
FontSize = 18
FontBold = True
Print &Welcome to the C# learning!!!&
& & & & &&这是VB实现上述界面的代码部分。接触过VB的人都知道,这是用两种不同的方式实现上述界面的。一个用的是Click事件,一个是Form_Load事件。
& & & & & & & &通过上述几幅图片的比较,我们可以很清晰的看出C#与VB的区别所在。上面的例子代码是很简单的,所以可能效果不是特别的明显。对比C#和VB,其实实现这个例子不过就是一句代码的事儿。在VB中可以添加一个控件,拿添加一个Label控件来说,代码可以直接写成
Label1.Caption = &Welcome to the C# learning!!!&
& & & & C#中的代码,究其根本,其实也就是一句话,把这行代码单独拿出来,如下:
Console.WriteLine(&Welcome to the C# learning!!!&);
& & & & & 这下好了,把VB这行代码和C#的代码比较一下,你会发现二者还真的有点像,但是又不一样。先看VB的代码,它的代码意思是:Label1(这个控件)的Caption(标题)是“Welcome to the C# learning!!!” ; C#的代码,它的意思是:Console(控制台类)的WriteLine(方法)显示文本行&Welcome to the C#
learning!!!& 。都是显示文本,表示的方法却截然不同:VB中有等号,在C#中等号却是赋值的意思,双等号“==”才是和VB中“=”相同的意思;而且在C#中WriteLine方法把要表示的文本行用括号括起来,并且要注意的是代码行尾部有个分号,即“;”。在大量接触C#后,你就会发现,在C#的代码中,很多代码后面都有分号——“;”,如下面这个代码:
using System.Collections.G
using System.L
using System.T
namespace 我的例子1
class Program
static void Main(string[] args)
for (int i = 0; i & 10; i++)
Console.Write(&请输入一个语句(输入end结束):&);
string s = Console.ReadLine();
if (s == &end&)
Console.WriteLine(&您输入的单词:& + s);
}& & & & &在以后大量接触C#时就会发现一行代码后要加分号,在C#代码语言块用{ &}括起来,结尾是不带分号的。这个随着学习C#的深入和代码量的增加,会一点点摸出规律的。
& & & 注释方法:
//这是C#编程代码
//导入System命名空间
using System.Collections.G
using System.L
using System.T
namespace 我的例子Hello_World
//声明命名空间我的例子Hello_World
class Program
//声明Program类
static void Main(string[] args)
//程序入口点,Main的返回类型为void
Console.WriteLine(&Welcome to the C# learning!!!&);
//控制台类的WriteLine()方法用于显示输出结果
这是C#的代码注释方法
Private Sub Form_Load()
Me.AutoRedraw = True
FontSize = 18: Rem 设置字体大小
FontBold = True: Rem 字体加粗
Print &Welcome to the C# learning!!!&: Rem
屏幕显示内容
Private Sub Form_Load()
Me.AutoRedraw = True
FontSize = 18
'设置字体大小
FontBold = True
Print &Welcome to the C# learning!!!&
'屏幕显示内容
& & & & & &这是VB的代码注释方法。
& & & & & C#的注释方法较为常用的就是在代码后加双斜线,即“//”,上面的图片已经做了很好的显示,当然C#的注释方法并不是只一种,双斜线是用于单行注释,双行注释则用“/*….*/”。其中//是一段代码注释;/*这是一段代码注释*/。不仅如此,下面这张表介绍了更多的注释方法,有兴趣的可以研究一下。
& & & & &VB展示了两种不同的代码注释方法。学过VB的人都知道,VB的注释方法有两种(暂时我只知道这两种方法),一种就是单引号,在代码后加入英文状态的单引号;另一种Rem注释,即在代码后加冒号,加Rem,加注释。相对而言,第一种注释方法是比较常见,也是比较常用的。
限于篇幅的原因,今天关于C#与Visual Basic的比较先介绍到这里。下一篇博客我将继续阐述二者的同与异,敬请期待!欢迎大家多提宝贵意见,我们共同学习!
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:102637次
积分:4455
积分:4455
排名:第2870名
原创:116篇
评论:1719条
(4)(4)(4)(5)(5)(6)(5)(4)(5)(4)(4)(3)(4)(3)(3)(2)(2)(3)(2)(1)(1)(3)(2)(4)(5)(5)(2)(3)(3)(3)(3)(2)(6)(5)(1)(1)(2)vbs整人代码大集合_多年的代码收集_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
vbs整人代码大集合_多年的代码收集
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢

我要回帖

更多关于 visual basic 6.0教程 的文章

 

随机推荐