记事本的替换功能!

SqlDataAdapter 2003-09-14 02:12:56
记事本的替换功能如何做啊,做了很久也做得不好,总有点BUG.
大家帮忙想个好算法.
...全文
895 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
SqlDataAdapter 2003-09-14
  • 打赏
  • 举报
回复
还有一个就是,把替换后的文本再赋给了原来的文本后,就不能再用撤消的功能了,但是windows的记事本是可以的.上面的兄弟别误解小弟,我不是坐在这里等别人帮我解决的人,我已经想了两天了,不断地调试.没办法才请教大家.
SqlDataAdapter 2003-09-14
  • 打赏
  • 举报
回复
我上面的代码的Bug就是如果在按下"替换"按钮前没有选定文本的内容就正常,当选择了文本后再按下按钮就把所选的文本替换了,而不是查出来后再替换.
menuvb 2003-09-14
  • 打赏
  • 举报
回复
Public Function Replace(
ByVal Expression As String,
ByVal Find As String,
ByVal Replacement As String,
Optional ByVal Start As Integer = 1,
Optional ByVal Count As Integer = -1,
Optional ByVal Compare As CompareMethod = CompareMethod.Binary
) As String
参数
Expression
必选。字符串表达式,包含要替换的子字符串。
Find
必选。搜索的子字符串。
Replacement
必选。替换用的子字符串。
Start
可选。Expression 中开始搜索子字符串的位置。如果省略,则假定为 1。
Count
可选。执行子字符串替换的数目。如果省略,则默认值是 –1,表示进行所有可能的替换。
Compare
可选。数值,指示对子字符串求值时使用的比较类型。具体的值请参阅“设置”。
设置
Compare 参数可以具有下列值:

常数 说明
Binary 执行二进制比较
Text 执行文本比较

返回值
Replace 返回下列值:

如果 Replace 返回
Expression 为零长度 零长度字符串 ("")
Find 是零长度 Expression 的副本
Replace 是零长度 没有 Find 匹配项的 Expression 副本
Start 的长度大于 expression 零长度字符串
Count 是 0 Expression 的副本

异常/错误
异常类型 错误号 条件
ArgumentException 5 Count < -1 或 Start <= 0。

备注
Replace 函数的返回值是一个开始于 Start 指定的位置、结束于 Expression 字符串结尾的字符串,并且包含根据 Find 和 Replace 值的指定所做的替换。

示例
本例说明 Replace 函数。

Dim myString As String = "Shopping List"
Dim aString As String
' Returns "Shipping List".
aString = Replace(myString, "o", "i")
请参见
Filter 函数



--------------------------------------------------------------------------------

将文档反馈发送给 Microsoft

© 2002 Microsoft Corporation。保留所有权利。
menuvb 2003-09-14
  • 打赏
  • 举报
回复
难道还要告诉你哪里到哪里坐什么车哪?自己查找一下就明白了.
SqlDataAdapter 2003-09-14
  • 打赏
  • 举报
回复
从Form1 中调用ReplaceForm,按 ReplaceForm的"替换"按钮,代码如下:
Private Sub BtReplace_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtReplace.Click
If ob_form.RTextBox.SelectionLength > 0 Then
ob_form.RTextBox.Text = Replace(ob_form.RTextBox.Text, ob_form.RTextBox.SelectedText, TxtReplace.Text, 1, 1)
End If
If CheckBox1.Checked = True Then '判断是否区分大小写
k = InStr(Mid(ob_form.RTextBox.Text, i), TxtFind.Text, CompareMethod.Binary)
Me.Find()
Else
k = InStr(Mid(ob_form.RTextBox.Text, i), TxtFind.Text, CompareMethod.Text)
Me.Find()
End If
End Sub
这是我已经写了的代码.
其中
public ob_form as new form1 '已定义了一个全局对象
dim i=1,k as integer
SqlDataAdapter 2003-09-14
  • 打赏
  • 举报
回复
上面两位兄弟的回答就好像:"请问怎样去北京啊?,搭车去!!".
ffyd2000 2003-09-14
  • 打赏
  • 举报
回复
Replace()是个函数吗?
cnhgj 2003-09-14
  • 打赏
  • 举报
回复
Replace()

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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