微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

项目实战三—真正了解VB吗?


最近做项目的时候遇到这样一个问题,现在的粮仓只有粮种类型,简单的说一种是长方体,另一种就是圆柱体.但用户要求把原平台上所有的仓房类型都加到系统中(看上去很专业).想想怎样去合理的切割,既可以显示出来,又可以不影响性能. 观察了一下这些仓的类型发现可以把涉及到的“圆”、“筒”、“洞”都归结为浅原仓,其余都为房式仓。


一、问题


如何将datagridview中含有这些字的词识别,执行不同的操作。


二、解决方


1、想到从datagridview中模糊查询

2、使用正则表达式进行查询

3、使用VB自带函数Instr进行查询


前两种方法,都可以实现,只不过我们用的比较少,会在后期博客中做介绍。现在主要介绍VB自带的Instr函数


三、Instr函数


VB:InStr(n,String1,String2)


1、定义:返回要截取的字符串在源字符串中的位置。


2、功能:是从字符串String1的第n个字符开始搜索字符串String2第一次出现的位置,省略n时,则从Sring1的开头开始搜索。当字符串String1中包含String2时,返回值是从String1的第一个字符算起出现字符串String2的字符位置。如果String1中不包含String2,返回值则为0.


3、实例:


<span style="font-size:18px;">Dimstring1 As String = "abcde"                  '定义String1为源字符串
Dim Search2As String = "a"                       '定义String2为需要检索的字符串

Dim n As Integer                                 '定义位置

TestPos= InStr(1,"W")                     ' Returns 0,字符串中不存在w</span>


4、项目实例:

     Dim strStorage Asstring                                       ’定义仓房类型

        Dim strIncludeCircleAs String                             ’定义包含“圆”的仓房类型

        Dim strIncludeTube Asstring                              ’定义包含“筒”的仓房类型

        Dim strIncludeHole Asstring                               ’定义包含“洞”的仓房类型

 

  '如果仓房类型中含有“圆”、“洞”、“筒”的都视为浅圆仓,其余都为房式仓

            strStorage =FrmHousetool.dgvStorageInfo.CurrentRow.Cells("仓房类型").Value.ToString

            strIncludeCircle ="圆"

            strIncludeTube ="筒"

            strIncludeHole ="洞"

 

            '根据不同的仓房类型,显示不同的设置

            If InStr(1,strStorage,strIncludeHole) > 0 Or InStr(1,strIncludeCircle) > 0 OrInStr(1,strIncludeTube) > 0Then                  

                gbRect.Enabled= False                                    '长方体仓为不可用

                Exit Sub

            Else

                 gbRect.Enabled = true                                     '长方体可用

                Exit Sub

            End If

 
问题很容易用Instr解决了,现在想想为什么一开始没有想到呢?虽然在找的过程中也接触到了很多新的东西,但 很值得思考一下,为什么没有想到以前的学到的知识。简单的VB就可以解决的,现在想想,真的了解VB吗?加油吧!

原文地址:https://www.jb51.cc/vb/258295.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐