转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
VB 深度下潜之 海蛇缠绕         ★★★★

VB 深度下潜之 海蛇缠绕

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1212 更新时间:2009/4/23 15:41:36

下潜深度(十米,水温0°C),时间北京时间零点整。

  海蛇”有人在惊呼。

  只见在海底深处游来一条黑色的长长的海蛇,几乎所有的人都在发呆。但是海蛇说了一句让我们胆寒的话“我就是有名的VB字符串,如果你们继续下潜的话,就得想通过我”。

  我习惯性的观察着它,因为我知道要打败一个对手,就必须深入的了解对手。

  因此我写了一段小CODE来了解它。

   Dim str As String

  

   str = "Give me a 美女"

   Dim L1 As Long

   Dim L2 As Long

   L1 = Len(str)

   L2 = LenB(str)

   Debug.Print L1, L2

  这个代码运行得很好,完全符合我的想像,在立即窗口中显示了12,24,

  Good,于是我准备在窗口中用TextOut把它打印出来,至于为什么我一定要这个函数而不用其它的,你管得着么?所以我写下了于下代码

  Dim str As String

  

   str = "Give me a 美女"

   Dim L1 As Long

   Dim L2 As Long

   L1 = Len(str)

   L2 = LenB(str)

   Debug.Print L1, L2

   TextOut Me.hDC, 100, 100, str, L1

  结果我发现不对?看来是字符串长度不对,想起来了,在VB中字符串是BSTR型的,那么应该用L2作长度,对不对呢,试试就知道了。

   天呀,在字符串后出现了天书,难道是上帝在暗示我什么时候给我一个美女?

   不过我想上帝没有这么快就会答应我,因此一定是我的代码有问题。

   当我正在沉思的时候,所有的人都在观注着我。没办法,太帅了。

   所以我又迅速写下了以下的代码

Private Declare Function LenANSI Lib "kernel32" Alias "lstrlenA" (ByVal string1 As String) As Long

  ……

   Dim str As String

  

   str = "Give me a 美女"

   Dim TrueLen As Long

   TrueLen = LenANSI(str)

   TextOut Me.hDC, 100, 100, str, TrueLen

当我快速地按下F5后,天空中便有了回响,“Give me a 美女”这句话已得到了正确的响应。

这时候我看着这条海蛇,满有信心地向它游去,但是它却很诡秘的一笑。

你见过蛇的笑容么,它也很缓缓的游过来了。

“如果你们打算就这样通过我的话,也想得太容易了”这句话为什么这么熟悉呢。是不是在黄金十二宫里的什么人说的吧,

“给你们一个小考验,你们知道vbNullString 和 “” 有什么区别么?”

“别以为你是海蛇就了不起,你这问题也太简单了吧”我身边一个长得不是很难看的小伙子,人送外号(天下第七帅),“你以为我没读过海洋生物指南呀(对象浏览器)

Const vbNullString = ""

    VBA.Constants 的成员

    当调用一个外部过程,需要一个非零值的字符串时,所使用的常数

“那你的意思是说是一样的了,那么vbNullChar呢?”海蛇不怀好意地看着天下第七帅。

“那当然是一样的了,你看VB的说明么”天下第七帅冲口而出,不过他又觉得好象有些不对。但是VB的对象浏览器上的确写着

Const vbNullChar = ""

VBA.Constants 的成员

那么下面这段代码代表什么呢?

海蛇给出了它的代码

Dim s1 As String

   Dim s2 As String

   Dim s3 As String

  

   s1 = vbNullString

   s2 = vbNullChar

   s3 = ""

  

   Debug.Print StrPtr(s1), StrPtr(s2), StrPtr(s3)

   Debug.Print LenB(s1), LenB(s2), LenB(s3)

 天下第七帅按下F5后,他很惊讶海蛇代码的运行结果

  0             1899284       1434596

  0             2             0

那么就是说VB的说明和海蛇之间一定有人错了。而且,对于采用S1两个值都是零,指针指向零,长度为零,它不是一个普通意义上的零值呀。

天下第七帅于是转过头来看着我。

“小子,出风头吧,来吧,我先给你们看点东西”

“你们想要打败海蛇,就一定要了解海蛇的结构”

VB的字符串是一个标准的BSTR字符串,比如说”Hello”这个字符串它的结构是这样的

A

0

0

0

H

0

e

0

l

0

l

0

o

0

0

0

可以看到

[1] [2]  下一页


[VB.NET程序]GSM短信模块库函数,可以用VB,VC,调用简单实用  [办公软件]PowerPoint做交互课件之弃用VBA
[办公软件]VBA获取U盘、主板、CPU序列号和网卡MAC地址  [办公软件]VBA设置文件属性及加密源代码示例
[办公软件]VBA中初始化ADO连接的几种方法  [网络安全]“VB破坏者变种N”病毒摘要
[Web开发]ASP.NET上传文件到数据库VB版  [办公软件]在Excel中利用VBA实现多表单元格数据的读取与赋值…
[办公软件]使用Vba读取已关闭的Excel工作薄数据到当前工作表…  [办公软件]Excel编程基础之VBA文件操作详解
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台