查找的问题

ccbbcc 2020-02-24 04:18:42
加精

我想实现上述功能,点击查找,弹出查找对话框,输入查找内容,点击查找按钮(这几步我都会),下面不会
第一个含有查找内容的一行显示为蓝色,再次点击查找按钮,第二个含有查找内容的一行显示为蓝色。
主要是查找算法不太会。
请高手指教,谢谢!
...全文
567 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2020-02-26
  • 打赏
  • 举报
回复
引用 5 楼 ccbbcc 的回复:
非常感谢!不过有个错误: msgbox("已经到达底部,是否从头开始查找", "询问", vbyesno) 这个要改成 msgbox("已经到达底部,是否从头开始查找", vbyesno ,"询问")
嗯,手写的,你明白意思就可以
ccbbcc 2020-02-26
  • 打赏
  • 举报
回复
非常感谢!不过有个错误:
msgbox("已经到达底部,是否从头开始查找", "询问", vbyesno)
这个要改成
msgbox("已经到达底部,是否从头开始查找", vbyesno ,"询问")
threenewbee 2020-02-25
  • 打赏
  • 举报
回复
完整代码下载:https://download.csdn.net/download/caozhy/12190310

Option Explicit

Dim WithEvents findDialog As findDialog

Private Sub Command1_Click()
List1.AddItem Text1
End Sub

Private Sub Command2_Click()
If findDialog Is Nothing Then Set findDialog = New findDialog
findDialog.Show , Me
End Sub

Private Sub findDialog_OnFind(ByVal s As String)
Dim curr As Integer
Dim i As Integer
curr = List1.ListIndex
For i = curr + 1 To List1.ListCount - 1
If InStr(1, List1.List(i), s) > 0 Then
List1.ListIndex = i
Exit Sub
End If
Next
For i = 0 To curr
If InStr(1, List1.List(i), s) > 0 Then
List1.ListIndex = i
Exit Sub
End If
Next
MsgBox "没找到"
End Sub




Option Explicit

Public Event OnFind(ByVal s As String)

Private Sub Command1_Click()
RaiseEvent OnFind(Text1.Text)
Me.SetFocus
End Sub



threenewbee 2020-02-25
  • 打赏
  • 举报
回复

Private Sub findDialog_OnFind(ByVal s As String)
Dim curr As Integer
Dim i As Integer
curr = List1.ListIndex
For i = curr + 1 To List1.ListCount - 1
If InStr(1, List1.List(i), s) > 0 Then
List1.ListIndex = i
Exit Sub
End If
Next
if msgbox("已经到达底部,是否从头开始查找", "询问", vbyesno) = vbno then exit sub
For i = 0 To curr
If InStr(1, List1.List(i), s) > 0 Then
List1.ListIndex = i
Exit Sub
End If
Next
MsgBox "没找到"
End Sub
ccbbcc 2020-02-25
  • 打赏
  • 举报
回复
谢谢!你这个代码很好。我比较满意。
不过,你这个代码如果能找到,会不停的查找。
能不能那样,从头查到尾之后,如果有,在到达尾部时提示已到文件末尾
内容概要:本文系统研究了AGV(自动导引车)与AMR(自主移动机器人)在运动规划与导航领域的多种核心算法,涵盖Dijkstra、A*、Theta*、JPS、D* Lite、LPA*、RRT系列(RRT、RRT-Connect、启发式RRT)、蚁群算法、沃罗诺伊图路径规划及PID控制等典型方法,并基于Matlab平台实现了算法仿真与对比分析。研究聚焦于复杂工业环境下的机器人自主导航问题,深入探讨各类算法在路径最优性、计算效率、动态避障能力与环境适应性等方面的性能差异,旨在为智能物流、智能制造及自动化仓储等应用场景提供高效可靠的导航解决方案。同时,资源复现了IEEE顶刊研究成果,增强了学术参考价值。; 适合人群:具备一定Matlab编程基础与机器人学基础知识,从事机器人路径规划、智能控制、自动化系统开发等相关方向的科研人员、工程技术人员及高校研究生及以上层次的学习者。; 使用场景及目标:①应用于工厂、仓库等实际场景中AGV/AMR的路径规划与自主导航系统设计与优化;②作为科研项目、学位论文或算法竞赛的技术支撑,用于多算法性能对比、仿真验证与方案选型;③深入理解经典与现代路径规划算法的原理、实现机制及其在动态环境中的适应性演化。; 阅读建议:建议结合提供的Matlab代码进行动手实践,重点开展不同算法在同一仿真环境下的路径生成效果与运行效率对比实验,关注算法在动态障碍物规避和实时重规划方面的能力表现,同时可进一步拓展至多机器人协同导航、复杂地形适应等高级研究方向进行深化探索。
内容概要:本文系统对比分析了机器人避障领域中的两种重要方法——控制障碍函数(Control Barrier Function, CBF)与人工势场法(Artificial Potential Field, APF),并提供了基于Matlab的仿真实现代码。详细阐述了两种方法的理论基础、数学建模过程及其在路径规划中的应用特性:APF通过构建引力场与斥力场引导机器人运动,算法直观且在简单环境中响应迅速,但存在局部极小值和目标不可达等问题;CBF则基于微分几何与控制屏障理论,通过构造安全约束函数确保系统始终满足安全性条件,具有严格的数学保障和更强的稳定性。文中通过多个典型场景的仿真实验,对比了两者在避障能力、路径平滑性、实时性及复杂环境适应性方面的表现,验证了CBF在安全性与鲁棒性上的显著优势,同时也指出了APF在计算效率和实现简易性方面的优点。; 适合人群:具备一定机器人学、自动控制理论、非线性系统分析或智能移动机器人开发背景的研究生、科研人员及工程技术人员。; 使用场景及目标:①为AGV、AMR、无人机、水下机器人等智能载体设计高性能避障策略;②深入理解CBF与APF的数学原理与实现机制,掌握其在实际系统中的应用差异;③通过Matlab代码复现与实验对比,为特定应用场景选择最优避障算法,并为进一步研究动态避障、多机器人协同避障等高级课题奠定基础。; 阅读建议:建议读者结合所提供的Matlab代码进行动手实践,重点理解两种算法的核心函数设计、参数调优策略及仿真结果分析方法,鼓励在现有基础上扩展至动态障碍物、多机器人系统或与其他规划算法(如RRT*)融合的混合架构中,以深化对现代避障技术的理解与创新能力。

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧