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

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

    关注

    90

    文章

    3723

    浏览量

    97427
  • VB6
    VB6
    +关注

    关注

    0

    文章

    6

    浏览量

    11102
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RT685 初始编程后卡在 BootROM ,什么原因导致的?如何解决?

    我在对RT685进行编程时遇到了一些问题。进行初始编程后,RT685无法启动,并一直卡滞BootROM状态。出于生产方面的考虑,我们选择使用SEGGERFlasher Pro而非b
    发表于 04-16 07:06

    TPS65177/A:全 I²C 可编程 6 通道 LCD 偏置 IC 的详细解析

    TPS65177/A:全 I²C 可编程 6 通道 LCD 偏置 IC 的详细解析 电子设备的设计,LCD 面板的供电需求是一个关键环节。TPS65177/A 作为一款全 I²C
    的头像 发表于 03-01 09:55 957次阅读

    Python借助NVIDIA CUDA Tile简化GPU编程

    NVIDIA CUDA 13.1 版本新增了基于 Tile 的GPU 编程模式。它是自 CUDA 发明以来 GPU 编程最核心的更新之一。借助 GPU tile kernels,可以用比 SIMT
    的头像 发表于 12-13 10:12 1385次阅读
    <b class='flag-5'>在</b>Python<b class='flag-5'>中</b>借助NVIDIA CUDA Tile简化GPU<b class='flag-5'>编程</b>

    使用J-Flash来编程CW32 MCU

    MCU。 5.加载固件: J-Flash,打开你想要编程到CW32 MCU的固件文件(通常是.hex、.bin或.srec格式)。 6
    发表于 11-25 07:00

    labview怎样通过属性来获取VI控件是否是接线端?

    labview怎样通过属性来获取VI控件是否是接线端。
    发表于 10-17 17:14

    rt-thread系统,使用stm32,怎样设置接收中断字节数?

    rt-thread系统,使用stm32,怎样设置接收中断字节数
    发表于 09-15 06:17

    使用 ICP 编程工具编程时,用户启用后是否需要在程序初始化看门狗?

    使用ICP编程工具进行编程时,用户配置位设置启用“看门狗”选项后,是否需要在程序初始化看门狗?用户是否需要清除超时标志?
    发表于 08-28 06:48

    HF87611_VB1/HF87611Q_VB1:全能型多通道USB HiFi音频解码器固件技术解析

    引言随着音频应用场景的多样化,对音频处理设备的输入输出灵活性要求越来越高。本文将介绍一款基于XMOSXU316技术的全能型多通道USBHiFi音频解码器固件——HF87611_VB
    的头像 发表于 07-24 10:00 840次阅读
    HF87611_<b class='flag-5'>VB</b>1/HF87611Q_<b class='flag-5'>VB</b>1:全能型多通道USB HiFi音频解码器固件技术解析

    HF86611_VB1/HF86611Q_VB1:多通道USB HiFi音频解码器固件技术解析

    引言随着音频技术的不断发展,多通道音频处理和多接口兼容性成为现代音频设备的重要需求。本文将介绍一款基于XMOSXU316技术的多通道USBHiFi音频解码器固件——HF86611_VB
    的头像 发表于 07-23 11:40 1198次阅读
    HF86611_<b class='flag-5'>VB</b>1/HF86611Q_<b class='flag-5'>VB</b>1:多通道USB HiFi音频解码器固件技术解析

    HF83311_VB1/HF83311Q_VB1:高性能USB HiFi音频解码器固件技术解析

    引言随着高品质音频体验需求的不断增长,音频解码器固件的性能和功能成为决定音频设备品质的关键因素。本文将介绍一款基于XMOSXU316技术的高性能USBHiFi音频解码器固件——HF83311_VB
    的头像 发表于 07-23 11:16 1307次阅读
    HF83311_<b class='flag-5'>VB</b>1/HF83311Q_<b class='flag-5'>VB</b>1:高性能USB HiFi音频解码器固件技术解析

    K230D zero运行AI demo报错RuntimeError: MediaManager, vb init failed(-1610317812),怎么解决?

    K230D zero运行AI demo报错RuntimeError: MediaManager, vb init failed(-1610317812),重启重新刷固件都没有用
    发表于 06-16 07:04

    Linux,用新设置对CY7C65215重新编程后,如何启用新设置?

    Linux 系统下,如何 1.用 Linux 编程新设置配置 CY7C65215? 如\"USB 串口配置实用程序\" 或命令行 fwDownload.exe。 2.
    发表于 05-26 08:23

    捷杰传感VB24H — 24 小时在线的工业设备 “听诊器”

    引言火电厂、化工厂、钢铁厂等工业场景,大型风机如同“工业心脏”,而电机轴承则是这颗心脏跳动的核心传动部件。然而,微米级的振动偏差就可能导致设备效率骤降甚至损毁,传统监测手段却难以捕捉这些细微隐患
    的头像 发表于 05-14 17:46 804次阅读
    捷杰传感<b class='flag-5'>VB</b>24H — 24 小时在线的工业设备 “听诊器”

    [Actor]程序框图编程时,如何操作消息和方法对应的VI

    actor应用的关键: 当在程序框图编程时,核心是针对“消息”vi 进行操作,并不操作消息对应的方法vi(具体要实现的功能)。 调用的消息vi时,后台自动调用对应方法vi。 相当于队列状态机,队列元素的进、出操作 与 该元素
    发表于 05-13 18:10

    爱普生可编程晶振SG-9101CA医疗设备的应用

    医疗设备领域,从精密的诊断仪器到便捷的家用医疗设备,精准的时间控制和稳定的时钟信号对于设备的正常运行至关重要。无论是诊断设备、治疗设备还是患者监护系统,任何微小的误差都可能影响医疗结果甚至危及患者
    的头像 发表于 04-30 14:44 878次阅读
    爱普生可<b class='flag-5'>编程</b>晶振SG-9101CA<b class='flag-5'>在</b>医疗设备<b class='flag-5'>中</b>的应用