| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 593 人关注过本帖
标题:一个查找函数 ,不能实现其功能,大家指教
只看楼主 加入收藏
blackstine
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-4-10
收藏
 问题点数:0 回复次数:8 
一个查找函数 ,不能实现其功能,大家指教

我的程序里的一个查找函数怎么不能实现其功能?
这是一个 查找 在回车符 后 的一个字符是字母的话,就返回 这个回车符在字符位置(在字符串中的排位)与形参的差
但是总是不能实现 请大家再帮帮忙

可能就是 函数中那两个 if 语句 有问题

Dim StrAll As String
Private Sub Form_click()
StrAll = "abcd" & Chr(13) & "123" & Chr(13) & "efgh"
Print FindWord(2) ' 调用函数 把形参 赋为 2
End Sub

Function FindWord(I As Long) As Long
Dim U As Long, AscA As Integer
FindWord = 0
For U = I To N
If Chr(13) = Mid(StrAll, U, 1) Then ' 找到回车的话 要是在其下一个字符是字母的话 返回函数值
AscA = Asc(Mid(StrAll, U + 1, 1)) '把回车 后面的字符 的ASCII码赋给 AscA
If AscA >= 97 And AscA <= 122 Or AscA >= 65 And AscA <= 90 Then
FindWord = U - I
Exit For
End If
End If
Next U
If FindWord = 0 Then MsgBox "查找完毕", vbOKOnly, "提示" '查找完毕
End Function



另外一个问题: 如何打开一个文件在 它的后面 添加 内容

先谢了!!!

[此贴子已经被作者于2006-10-17 21:29:37编辑过]

搜索更多相关主题的帖子: 函数 指教 
2006-10-17 21:13
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 

怎么感觉这么别扭...回车之后的一个字符?...那你不如直接到每行的第一个字符...


我的msn: myfend@
2006-10-17 21:19
blackstine
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-4-10
收藏
得分:0 

是呀,但是我不知道找每一行的开头 只有用这种 死办法
请多多指教


##今日不签名·#¥!!!
2006-10-17 21:23
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
[CODE] Dim strall As String
Dim a
strall = "abcd" & vbCrLf & "123" & vbCrLf & "efgh"
a = Split(strall, vbCrLf, -1)
Dim minindex As Integer
Dim maxindex As Integer
Dim char As String
minindex = LBound(a)
maxindex = UBound(a)
Dim i As Integer
For i = minindex + 1 To maxindex
char = Left(a(i), 1)
char = UCase(char)
If (char >= "A" And char <= "Z") Then
Print a(i)
End If
Next[/CODE]

我的msn: myfend@
2006-10-17 21:33
blackstine
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-4-10
收藏
得分:0 
a = Split(strall, vbCrLf, -1) spliit 中的-1 我不知道是什么意思 能解释一下吗

##今日不签名·#¥!!!
2006-10-17 21:41
blackstine
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2006-4-10
收藏
得分:0 

指出我的那个 代码的错误的地方 ,让偶看看 到底死在哪个地方 下次 就不要犯同样的错误了

[此贴子已经被作者于2006-10-17 22:03:47编辑过]


##今日不签名·#¥!!!
2006-10-17 22:03
chenwind17
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2006-9-25
收藏
得分:0 

回车是Chr(13)+Chr(10)

2006-10-18 08:42
chenwind17
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2006-9-25
收藏
得分:0 

a = Split(strall, vbCrLf, -1)
limit:可选项。要返回的子字符串数;默认值为 -1,表示返回所有子字符串。
purana的方法中将a = Split(strall, vbCrLf, -1)改为a = Split(strall, chr(13)+chr(10))可以实现你的功能,方法比搂主方法简单,此外判断字母方法值得学习

[此贴子已经被作者于2006-10-18 9:05:40编辑过]

2006-10-18 09:04
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
以下是引用blackstine在2006-10-17 22:03:27的发言:

指出我的那个 代码的错误的地方 ,让偶看看 到底死在哪个地方 下次 就不要犯同样的错误了


...我不清楚你的方法是什么..我没有认真去看你的代码...刚看你的描述...感觉你的思路有些错...何必去找每个回车符之后的字符呢...你只要找每行的第一个字符就可以....


我的msn: myfend@
2006-10-18 13:19
快速回复:一个查找函数 ,不能实现其功能,大家指教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032791 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved