关于文本操作

a11s 2003-07-05 11:02:09
如何像记事本一样实现向上查找(替换)功能?
向下查找还可以,但是如何实现向上查找?
没有思路
(我用Instr实现向下查找)
要代码,发送到rzsonic@163.com (RAR压缩)
附带您在CSDN上的大名,解决立即给分
...全文
39 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jordi2014 2003-07-08
  • 打赏
  • 举报
回复
up
a11s 2003-07-07
  • 打赏
  • 举报
回复
自己UP一下
xz8000 2003-07-06
  • 打赏
  • 举报
回复
InstrRev
a11s 2003-07-06
  • 打赏
  • 举报
回复
To goodname008(卢培培,想学好VB)
谢谢您的提醒,我怎么把VB自身提供的函数忘了呢
To rainstormmaster(rainstormmaster)
您的的办法果然管用。出现了系统查找替换对话框,但是如何让他跟Form1.Text1关联起来?
就像NotePad.Exe
还有,这三个是干什么用的?
lCustData As Long
lpfnHook As Long
lpTemplateName As String
rainstormmaster 2003-07-06
  • 打赏
  • 举报
回复
调用系统的查找替换对话框,如果坚持自己写的话可以用InstrRev试试
Private Type FINDREPLACE
lStructSize As Long
hwndOwner As Long
hInstance As Long
flags As Long
lpstrFindWhat As String
lpstrReplaceWith As String
wFindWhatLen As Integer
wReplaceWithLen As Integer
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type

'调用 Common Dialog DLL
Private Declare Function FindText Lib "comdlg32.dll" Alias "FindTextA" _
(pFindreplace As FINDREPLACE) As Long
Private Declare Function ReplaceText Lib "comdlg32.dll" Alias "ReplaceTextA" _
(pFindreplace As FINDREPLACE) As Long
Dim frText As FINDREPLACE



Private Sub cmdFind_Click()
FindText frText '调用查找对话框
End Sub
Private Sub cmdReplace_Click()
ReplaceText frText '调用替换对话框
End Sub
Private Sub form_Load()
With frText
.lpstrReplaceWith = "Replace Text"
.lpstrFindWhat = "Find Text"
.wFindWhatLen = 9
.wReplaceWithLen = 12
.hInstance = App.hInstance
.hwndOwner = Me.hWnd
.lStructSize = LenB(frText)
End With
End Sub
goodname008 2003-07-05
  • 打赏
  • 举报
回复
下面这个函数也许可以用来向上查找

InStrRev函数


描述

返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。

语法

InstrRev(string1, string2[, start[, compare]])

InstrRev函数语法有如下几部分:

部分 描述
string1 必需的。要执行搜索的字符串表达式。
string2 必需的。要搜索的字符串表达式。
start 可选的。数值表达式,设置每次搜索的开始位置。如果忽略,则使用–1,它表示从上一个字符位置开始搜索。如果start包含
Null,则产生一个错误。

compare 可选的。数字值,指出在判断子字符串时所使用的比较方法。如果忽略,则执行二进制比较。关于其值,请参阅“设置值”部分。


设置值

compare参数值如下:

常数 值 描述
vbUseCompareOption –1 用Option Compare语句的设置值来执行比较。
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文字比较。
vbDatabaseCompare 2 只用于Microsoft Access。基于您的数据库信息执行比较。


返回值

InStrRev返回值如下:

如果 InStrRev返回
string1长度为零。 0
string1为Null。 Null
string2长度为零 Start
string2为Null Null
string2没有找到。 0
string2在string1中找到。 找到匹配字符串的位置。
start > Len(string2) 0


说明

请注意,InstrRev函数的语法和Instr函数的语法不相同。

7,763

社区成员

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

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