0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样在VB6中编程

454398 来源:网络整理 作者:网络整理 2019-12-12 17:08 次阅读

步骤1:字符串

怎样在VB6中编程

VB处理字符串的方式有时会令人困惑。

texta =“ abcdefg”

在要计数为字符串的文本两边加上“符号。 Mid(String,Start,长度)从字符串中选择一段文本

在字符串中没有从0开始的起始字符串

textb = mid(texta,2,2)

这使变量textb =“ bc”

textb = mid(texta,4,4)

这会使变量textb =“ defg”

textb = mid(texta,4,5)

这会使变量textb =“ defg”

没错,如果您要选择的文本长于最后一个字符结尾的可用文本

取决于您的程序,则必须放置陷阱以避免错误。

陷阱:

textb = mid(texta,4,5)

如果len(textb)《5则‘Len()返回字符串的长度,《意味着小于

msgbox“文本太短“’显示消息框字符串

exit sub‘这将退出您所在的子。结束代码。如果您使用的是函数,那么如果

在字符串中找到字符的位置,则可以退出函数

结束。

我们使用instr(Start,String1,String2)

texta =“ abcdefg”

textb = instr(1,texta,“ c”)’这将在字符串texta中找到字母c

textb现在等于3

注意:

Instr如果找不到则返回0(零)字符

重组:

这是一个令人讨厌的问题,例如,您希望“ abcdefg”成为“ defgabc”

texta =“ abcdefg”

textb = mid(texta,4,4) &mid(texta,1,3)

还算不错,但现在让我们添加instr()函数

说您想重新组织窗帘字符处的字符串,但每次都不是相同的位置

texta =“ abcdefg”

textb =“ gfabdec”

textc = mid(texta,instr(1,texta,“ c”),len(texta)-instr(1,texta,“ c” )+ 1)&mid(texta,1,instr(1,texta,“ c”)-1)

请注意部分len(texta)-instr(1,texta,“ c”)+ 1因为instr会计数您要查找的字符,所以您返回一个字符,以便mid()将字符yo您正在查找的字符串中的第一个字符串

textc现在等于“ cdefgab”

textd = mid(textb,instr(1,textb,“ c”),len(textb)-instr(1, textb,“ c”)+ 1)&mid(textb,1,instr(1,textb,“ c”)-1)

texted现在等于“ cgfabde”

让我们尝试查找不在字符串

texta =“ abcdefg”

textc = mid(texta,instr(1,texta,“ h”),len(texta)-instr(1,texta,“ h”)+ 1)&mid (texta,1,instr(1,texta,“ h”)-1)

您会收到错误消息,因为Mid()的起始部分不能= 0,因为字符串从1

开始,因此您必须避免运行时错误。这是执行此操作的一种方法

texta =“ abcdefg”

如果instr(1,texta,“ h”)《》 0则

textc = mid(texta,instr(1,texta,“ h “),len(texta)-instr(1,texta,” h“)+ 1)和mid(texta,1,instr(1,texta,” h“)-1)

else‘只有一个声明根据if情况

msgbox“无法在字符串中找到字符”’显示带有字符串的消息框

如果if

这几乎总结了您需要了解的有关字符串的所有信息

第2步:转换字符

十六进制:

我在本周早些时候发现的一个与十六进制(数字)函数的长度有关

它以十六进制形式返回字符串

hex(11111111)返回“ A98AC7”

当将ascii字符转换为十六进制时,您会这样做

texta =“ a”

hex(asc(texta))返回“ 61”

texta =“ k” hex(asc(texta))返回“ 6B”

对于ASCI字符中的大多数,字符串将为2个字符

除非are的值小于16,否则仅返回1个字符

如果您希望它们全部为2个字符演员,您将执行以下操作:

textb = hex(asc(texta))

如果len(textb)= 1,则

textb =“ 0”,并且textb‘为零而不是大写o

end if

第3步:文件编辑

要打开文件,您需要一个freefile和一个文件名

gfile = FreeFile’gfile现在是下一个可用的免费文件

c =“ c:\ test.txt”

然后有四种打开文件的方式

输入-您只能阅读。

输出-您只能写入,如果存在,它将删除文件。回车符和换行符的最后一个字符

附加-您只能写。它将添加到现有文件中。回车和换行符最后一个字符

二进制-读写。非常精确我现在唯一使用的一个。

用于构建日志文件,然后附加使用它会将新条目添加到文件末尾。

对于更复杂的日志文件,请将整个文件加载到变量中并添加

dim stro作为字符串‘这是必须的,否则将出现错误

gfile = FreeFile

c =“ c:\ test.txt”

open c对于二进制文件,例如#gfile’记住gfile是数字

stro = space $(lof(gfile))‘当打开二进制文件时,您必须知道要取的文本长度是lof(gfile)会返回多大gfile的长度和space $()返回一串空格,该空格是您输入的数字的长度

get #gfile,1,stro’从文件号获取,起始字节,变量保存到其中。并仅加载变量的长度

close #gfile

stro现在等于文件test.txt。

您可以通过

ffile = FreeFile

stro = “ New line”&VbCrLf&stro‘添加“ New line”并插入返回和换行符,后跟原始文本

open c for binary as #ffile

kill c

put #ffile,1,stro’如果文件越来越小,put将覆盖先前的信息,您应该先杀死该文件,然后将其删除。关闭#ffile

该文件中现在包含“新行”

我通过put函数发现的一件事是如果您尝试放置诸如

put #ffile,133,chr(1)之类的字符,则会出错,这将用字符1或十六进制0x01替换字节133处的字符

我在一个程序中执行此操作时发现我实际上添加了十六进制0x08000100000001,这非常奇怪。我通过将文件加载到变量并执行字符串mods来解决了这个问题

i = 133

stro = mid(stro,1,i-1)&chr(1)&mid(stro,i + 1,len (stro)-i)

然后

输入#ffile,1,stro

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    88

    文章

    3591

    浏览量

    93592
  • VB6
    VB6
    +关注

    关注

    0

    文章

    6

    浏览量

    10868
收藏 人收藏

    评论

    相关推荐

    ADS1255 Vb电压异常的原因?怎么解决?

    测试ADS1255的时候,VIN接地,发现的问题是AIN0与AIN1之间的电压,也就是Vb电压异常,条件是基准2.5V,buffer关闭,速率1000sps,其它是默认参数, G=1时候
    发表于 11-20 08:36

    RTL8309NI-VB-CG VB含义

    RTL8309NI-VB-CG尾缀VB是什么意思?跟没带的有什么区别?哪位大神知道?
    发表于 11-18 19:04

    国产可编程硅振机器人伺服系统的应用,替换SiTime

    国产可编程硅振机器人伺服系统的应用,替换SiTime
    的头像 发表于 09-26 10:09 202次阅读
    国产可<b class='flag-5'>编程</b>硅振<b class='flag-5'>在</b>机器人伺服系统<b class='flag-5'>中</b>的应用,替换SiTime

    简述socket编程的常用函数

    Socket编程是一种基于TCP/IP协议的网络编程技术,它允许应用程序通过网络进行通信。Socket编程,有许多常用的函数,它们用于创
    的头像 发表于 08-16 10:49 294次阅读

    OPA657 Vb电压的选取,过大的Vb电压是否会击穿运放,以及是否需要额外的保护?

    OPA657应用,我的光电探测器是一个APD,需要50V的很大的Vb,这样大的一个偏置电压,是否会对后级产生影响,是不是需要额外的隔直或者保护。
    发表于 07-29 06:41

    基于VB6.0 实现 CAN信号收发 Demo

    VB6.0、libTSCAN1关于Demo工程简要描述:VB6.0编程语言调用libTSCAN接口实现硬件扫描、连接、CAN报文单帧发送、周期发送、报文接收,报文过滤。典
    的头像 发表于 07-27 08:21 657次阅读
    基于<b class='flag-5'>VB</b>6.0 实现 CAN信号收发 Demo

    旋转编码器PLC怎么编程

    工业自动化领域,旋转编码器与可编程逻辑控制器(PLC)的结合应用极为广泛。旋转编码器通过提供精确的旋转角度或位置信息,为PLC提供反馈信号,进而实现对设备的精确控制。本文将详细介绍旋转编码器PLC
    的头像 发表于 06-17 09:24 1420次阅读

    国产可编程振荡器医疗CT机的应用,替代SITime

    国产可编程振荡器医疗CT机的应用,替代SITime
    的头像 发表于 06-12 10:06 456次阅读
    国产可<b class='flag-5'>编程</b>振荡器<b class='flag-5'>在</b>医疗CT机<b class='flag-5'>中</b>的应用,替代SITime

    编程纯硅振荡器液晶拼接屏的应用,替代SiTime

    编程纯硅振荡器液晶拼接屏的应用,替代SiTime
    的头像 发表于 05-29 09:49 419次阅读
    可<b class='flag-5'>编程</b>纯硅振荡器<b class='flag-5'>在</b>液晶拼接屏<b class='flag-5'>中</b>的应用,替代SiTime

    国产可编程纯硅振荡器医疗超声影像的应用

    国产可编程纯硅振荡器医疗超声影像的应用
    的头像 发表于 05-14 10:00 486次阅读
    国产可<b class='flag-5'>编程</b>纯硅振荡器<b class='flag-5'>在</b>医疗超声影像<b class='flag-5'>中</b>的应用

    请问h7b0VB误烧录750VB程序后如何修复?

    如题, h7b0VB芯片,用MDK,不小心下错了h750的程序,而且是用了2M Flash的程序。 现在h7b0vb在下程序的时候卡在erase过程。 通过DFU,能识别到芯片,但是读不到FLASH
    发表于 03-29 09:11

    MAVLink应用编程编程原理和思路

    嵌入式开发过程,UART、 CAN、 USB等通信基本离不开通信协议。 下面给大家分享一种通信协议(MAVLink)应用编程编程
    发表于 03-08 12:45 793次阅读
    MAVLink<b class='flag-5'>在</b>应用<b class='flag-5'>编程</b><b class='flag-5'>中</b>的<b class='flag-5'>编程</b>原理和思路

    vb语言和c++语言的区别

    VB语言和C++语言是两种不同的编程语言,虽然它们都属于高级编程语言,但在设计和用途上有很多区别。下面将详细比较VB语言和C++语言的区别。 设计目标:
    的头像 发表于 02-01 10:20 2051次阅读

    KEIL中使用C对M0编程怎样对函数指定地址呢?

    KEIL中使用C对M0编程怎样对函数指定地址呢?对变量和常数的定位没问题,就是函数总搞不好。谢谢。
    发表于 01-18 07:14

    AD7616的通道无法转换怎么解决?

    (1)使用ad7616时,我激活了序列器功能,其他的通道对都正常,只有VA6VB6以及VA7和VB7一直输出0附近的值,我的硬件电路
    发表于 12-05 08:10