为什么有点函数一定要返回值的?

ymlazy14 2004-04-10 10:56:43
为什么有点函数一定要返回值的? 注意下面的代码不能通过, 只要把错误的那一行换为注释的文字就可以了. 请问为什么函数一定要返回一个值?

Function sReplace(SearchLine As String, SearchFor As String, ReplaceWith As String)
Dim vSearchLine As String, found As Integer

found = InStr(SearchLine, SearchFor): vSearchLine = SearchLine
If found <> 0 Then
vSearchLine = ""
If found > 1 Then vSearchLine = Left(SearchLine, found - 1)
vSearchLine = vSearchLine + ReplaceWith
If found + Len(SearchFor) - 1 < Len(SearchLine) Then _
vSearchLine = vSearchLine + Right$(SearchLine, Len(SearchLine) - found - Len(SearchFor) + 1)
End If
sReplace = vSearchLine
End Function



Private Sub Form_Load()
Dim result As String
sReplace("blackman", "man", "girl") 'result = sReplace("blackman", "man", "girl")

End Sub
...全文
120 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxqlogo0 2004-04-10
  • 打赏
  • 举报
回复
函数可以没有返回值啊
那是你的语法错误

sReplace("blackman", "man", "girl")

换成:
sReplace "blackman", "man", "girl"

记住不要返回值的时候不能用扩号
华芸智森 2004-04-10
  • 打赏
  • 举报
回复

sReplace("blackman", "man", "girl") 'result = sReplace("blackman", "man", "girl")

改成

CALL sReplace("blackman", "man", "girl") 'result = sReplace("blackman", "man", "girl")
programfish 2004-04-10
  • 打赏
  • 举报
回复
不要返回值的设为
sub sReplace(SearchLine As String, SearchFor As String, ReplaceWith As String)


XXX

end sub
过程就行了,不要写成函数
cso 2004-04-10
  • 打赏
  • 举报
回复
函数不一定要有返回值的,但是过程没有返回值

7,763

社区成员

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

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